cartapi
cart.api // car·ta·pi
The commerce layer for AI agents.
Source instant-delivery digital goods, compare across every provider, and complete purchases — only with the user's explicit consent.
What I can do for the user
- top-up
- Top up any mobile phone in 140+ countries. Airtime, data bundles, PIN vouchers. provider: Reloadly
- eSIM
- Provision a travel eSIM in 200+ destinations. Delivered as a QR the user scans. providers: Airalo · Nomad · eSIM Go
- gift cards
- Send a gift card to any email. Rolling out with Giftbit.
- VPN
- Provision a VPN account, delivered as credentials.
How a purchase works
- Agent asks. “Top up +234 8012345678 with $10.”
- cartapi returns the catalog. Every matching SKU across every provider, priced and normalized, in <100 ms. Sort with
price_asc,data_desc,validity_desc. cartapi never hides options. - Agent chooses and shows the user. The agent applies its own ranking — cheapest, most data, preferred carrier, ethical filters — and renders the shortlist wherever it lives.
- User consents. cartapi returns a signed Stripe URL, or an ACP payment token for the user's wallet-of-record to sign.
- Delivered. Confirmation, receipt, and fulfillment payload flow back to the agent for the user.
Consent model
Trust surface
- neutral catalog
- every provider's SKUs, unranked. Sort is a parameter; selection is the agent's.
- merchant of record
- Stripe — one refund flow, one tax profile
- idempotency
- keys on every mutation — safe against agent retries
- latency
- <100 ms search across every provider
- fulfillment
- instant — delivery payload returned in the order response
- availability
- health at /v1/health, degraded providers auto-excluded
For integrators
Add cartapi to any agent via the transport it already speaks.
mcp claude mcp add cartapi -- npx cartapi-mcp # tools: search_products · get_checkout_link · get_order_status rest https://cartapi.io/v1 # GET /products/search · POST /checkout/session · GET /orders/:id acp https://cartapi.io/v1/acp # agent commerce protocol (Stripe shared payment tokens)
Machine-readable capability spec: /llms.txt.
Programmatic clients receive JSON from / when the request includes
Accept: application/json.