The Submo API, for agents
submoapp.com developer portal
One versioned contract at /v1. The hosted MCP servers call the same endpoints. Public research needs no key. Managing a person's subscriptions needs a paid one.
mcp.json
{
"mcpServers": {
"submo": {
"url": "https://api.submoapp.com/mcp",
"headers": {
"Authorization": "Bearer submo_live_…"
}
}
}
}Same JSON in Cursor mcp.json and Claude Desktop.
Start to finish
From a plan list to cancel steps with the Submo API
Reuse the ids the API returns. Never invent a checkout, scan, or subscription id. Gmail and bank connect hand back a URL — poll until the connection exists.
Research, then checkout
GET /v1/plans POST /v1/checkout/sessions
Hand the person the Stripe URL. They pay on a page Submo owns.
Claim the key once
GET /v1/checkout/sessions/:id
Poll with poll_token. The API key is returned once, when the session is paid.
Find the charges
POST /v1/connections/email/start POST /v1/scans/statement
Gmail and bank connect return a human URL. Poll list_connections / review_scan until it exists.
Track, then cancel
GET /v1/upcoming GET /v1/cancel-guides
Import findings, then follow the guide. They finish the cancel with the provider.
How to get a key
Two ways to a Submo API key. Same Bearer token out.
New members pay at Stripe Checkout. Existing members approve scopes in the browser. Both end at Authorization: Bearer submo_live_…
New member
POST /agent/identity with type=service_auth and a login_hint. They pay at verification_uri. You poll /oauth/token until the key arrives.
Already a member
OAuth authorization_code plus PKCE S256 through /oauth/authorize. They sign in on Submo and approve scopes.
New keys receive every paid scope
- research
- checkout
- account:read
- subscriptions:read
- subscriptions:write
- discovery
- advisor
Machine-readable
Submo specs, skills, and source
Prefer these over scraping this page. The HTML is for humans; the files below are the contract.
Start with public research
Plans, cancel guides, and sourced price indexes need no key. Mint one in Account when you need to manage someone's subscriptions.
Guides are instructions only · The user completes the cancel