{
  "data": {
    "a": {
      "slug": "mercury",
      "name": "Mercury API",
      "vendor": "Mercury Technologies, Inc.",
      "vendorUrl": "https://mercury.com",
      "kind": "http-api",
      "category": "spend-management",
      "summary": "Mercury is a US business banking service with accounts, debit and credit cards, payments and invoicing. Its REST API reads transactions, issues virtual cards with spend limits and sends payments, and a hosted MCP server is in beta.",
      "url": "https://www.anchorterminal.com/tools/mercury",
      "markdownUrl": "https://www.anchorterminal.com/tools/mercury.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mercury.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mercury.json",
      "repo": "https://github.com/MercuryTechnologies/mercury-cli",
      "license": "Proprietary service under Mercury's Terms of Use. The Mercury CLI on GitHub is Apache-2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.mercury.com/api/v1",
      "packages": [
        {
          "registry": "go",
          "name": "github.com/MercuryTechnologies/mercury-cli"
        },
        {
          "registry": "go",
          "name": "github.com/MercuryTechnologies/mercury-go"
        }
      ],
      "auth": "mixed",
      "authNotes": "Access is self-serve for a Mercury customer. A user with permission creates an API token under Settings, Tokens, choosing read-only, read and write, or custom scopes. The token is sent as a Bearer header or as the basic-auth username, is shown once, can be revoked and is deleted after 45 days unused. Tokens with write scopes need an IP allowlist, except the `RequestSendMoney` scope, which queues payments for dashboard approval. The MCP server takes OAuth 2.0 with dynamic client registration and PKCE, where a person signs in and grants `read` and any of five write scopes. OAuth2 clients for integrations that serve other Mercury customers need Mercury's approval through a form.",
      "pricing": "freemium",
      "pricingNotes": "No separate API fee was found. A Mercury business account is $0 a month, Plus is $35 and Pro $350 on monthly billing ($29.90 and $299 billed annually). The pricing FAQ says mass payments on the API may incur fees and gives no amount, and mercury.com/api says 100 free ACH transfers a month come with every account. A free sandbox with self-serve signup lets an agent's owner start without a business account or a card. Production access needs an approved Mercury business account (checked 2026-10-08).",
      "priceSummary": "$35 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the embedded OpenAPI definitions, the API product page or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 35,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.mercury.com",
      "llmsTxt": "https://docs.mercury.com/llms.txt",
      "capabilities": [
        "spend.transactions",
        "spend.cards",
        "spend.expenses"
      ],
      "tags": [
        "hosted",
        "freemium",
        "api-key",
        "oauth",
        "mcp",
        "openapi",
        "llms-txt",
        "webhooks",
        "sandbox",
        "cli",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-08-12",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.8,
        "grade": "B",
        "agentReady": false,
        "rank": 293,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 64,
          "payments": 30,
          "reliability": 59,
          "schema": 72,
          "security": 82,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Custom tokens take per-endpoint scopes, write tokens need an IP allowlist, and payments can be queued for approval in the dashboard through `POST /account/{accountId}/request-send-money`. No rate limits, error catalogue or SLA were found in the reviewed documentation, the changelog carries no dates, and the MCP server is beta.",
        "bestFor": "A company that banks with Mercury and wants an agent to read balances and transactions, set notes and categories, upload receipts, issue virtual cards with spend limits and queue payments for human approval.",
        "strengths": [
          "Three token tiers (read-only, read and write, custom scopes), with an IP allowlist required for write scopes and unused permissions removed after 45 days",
          "`POST /account/{accountId}/request-send-money` always queues a payment for approval in the dashboard, and MCP payment tools can only create such requests",
          "`idempotencyKey` is required on send-money calls, and a repeat returns 409 with the original transaction",
          "A free sandbox at `https://api-sandbox.mercury.com/api/v1/` with self-serve signup and preloaded test data",
          "The MCP server uses OAuth 2.0 with dynamic client registration, PKCE S256 and a separate scope for each of its five write tools"
        ],
        "weaknesses": [
          "No rate limits with numbers and no 429 handling were found in the reviewed documentation",
          "Reference pages document only 400 and 404 errors with one-line descriptions, and no error body schema or code list was found",
          "The changelog lists ten entries with no dates, and no deprecation policy was found",
          "The MCP server is labelled beta and can't create recipients, issue or manage cards, or create invoices",
          "No SLA. The Terms of Use supply the services as is and cap liability at $1,000"
        ],
        "agentNotes": [
          "Ask for a Custom token with only the scopes the task needs. Scopes can't be edited later, and a token unused for 45 days is deleted.",
          "Without a fixed IP address, send payments through `POST /account/{accountId}/request-send-money`. Direct sends through `POST /account/{accountId}/transactions` need an allowlisted IP.",
          "Send a stored `idempotencyKey` with every payment. The same recipient, account, amount and method within 24 hours returns 400 even with a new key.",
          "Set `limit` on list calls. `GET /transactions` returns up to 1,000 rows by default.",
          "Test against `https://api-sandbox.mercury.com/api/v1/` with a sandbox token. Webhooks aren't available in the sandbox."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.8
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 64,
          "payments": 30,
          "reliability": 59,
          "schema": 72,
          "security": 82,
          "transparency": 42
        },
        "provenanceScore": 84
      },
      "connect": {
        "install": "curl -sSf https://cli.mercury.com/install.sh | sh",
        "http": "curl https://api.mercury.com/api/v1/accounts --header 'accept: application/json' --header \"Authorization: Bearer TOKEN\"",
        "claudeCode": "claude mcp add --transport http -s user mercury https://mcp.mercury.com/mcp"
      },
      "letme": {
        "capability": "https://letme.dev/spend.transactions",
        "tool": "https://letme.dev/mercury"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Mercury business account",
          "unit": "month",
          "usd": 0,
          "note": "API tokens are created in account settings. ACH, domestic wires and real-time payments are free per the pricing FAQ"
        },
        {
          "item": "Mercury Plus",
          "unit": "month",
          "usd": 35,
          "note": "$29.90 a month billed annually"
        },
        {
          "item": "Mercury Pro",
          "unit": "month",
          "usd": 350,
          "note": "$299 a month billed annually"
        }
      ],
      "provenance": {
        "legalEntity": "Mercury Technologies, Inc.",
        "domain": "mercury.com",
        "domainRegistered": "1990-11-30",
        "endpointOnVendorDomain": true,
        "terms": "https://mercury.com/legal/terms",
        "privacy": "https://mercury.com/legal/privacy",
        "statusPage": "https://status.mercury.com",
        "changelog": "https://docs.mercury.com/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Terms of Use (last updated 5 October 2026) name Mercury Technologies, Inc. and its affiliates and cover the site, the app and the services, including AI connections made through an API or connector in section 3.2. No separate API or developer agreement was found on the legal index.",
          "The privacy policy (effective 27 August 2026) names Mercury Technologies, Inc. and applies to Mercury's websites, mobile apps and financial products.",
          "Mercury states it is a fintech company and not an FDIC-insured bank. Accounts are held under separate agreements with Choice Financial Group and Column N.A., linked from mercury.com/legal.",
          "The API answers at api.mercury.com, the Vault API at vault-api.mercury.com, the sandbox at api-sandbox.mercury.com and the MCP server at mcp.mercury.com, all mercury.com subdomains.",
          "mercury.com/.well-known/security.txt returns 404. The security page sends vulnerability reports to security@mercury.com.",
          "RDAP for mercury.com gives a registration date of 1990-11-30."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mercury.json",
      "live": {
        "slug": "mercury",
        "probe": {
          "target": "https://api.mercury.com/api/v1",
          "method": "get",
          "lastAt": "2026-10-08T21:53:27.180155269Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 302,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 301,
          "p95ms24h": 359,
          "samples24h": 28,
          "samples30d": 28,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 28,
              "ok": 28
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.mercury.com",
          "indicator": "minor",
          "summary": "Partial System Degradation",
          "checkedAt": "2026-10-08T21:58:01.86356001Z"
        },
        "updatedAt": "2026-10-08T21:58:01.86356001Z"
      }
    },
    "answer": "Mercury API scores 63.8 (B) on agent readiness against Ramp's 57.3 (C), and leads in 4 of 7 scored categories. Ramp leads on schema \u0026 documentation, maintenance \u0026 community and transparency \u0026 trust.",
    "b": {
      "slug": "ramp",
      "name": "Ramp",
      "vendor": "Ramp Business Corporation",
      "vendorUrl": "https://ramp.com",
      "kind": "http-api",
      "category": "spend-management",
      "summary": "Ramp is a finance platform with company cards, expense management, bill pay, procurement and travel. Its Developer API reads and writes transactions, receipts, funds, bills and purchase orders. A hosted MCP server and CLI work with the signed-in user's permissions.",
      "url": "https://www.anchorterminal.com/tools/ramp",
      "markdownUrl": "https://www.anchorterminal.com/tools/ramp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/ramp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/ramp.json",
      "repo": "https://github.com/ramp-public/ramp-cli",
      "license": "Proprietary service under the Ramp Platform Agreement and the API Agreement. The ramp-cli repository is MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.ramp.com",
      "packages": [],
      "auth": "oauth",
      "authNotes": "Access is self-serve for a Ramp customer. An admin creates an app at Company \u003e Developer, accepts the terms, and picks grant types and scopes. Client credentials tokens are requested from `/developer/v1/token` with HTTP Basic auth, last 10 days and act with the app creator's permissions. The authorisation code grant is for apps acting for other businesses, with one-hour access tokens by default, optional refresh tokens, and consent limited to Admin and Business Owner users. Scopes follow `resource:read` and `resource:write`, and `cards:read_vault` needs a production review by Ramp. The MCP server and CLI use OAuth and work with the signed-in user's permissions, and custom MCP clients need their redirect URI allowlisted by Ramp.",
      "pricing": "freemium",
      "pricingNotes": "No separate API fee is published. ramp.com/pricing lists Free at $0 per user per month, Plus at $15 per user per month plus a platform fee by team size, and Enterprise on request, with a 30-day Plus trial. The OpenAPI spec marks 51 of 260 operations as needing Plus. Access needs an approved Ramp business account, so an agent can't start without one. A sandbox at demo-api.ramp.com is available on request through a form. The API Agreement reserves the right to charge API fees (checked 2026-10-08).",
      "priceSummary": "$15 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "Ramp's own API isn't paid for by x402, MPP or L402. Ramp lets a connected agent pay other sellers by x402 from a funded wallet, or by Stripe MPP, per the agentic payments guide (https://docs.ramp.com/llms-guides/agent-payments.txt, checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 53,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.ramp.com",
      "llmsTxt": "https://docs.ramp.com/llms.txt",
      "openapi": "https://docs.ramp.com/openapi/developer-api.json",
      "capabilities": [
        "spend.transactions",
        "spend.expenses",
        "spend.cards",
        "spend.bills",
        "spend.procurement"
      ],
      "tags": [
        "hosted",
        "freemium",
        "oauth",
        "mcp",
        "cli",
        "openapi",
        "llms-txt",
        "webhooks",
        "sandbox",
        "soc2",
        "pci-dss",
        "security-txt"
      ],
      "lastRelease": "2026-10-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57.3,
        "grade": "C",
        "agentReady": false,
        "rank": 478,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 74,
          "payments": 25,
          "reliability": 30,
          "schema": 86,
          "security": 79,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-06-25 and 2026-02-11. The changelog records the webhook event type `transactions.all_requirements_met_and_approved` removed on 25 June 2026, three days after the 22 June entry marked it a deprecated alias, and `functional_currency_amount` dropped from default transaction responses on 11 February 2026. Both are documented on the day they shipped and the first names a replacement. Notice by email couldn't be checked, so the smallest deduction applies (https://docs.ramp.com/developer-api/v1/changelog)."
        ],
        "verdict": "OAuth 2.0 scopes split read from write across about 40 resources, a 260-operation OpenAPI spec is public, and an audit log endpoint records actions by user and agent. No public status page was found, 89 operations are marked beta, the API Agreement allows changes without notice, and idempotency keys cover only eight write operations.",
        "bestFor": "A finance team already on Ramp that wants an agent to read transactions, upload receipts, code and split expenses, issue funds with limits, create bills and work with purchase orders and procurement requests.",
        "strengths": [
          "Public OpenAPI 3.0.2 spec with 260 operations, plus llms.txt and a plain-text export of every guide and the API reference",
          "OAuth 2.0 scopes follow `resource:read` and `resource:write`, tokens are bound to scopes at issue, and `POST /developer/v1/token/revoke` invalidates them",
          "`GET /developer/v1/audit-logs/events` filters events by user, date, event type and actor type, including Ramp's own agents",
          "A sandbox at demo-api.ramp.com and demo.ramp.com moves no real money and has demo actions that create test transactions",
          "The changelog is dated to the day, with 26 dated entries between 15 July and 7 October 2026 and an RSS feed"
        ],
        "weaknesses": [
          "No public status page was found. status.ramp.com doesn't resolve, and no status link appears in the docs, help centre or trust centre pages read",
          "89 of 260 operations carry `x-beta`, among them creating a fund and splitting a transaction, and the MCP guide says the server is subject to change",
          "`X-Idempotency-Key` is accepted on 8 of 155 write operations. Creating a bill, a purchase order or a vendor has none",
          "The API Agreement says Ramp may change or discontinue the APIs at any time with or without notice",
          "No official SDK was found in the docs, and 51 operations (custom records, purchase orders, the audit log) need the paid Plus plan"
        ],
        "agentNotes": [
          "Send `scope` on the client credentials token request. Without it Ramp issues a token with no scopes and every resource call fails with 403",
          "Follow the full URL in `next` to page. `page_size` defaults to 20 and stops at 100, and the cursor is opaque",
          "Stay under 200 requests in any 10 seconds per source IP and back off 1, 2 then 4 seconds on 429. No Retry-After header is documented",
          "Don't use `synced_after` or `from_created_at` to find changed records. Bills and transactions have no updated-at filter, so subscribe to webhooks",
          "Send `X-Idempotency-Key` when creating funds or procurement requests. Elsewhere a retried POST can create a duplicate, so read back before retrying"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57.3
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 74,
          "payments": 25,
          "reliability": 30,
          "schema": 86,
          "security": 79,
          "transparency": 55
        },
        "provenanceScore": 84
      },
      "connect": {
        "install": "curl -fsSL https://agents.ramp.com/install.sh | sh",
        "http": "curl https://api.ramp.com/developer/v1/transactions \\\n  -H \"Authorization: Bearer $RAMP_ACCESS_TOKEN\""
      },
      "letme": {
        "capability": "https://letme.dev/spend.transactions",
        "tool": "https://letme.dev/ramp"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Free plan",
          "unit": "seat-month",
          "usd": 0,
          "note": "No separate API fee is published"
        },
        {
          "item": "Plus plan",
          "unit": "seat-month",
          "usd": 15,
          "note": "Plus a platform fee by team size, not stated. Enterprise is priced on request"
        }
      ],
      "provenance": {
        "legalEntity": "Ramp Business Corporation",
        "domain": "ramp.com",
        "domainRegistered": "1994-03-14",
        "endpointOnVendorDomain": true,
        "terms": "https://ramp.com/legal/developer-terms/developer-terms/api-agreement",
        "privacy": "https://ramp.com/legal/privacy-policy",
        "statusPage": "",
        "changelog": "https://docs.ramp.com/developer-api/v1/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The API Agreement (last updated 26 March 2026) names Ramp Business Corporation, 28 West 23rd Street, Floor 2, New York, NY 10010.",
          "The API answers at api.ramp.com and demo-api.ramp.com, and the MCP servers at mcp.ramp.com and demo-mcp.ramp.com.",
          "No status page was found. status.ramp.com doesn't resolve, and no status link appears in the docs, help centre, trust centre, home or pricing pages read on 8 October 2026.",
          "ramp.com/.well-known/security.txt gives security-external@ramp.com as the contact and expires on 18 March 2027.",
          "The Platform Agreement was last updated on 22 September 2026, the privacy policy on 21 August 2026 and the DPA on 10 July 2026. The legal pages render with JavaScript, and we read the published documents from the site's own script files.",
          "RDAP for ramp.com gives a registration date of 1994-03-14 and Cloudflare, Inc. as registrar."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/ramp.json",
      "live": {
        "slug": "ramp",
        "probe": {
          "target": "https://api.ramp.com",
          "method": "get",
          "lastAt": "2026-10-08T21:53:31.750954604Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 144,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 139,
          "p95ms24h": 194,
          "samples24h": 71,
          "samples30d": 71,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 71,
              "ok": 71
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "ramp-public/ramp-cli",
            "version": "v0.2.54",
            "released": "2026-10-06",
            "seenAt": "2026-10-08T16:26:56.585492266Z"
          }
        ],
        "githubStars": 53,
        "securityTxt": {
          "url": "https://ramp.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-03-18T19:00:00.000Z",
          "checkedAt": "2026-10-08T15:38:51.088112552Z"
        },
        "pages": [
          {
            "url": "https://docs.ramp.com/developer-api/v1/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:18.141617922Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "df9c69ecf0f3"
          },
          {
            "url": "https://ramp.com/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:38.570721399Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e3b0c44298fc"
          },
          {
            "url": "https://ramp.com/legal/developer-terms/developer-terms/api-agreement",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:36.289237573Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e3b0c44298fc"
          }
        ],
        "updatedAt": "2026-10-08T21:53:31.750954604Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Mercury Technologies, Inc.",
        "b": "Ramp Business Corporation",
        "name": "Vendor"
      },
      {
        "a": "https://api.mercury.com/api/v1",
        "b": "https://api.ramp.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Mercury's Terms of Use. The Mercury CLI on GitHub is Apache-2.0",
        "b": "Proprietary service under the Ramp Platform Agreement and the API Agreement. The ramp-cli repository is MIT",
        "name": "Licence"
      },
      {
        "a": "35",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-08-12",
        "b": "2026-10-07",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "53 stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Mercury API scores 63.8 (B) on agent readiness against Ramp's 57.3 (C), and leads in 4 of 7 scored categories. Ramp leads on schema \u0026 documentation, maintenance \u0026 community and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Mercury API or Ramp?"
      },
      {
        "answer": "Mercury API takes an API key or an OAuth sign-in. Ramp uses an OAuth sign-in.",
        "question": "Do Mercury API and Ramp need an API key?"
      },
      {
        "answer": "Yes. Mercury API has a hosted endpoint at https://api.mercury.com/api/v1 and Ramp at https://api.ramp.com.",
        "question": "Can an agent call Mercury API and Ramp without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 59 against 30",
          "Payments \u0026 pricing, 30 against 25"
        ],
        "also": [
          "No incidents deducted, where Ramp loses 3 points for them"
        ],
        "goodFor": "A company that banks with Mercury and wants an agent to read balances and transactions, set notes and categories, upload receipts, issue virtual cards with spend limits and queue payments for human approval.",
        "slug": "mercury",
        "watchFor": "No rate limits with numbers and no 429 handling were found in the reviewed documentation"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 86 against 72",
          "Maintenance \u0026 community, 74 against 64",
          "Transparency \u0026 trust, 70 against 63"
        ],
        "also": null,
        "goodFor": "A finance team already on Ramp that wants an agent to read transactions, upload receipts, code and split expenses, issue funds with limits, create bills and work with purchase orders and procurement requests.",
        "slug": "ramp",
        "watchFor": "No public status page was found. status.ramp.com doesn't resolve, and no status link appears in the docs, help centre or trust centre pages read"
      }
    ],
    "job": {
      "capability": "spend.transactions",
      "name": "Spend transactions"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/airwallex-vs-mercury.json",
        "title": "Airwallex Spend and Issuing vs Mercury API",
        "url": "https://www.anchorterminal.com/compare/airwallex-vs-mercury"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airwallex-vs-ramp.json",
        "title": "Airwallex Spend and Issuing vs Ramp",
        "url": "https://www.anchorterminal.com/compare/airwallex-vs-ramp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bill-vs-mercury.json",
        "title": "BILL vs Mercury API",
        "url": "https://www.anchorterminal.com/compare/bill-vs-mercury"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bill-vs-ramp.json",
        "title": "BILL vs Ramp",
        "url": "https://www.anchorterminal.com/compare/bill-vs-ramp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brex-vs-mercury.json",
        "title": "Brex vs Mercury API",
        "url": "https://www.anchorterminal.com/compare/brex-vs-mercury"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brex-vs-ramp.json",
        "title": "Brex vs Ramp",
        "url": "https://www.anchorterminal.com/compare/brex-vs-ramp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/expensify-vs-mercury.json",
        "title": "Expensify vs Mercury API",
        "url": "https://www.anchorterminal.com/compare/expensify-vs-mercury"
      },
      {
        "json": "https://www.anchorterminal.com/compare/expensify-vs-ramp.json",
        "title": "Expensify vs Ramp",
        "url": "https://www.anchorterminal.com/compare/expensify-vs-ramp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mercury-vs-pleo.json",
        "title": "Mercury API vs Pleo API + MCP",
        "url": "https://www.anchorterminal.com/compare/mercury-vs-pleo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mercury-vs-spendesk.json",
        "title": "Mercury API vs Spendesk API + MCP",
        "url": "https://www.anchorterminal.com/compare/mercury-vs-spendesk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pleo-vs-ramp.json",
        "title": "Pleo API + MCP vs Ramp",
        "url": "https://www.anchorterminal.com/compare/pleo-vs-ramp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ramp-vs-spendesk.json",
        "title": "Ramp vs Spendesk API + MCP",
        "url": "https://www.anchorterminal.com/compare/ramp-vs-spendesk"
      }
    ],
    "scores": [
      {
        "by": 29,
        "edge": "mercury",
        "key": "reliability",
        "mercury": 59,
        "name": "Reliability",
        "ramp": 30,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 14,
        "edge": "ramp",
        "key": "schema",
        "mercury": 72,
        "name": "Schema \u0026 documentation",
        "ramp": 86,
        "weight": 13
      },
      {
        "by": 2,
        "edge": "mercury",
        "key": "ergonomics",
        "mercury": 68,
        "name": "Agent ergonomics",
        "ramp": 66,
        "weight": 13
      },
      {
        "by": 3,
        "edge": "mercury",
        "key": "security",
        "mercury": 82,
        "name": "Security \u0026 auth",
        "ramp": 79,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "mercury",
        "key": "payments",
        "mercury": 30,
        "name": "Payments \u0026 pricing",
        "ramp": 25,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "edge": "ramp",
        "key": "maintenance",
        "mercury": 64,
        "name": "Maintenance \u0026 community",
        "ramp": 74,
        "weight": 7
      },
      {
        "by": 7,
        "edge": "ramp",
        "key": "transparency",
        "mercury": 63,
        "name": "Transparency \u0026 trust",
        "ramp": 70,
        "weight": 7
      }
    ],
    "summary": "Mercury API scores 63.8 (B) on agent readiness against Ramp's 57.3 (C), and leads in 4 of 7 scored categories. Ramp leads on schema \u0026 documentation, maintenance \u0026 community and transparency \u0026 trust. Both do spend transactions.",
    "verdicts": {
      "mercury": "Custom tokens take per-endpoint scopes, write tokens need an IP allowlist, and payments can be queued for approval in the dashboard through `POST /account/{accountId}/request-send-money`. No rate limits, error catalogue or SLA were found in the reviewed documentation, the changelog carries no dates, and the MCP server is beta.",
      "ramp": "OAuth 2.0 scopes split read from write across about 40 resources, a 260-operation OpenAPI spec is public, and an audit log endpoint records actions by user and agent. No public status page was found, 89 operations are marked beta, the API Agreement allows changes without notice, and idempotency keys cover only eight write operations."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/mercury-vs-ramp",
    "json": "https://www.anchorterminal.com/compare/mercury-vs-ramp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/mercury-vs-ramp.md",
    "slim": "https://www.anchorterminal.com/compare/mercury-vs-ramp.min.md"
  },
  "markdown": "Mercury API scores 63.8 (B) on agent readiness against Ramp's 57.3 (C), and leads in 4 of 7 scored categories. Ramp leads on schema \u0026 documentation, maintenance \u0026 community and transparency \u0026 trust. Both do spend transactions.\n\n- Mercury API: grade B, 63.8/100, rank #293 of 722. Markdown https://www.anchorterminal.com/tools/mercury.md · JSON https://www.anchorterminal.com/api/v1/tools/mercury.json\n- Ramp: grade C, 57.3/100, rank #478 of 722. Markdown https://www.anchorterminal.com/tools/ramp.md · JSON https://www.anchorterminal.com/api/v1/tools/ramp.json\n\n## Which one, for what\n\n### Mercury API (B)\n\nGood for: A company that banks with Mercury and wants an agent to read balances and transactions, set notes and categories, upload receipts, issue virtual cards with spend limits and queue payments for human approval.\n\nAhead on:\n- Reliability, 59 against 30\n- Payments \u0026 pricing, 30 against 25\n\nAlso in its favour:\n- No incidents deducted, where Ramp loses 3 points for them\n\nWatch for: No rate limits with numbers and no 429 handling were found in the reviewed documentation\n\n### Ramp (C)\n\nGood for: A finance team already on Ramp that wants an agent to read transactions, upload receipts, code and split expenses, issue funds with limits, create bills and work with purchase orders and procurement requests.\n\nAhead on:\n- Schema \u0026 documentation, 86 against 72\n- Maintenance \u0026 community, 74 against 64\n- Transparency \u0026 trust, 70 against 63\n\nWatch for: No public status page was found. status.ramp.com doesn't resolve, and no status link appears in the docs, help centre or trust centre pages read\n\n\n## Score by category\n\n| Category | Weight | Mercury API | Ramp | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 59 | 30 | Mercury API +29 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 72 | 86 | Ramp +14 |\n| Agent ergonomics | 13% (16.2 this run) | 68 | 66 | Mercury API +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 82 | 79 | Mercury API +3 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 25 | Mercury API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 64 | 74 | Ramp +10 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 63 | 70 | Ramp +7 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **63.8 · B** | **57.3 · C** | |\n\n## Facts side by side\n\n| Fact | Mercury API | Ramp |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Mercury Technologies, Inc. | Ramp Business Corporation |\n| Hosted endpoint | `https://api.mercury.com/api/v1` | `https://api.ramp.com` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | OAuth |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under Mercury's Terms of Use. The Mercury CLI on GitHub is Apache-2.0 | Proprietary service under the Ramp Platform Agreement and the API Agreement. The ramp-cli repository is MIT |\n| Tools exposed | 35 | none |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| Last release | 2026-08-12 | 2026-10-07 |\n| Terms last updated | no date given | couldn't be read |\n| Privacy policy last updated | no date given | couldn't be read |\n| Customer content may train models | not found in the text | couldn't be read |\n| Terms restrict automated access | yes | couldn't be read |\n| Terms restrict benchmarking | yes | couldn't be read |\n| Terms or service can change without notice | not found in the text | couldn't be read |\n| Arbitration or class-action waiver | yes | couldn't be read |\n| Popularity | none | 53 stars |\n\n## Verdicts\n\n**Mercury API.** Custom tokens take per-endpoint scopes, write tokens need an IP allowlist, and payments can be queued for approval in the dashboard through `POST /account/{accountId}/request-send-money`. No rate limits, error catalogue or SLA were found in the reviewed documentation, the changelog carries no dates, and the MCP server is beta.\n\n**Ramp.** OAuth 2.0 scopes split read from write across about 40 resources, a 260-operation OpenAPI spec is public, and an audit log endpoint records actions by user and agent. No public status page was found, 89 operations are marked beta, the API Agreement allows changes without notice, and idempotency keys cover only eight write operations.\n\n## Before you call either\n\n### Mercury API\n\n1. Ask for a Custom token with only the scopes the task needs. Scopes can't be edited later, and a token unused for 45 days is deleted.\n2. Without a fixed IP address, send payments through `POST /account/{accountId}/request-send-money`. Direct sends through `POST /account/{accountId}/transactions` need an allowlisted IP.\n3. Send a stored `idempotencyKey` with every payment. The same recipient, account, amount and method within 24 hours returns 400 even with a new key.\n4. Set `limit` on list calls. `GET /transactions` returns up to 1,000 rows by default.\n5. Test against `https://api-sandbox.mercury.com/api/v1/` with a sandbox token. Webhooks aren't available in the sandbox.\n\n### Ramp\n\n1. Send `scope` on the client credentials token request. Without it Ramp issues a token with no scopes and every resource call fails with 403\n2. Follow the full URL in `next` to page. `page_size` defaults to 20 and stops at 100, and the cursor is opaque\n3. Stay under 200 requests in any 10 seconds per source IP and back off 1, 2 then 4 seconds on 429. No Retry-After header is documented\n4. Don't use `synced_after` or `from_created_at` to find changed records. Bills and transactions have no updated-at filter, so subscribe to webhooks\n5. Send `X-Idempotency-Key` when creating funds or procurement requests. Elsewhere a retried POST can create a duplicate, so read back before retrying\n\n## Questions\n\n### Which is better for AI agents, Mercury API or Ramp?\n\nMercury API scores 63.8 (B) on agent readiness against Ramp's 57.3 (C), and leads in 4 of 7 scored categories. Ramp leads on schema \u0026 documentation, maintenance \u0026 community and transparency \u0026 trust.\n\n### Do Mercury API and Ramp need an API key?\n\nMercury API takes an API key or an OAuth sign-in. Ramp uses an OAuth sign-in.\n\n### Can an agent call Mercury API and Ramp without installing anything?\n\nYes. Mercury API has a hosted endpoint at https://api.mercury.com/api/v1 and Ramp at https://api.ramp.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/mercury-vs-ramp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/mercury-vs-ramp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"mercury\", \"b\": \"ramp\"}`. From a terminal: `anchor compare mercury ramp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/mercury.json and https://www.anchorterminal.com/api/v1/tools/ramp.json\n\n## Other comparisons with Mercury API or Ramp\n\n- [Airwallex Spend and Issuing vs Mercury API](https://www.anchorterminal.com/compare/airwallex-vs-mercury.md)\n- [Airwallex Spend and Issuing vs Ramp](https://www.anchorterminal.com/compare/airwallex-vs-ramp.md)\n- [BILL vs Mercury API](https://www.anchorterminal.com/compare/bill-vs-mercury.md)\n- [BILL vs Ramp](https://www.anchorterminal.com/compare/bill-vs-ramp.md)\n- [Brex vs Mercury API](https://www.anchorterminal.com/compare/brex-vs-mercury.md)\n- [Brex vs Ramp](https://www.anchorterminal.com/compare/brex-vs-ramp.md)\n- [Expensify vs Mercury API](https://www.anchorterminal.com/compare/expensify-vs-mercury.md)\n- [Expensify vs Ramp](https://www.anchorterminal.com/compare/expensify-vs-ramp.md)\n- [Mercury API vs Pleo API + MCP](https://www.anchorterminal.com/compare/mercury-vs-pleo.md)\n- [Mercury API vs Spendesk API + MCP](https://www.anchorterminal.com/compare/mercury-vs-spendesk.md)\n- [Pleo API + MCP vs Ramp](https://www.anchorterminal.com/compare/pleo-vs-ramp.md)\n- [Ramp vs Spendesk API + MCP](https://www.anchorterminal.com/compare/ramp-vs-spendesk.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Mercury API vs Ramp",
        "url": ""
      }
    ],
    "description": "Mercury API scores 63.8 (B) on agent readiness against Ramp's 57.3 (C), and leads in 4 of 7 scored categories. Ramp leads on schema \u0026 documentation, maintenance \u0026 community and transparency \u0026 trust. Both do spend transactions. Category scores, facts, verdicts and agent notes…",
    "facts": [
      "Mercury API B 63.8",
      "Ramp C 57.3",
      "scores"
    ],
    "h1": "Mercury API vs Ramp",
    "image": "https://www.anchorterminal.com/assets/og/compare-mercury-vs-ramp.png",
    "path": "/compare/mercury-vs-ramp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Mercury API vs Ramp for AI agents, B 63.8 vs C 57.3 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/mercury-vs-ramp"
  },
  "tokens": {
    "markdown": 2150,
    "slim": 780
  },
  "version": 1
}
