Router for agents and automation

One route.
An API surface.

Give personal assistants, travel workflows, and mobility automations a safe way to compare every live product from connected Uber and Lyft accounts, fall back to Router estimates, and create official provider handoffs—without sharing rideshare credentials with the agent.

01

Scoped by default

Grant only the provider, quote, handoff, trip, or account access an integration needs.

02

Plaintext shown once

Clerk stores and verifies the credential, supports immediate revocation, and Router displays the secret only when it is created.

03

No silent purchase

Trip-write access can record Router state, but booking, live price review, payment, and cancellation stay with the provider and rider.

Quickstart

Authenticated in one header.

Create a key in your developer account, store it as a secret, and send it in the standard Bearer header. Keys are limited to 300 authenticated requests per hour. The API runs directly on Vercel, so server-side agents receive JSON responses instead of browser interstitials.

curl https://router.taxi/api/v1/me \
  -H "Authorization: Bearer $ROUTER_API_KEY" \
  -H "Accept: application/json"

REST API · v1

Small, explicit, useful.

https://router.taxi/api/v1
GET/health

Public service health and API version.

No scope
GET/me

Current account, key name, prefix, and granted scopes.

account:read
GET/providers

Supported providers, coverage labels, and capabilities.

providers:read
POST/compare

Resolve addresses or coordinates and return all live connected Uber/Lyft products, planning ranges, and handoffs. Send response_format: "compact" to group every tier once with agent presentation guidance; the default full response remains backward-compatible.

quotes:read
POST/handoffs

Build a provider-specific official link and route instructions.

handoffs:read
POST/trips

Create a durable trip from a resolvable route.

trips:write
GET/trips

List the account’s tracked trips and confirmation state.

trips:read
GET/trips/:id

Read a trip, provider attempts, and append-only events.

trips:read
POST/trips/:id/handoffs

Create an expiring tracked redirect and rider return URL.

trips:write
POST/trips/:id/outcome

Record an explicitly unverified rider or agent outcome.

trips:write

Remote MCP · Streamable HTTP

Native tools for agents.

Point server-side MCP clients at https://router.taxi/api/mcp and add your API key as a Bearer token on every request. If an integration form already specifies Bearer authentication, paste only the raw ak_… key, not the word Bearer. The branded https://router.taxi/api/mcp endpoint and https://router.taxi/mcp alias reach the same service after its DNS migration to Vercel. Router supports stateless JSON-RPC over Streamable HTTP.

  • list_providers
  • compare_rides
  • get_provider_handoff
  • get_router_account
  • create_trip
  • list_trips
  • get_trip
  • create_trip_handoff
  • record_trip_outcome

Compare results group every personalized Uber/Lyft product exactly once under its provider, retain product-specific deep links, and include compact presentation guidance for the agent. Planning fallbacks remain explicitly labeled as non-live.

Send Accept: application/json, text/event-stream and Content-Type: application/json. Modern clients send MCP-Protocol-Version: 2026-07-28, matching per-request params._meta, and the required Mcp-Method header. Tool calls also send Mcp-Name. Router supports server/discover and older initialize-based clients. No session ID is required.

Router keeps API-key validation, per-key rate limiting, abuse controls, and request logs enabled on both hostnames. Fixed-egress integrations may additionally use an edge IP allowlist.

{
  "mcpServers": {
    "router-taxi": {
      "type": "streamable-http",
      "url": "https://router.taxi/api/mcp",
      "headers": {
        "Authorization": "Bearer ${ROUTER_API_KEY}"
      }
    }
  }
}

Trust boundary

Comparison is automatic.
Purchase is not.

Router labels connected Uber/Lyft products as live provider prices and labels every modeled fallback as a Router estimate. API and MCP tools do not book, cancel, charge, or tip. Handoff output directs the rider to review final availability, price, and booking details in the provider.