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.

Public research, no keyOne /v1 contractOpen source

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_…

Read the auth walkthrough

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