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

Router for agents and automation
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.
Grant only the provider, quote, handoff, trip, or account access an integration needs.
Clerk stores and verifies the credential, supports immediate revocation, and Router displays the secret only when it is created.
Trip-write access can record Router state, but booking, live price review, payment, and cancellation stay with the provider and rider.
Quickstart
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
https://router.taxi/api/v1/healthPublic service health and API version.
No scope/meCurrent account, key name, prefix, and granted scopes.
account:read/providersSupported providers, coverage labels, and capabilities.
providers:read/compareResolve 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.
/handoffsBuild a provider-specific official link and route instructions.
handoffs:read/tripsCreate a durable trip from a resolvable route.
trips:write/tripsList the account’s tracked trips and confirmation state.
trips:read/trips/:idRead a trip, provider attempts, and append-only events.
trips:read/trips/:id/handoffsCreate an expiring tracked redirect and rider return URL.
trips:write/trips/:id/outcomeRecord an explicitly unverified rider or agent outcome.
trips:writeRemote MCP · Streamable HTTP
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_providerscompare_ridesget_provider_handoffget_router_accountcreate_triplist_tripsget_tripcreate_trip_handoffrecord_trip_outcomeCompare 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
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.