{
  "data": {
    "a": {
      "slug": "payhawk",
      "name": "Payhawk API + MCP",
      "vendor": "Payhawk Limited",
      "vendorUrl": "https://payhawk.com",
      "kind": "http-api",
      "category": "spend-management",
      "summary": "Spend management platform from Payhawk Limited in London, covering company cards, expenses, bills, purchase orders and travel. Outside agents reach it through a REST Developer API with read-only or full-access keys, and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/payhawk",
      "markdownUrl": "https://www.anchorterminal.com/tools/payhawk.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/payhawk.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/payhawk.json",
      "license": "Proprietary service under Payhawk's general terms and conditions",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.payhawk.com",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Access needs a Payhawk customer account. An Administrator, an IT Administrator or a user with a custom role creates an API key in the portal under Settings, Integrations, choosing read-only or full access, and can regenerate it. The key goes in the `X-Payhawk-ApiKey` header or as a Bearer token. Two system-generated keys per account cannot be deleted by users. Group-level keys reach the group endpoints. If the key is not active, the API page says to write to partners@payhawk.com. The MCP server accepts OAuth 2 authorisation code with PKCE, where each user signs in with a Payhawk login and the assistant acts with that user's role.",
      "pricing": "paid",
      "pricingNotes": "Sold by quote per module (Travel, Cards and Expenses, Accounts Payable, Procurement) on annual or multi-year contracts, with unit-based charges for extra cards, reimbursements, purchase orders and invoices. The one published price is the Growth programme at 149 pounds a month for single-entity firms in the UK or EEA with fewer than 20 employees, with an optional 7-day trial for eligible customers. The API page says the API is free for all Payhawk accounts, and the pricing page lists Developer API access and the MCP server in the modules. A development sandbox is requested through a form on the API page (checked 2026-10-08).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the OpenAPI definition, the help centre or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 82,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.payhawk.com",
      "llmsTxt": "https://payhawk.com/llms.txt",
      "openapi": "https://api.payhawk.com/api/v3/docs.json",
      "capabilities": [
        "spend.transactions",
        "spend.expenses",
        "spend.cards",
        "spend.bills",
        "spend.procurement"
      ],
      "tags": [
        "hosted",
        "enterprise",
        "api-key",
        "oauth",
        "mcp",
        "openapi",
        "llms-txt",
        "webhooks",
        "sales-led",
        "status-page",
        "soc2",
        "iso27001"
      ],
      "lastRelease": "2026-10-08",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57.1,
        "grade": "C",
        "agentReady": false,
        "rank": 561,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 52,
          "maintenance": 53,
          "payments": 13,
          "reliability": 58,
          "schema": 71,
          "security": 71,
          "transparency": 78
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The Developer API has a public OpenAPI 3.1 definition with 179 operations, read-only or full-access keys and a published limit of 15 requests a second. It needs a Payhawk customer account, no official SDK or API changelog was found, and the 82-tool MCP server is added by hand because it is not yet in the assistant directories.",
        "bestFor": "A finance team already on Payhawk that wants an ERP or accounting sync, master data kept in step, purchase orders raised from another system, or an assistant that answers spend questions and prepares approvals.",
        "strengths": [
          "Public OpenAPI 3.1 definition with 105 paths and 179 operations, covering expenses, cards, fund accounts, suppliers, purchase orders and 24 webhook event types",
          "API keys are created as read-only or full access, sent in a header, and managed by administrators or a custom role",
          "The limit of 15 requests a second is stated on every operation, and responses carry RateLimit headers with Retry-After on a 429",
          "The MCP server acts with the signed-in user's own role, previews every write for confirmation, and never starts a payment or transfer",
          "SOC 1 and SOC 2 Type 2, ISO 27001, PCI DSS Level 1 and a penetration test attestation are downloadable from the trust page"
        ],
        "weaknesses": [
          "No self-serve route. The API needs a Payhawk customer account, and a development sandbox is requested through a form",
          "No official SDK on npm or PyPI, no API changelog and no deprecation policy were found. Release notes cover the product only",
          "The API page's FAQ contradicts the definition on the host name, the page size and whether expenses can be created or reviewed",
          "The status page is drawn by script, so its incident history could not be read. The terms disclaim service levels",
          "The MCP server has 82 tools, is not in the official MCP registry, and no guidance on prompt injection was found"
        ],
        "agentNotes": [
          "Send the key in `X-Payhawk-ApiKey` or as a Bearer token to `https://api.payhawk.com/api/v3`. A read-only key returns 403 on writes",
          "Page lists with `$skip` and `$take`. The help centre gives 1,000 a page and the definition a maximum of 10,000, so count what comes back",
          "Pass `$filter` as URL-encoded JSON, for example `{\"status\":{\"$equal\":\"draft\"}}`. Date filters compare the date part only",
          "Keep to 15 requests a second and wait for `Retry-After` on a 429. Do not send `Idempotency-Key` when creating a per diem expense, which returns 400",
          "Use a group-level key and the `/groups/{groupId}` paths for master data in a multi-entity group. Expenses and payments stay on account paths"
        ],
        "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.1
          }
        ],
        "editorialScores": {
          "ergonomics": 52,
          "maintenance": 53,
          "payments": 13,
          "reliability": 58,
          "schema": 71,
          "security": 71,
          "transparency": 55
        },
        "provenanceScore": 100
      },
      "connect": {
        "http": "curl https://api.payhawk.com/api/v3/accounts/YOUR_ACCOUNT_ID/fund-accounts \\\n  -H \"X-Payhawk-ApiKey: YOUR_API_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/spend.transactions",
        "tool": "https://letme.dev/payhawk"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Payhawk Limited",
        "domain": "payhawk.com",
        "domainRegistered": "2003-07-06",
        "endpointOnVendorDomain": true,
        "terms": "https://payhawk.com/terms",
        "privacy": "https://payhawk.com/privacy",
        "statusPage": "https://status.payhawk.com",
        "changelog": "https://payhawk.com/release-notes",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The terms name Payhawk Limited (company number 11747263, Chancery House, 53-64 Chancery Lane, London WC2A 1QS) as the contracting entity worldwide and Payhawk Inc., a Delaware corporation, in the US. Payhawk EOOD in Sofia owns the platform.",
          "Cards are issued by Payhawk Financial Services UAB in the EEA, Payhawk Financial Services Limited in the UK and Cross River Bank in the US, per the site footer.",
          "The API answers at api.payhawk.com and the MCP server at mcp.payhawk.com. An unauthenticated POST to /mcp returned 401 with a WWW-Authenticate header naming the protected resource metadata.",
          "payhawk.com/.well-known/security.txt has a contact, a policy link and an expiry of 1 January 2030.",
          "The terms were last updated on 9 December 2025, the privacy policy on 29 June 2026 and the Data Processing Addendum on 26 June 2026.",
          "The release notes cover the product. No changelog for the API was found.",
          "RDAP for payhawk.com gives a registration date of 2003-07-06. The terms' company number dates the company later, so the domain predates the vendor."
        ],
        "score": 100
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/payhawk.json",
      "live": {
        "slug": "payhawk",
        "probe": {
          "target": "https://api.payhawk.com",
          "method": "get",
          "lastAt": "2026-10-09T10:42:52.129616501Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 49,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 55,
          "p95ms24h": 136,
          "samples24h": 33,
          "samples30d": 33,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 33,
              "ok": 33
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.payhawk.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:58:24.812233514Z"
        },
        "updatedAt": "2026-10-09T10:42:52.129616501Z"
      }
    },
    "answer": "Ramp and Payhawk API + MCP score within a point of each other on agent readiness, 57.3 (C) and 57.1 (C). Payhawk API + MCP leads on reliability 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": 554,
        "ranked": true,
        "rankOf": 842,
        "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-09T10:42:53.981944447Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 152,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 134,
          "p95ms24h": 209,
          "samples24h": 207,
          "samples30d": 207,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 93,
              "ok": 93
            },
            {
              "date": "2026-10-09",
              "probes": 114,
              "ok": 114
            }
          ]
        },
        "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-09T10:42:53.981944447Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Payhawk Limited",
        "b": "Ramp Business Corporation",
        "name": "Vendor"
      },
      {
        "a": "https://api.payhawk.com",
        "b": "https://api.ramp.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Payhawk's general terms and conditions",
        "b": "Proprietary service under the Ramp Platform Agreement and the API Agreement. The ramp-cli repository is MIT",
        "name": "Licence"
      },
      {
        "a": "82",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-08",
        "b": "2026-10-07",
        "name": "Last release"
      },
      {
        "a": "2025-12-09",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2026-06-29",
        "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": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "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": "not found in the text",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "53 stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Ramp and Payhawk API + MCP score within a point of each other on agent readiness, 57.3 (C) and 57.1 (C). Payhawk API + MCP leads on reliability and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Payhawk API + MCP or Ramp?"
      },
      {
        "answer": "Payhawk API + MCP takes an API key or an OAuth sign-in. Ramp uses an OAuth sign-in.",
        "question": "Do Payhawk API + MCP and Ramp need an API key?"
      },
      {
        "answer": "Yes. Payhawk API + MCP has a hosted endpoint at https://api.payhawk.com and Ramp at https://api.ramp.com.",
        "question": "Can an agent call Payhawk API + MCP and Ramp without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 58 against 30",
          "Transparency \u0026 trust, 78 against 70"
        ],
        "also": [
          "No incidents deducted, where Ramp loses 3 points for them"
        ],
        "goodFor": "A finance team already on Payhawk that wants an ERP or accounting sync, master data kept in step, purchase orders raised from another system, or an assistant that answers spend questions and prepares approvals.",
        "slug": "payhawk",
        "watchFor": "No self-serve route. The API needs a Payhawk customer account, and a development sandbox is requested through a form"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 86 against 71",
          "Agent ergonomics, 66 against 52",
          "Security \u0026 auth, 79 against 71",
          "Payments \u0026 pricing, 25 against 13",
          "Maintenance \u0026 community, 74 against 53"
        ],
        "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-payhawk.json",
        "title": "Airwallex Spend and Issuing vs Payhawk API + MCP",
        "url": "https://www.anchorterminal.com/compare/airwallex-vs-payhawk"
      },
      {
        "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-payhawk.json",
        "title": "BILL vs Payhawk API + MCP",
        "url": "https://www.anchorterminal.com/compare/bill-vs-payhawk"
      },
      {
        "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-payhawk.json",
        "title": "Brex vs Payhawk API + MCP",
        "url": "https://www.anchorterminal.com/compare/brex-vs-payhawk"
      },
      {
        "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-payhawk.json",
        "title": "Expensify vs Payhawk API + MCP",
        "url": "https://www.anchorterminal.com/compare/expensify-vs-payhawk"
      },
      {
        "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-payhawk.json",
        "title": "Mercury API vs Payhawk API + MCP",
        "url": "https://www.anchorterminal.com/compare/mercury-vs-payhawk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mercury-vs-ramp.json",
        "title": "Mercury API vs Ramp",
        "url": "https://www.anchorterminal.com/compare/mercury-vs-ramp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/payhawk-vs-pleo.json",
        "title": "Payhawk API + MCP vs Pleo API + MCP",
        "url": "https://www.anchorterminal.com/compare/payhawk-vs-pleo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/payhawk-vs-spendesk.json",
        "title": "Payhawk API + MCP vs Spendesk API + MCP",
        "url": "https://www.anchorterminal.com/compare/payhawk-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": 28,
        "edge": "payhawk",
        "key": "reliability",
        "name": "Reliability",
        "payhawk": 58,
        "ramp": 30,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "edge": "ramp",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "payhawk": 71,
        "ramp": 86,
        "weight": 13
      },
      {
        "by": 14,
        "edge": "ramp",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "payhawk": 52,
        "ramp": 66,
        "weight": 13
      },
      {
        "by": 8,
        "edge": "ramp",
        "key": "security",
        "name": "Security \u0026 auth",
        "payhawk": 71,
        "ramp": 79,
        "weight": 14
      },
      {
        "by": 12,
        "edge": "ramp",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "payhawk": 13,
        "ramp": 25,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 21,
        "edge": "ramp",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "payhawk": 53,
        "ramp": 74,
        "weight": 7
      },
      {
        "by": 8,
        "edge": "payhawk",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "payhawk": 78,
        "ramp": 70,
        "weight": 7
      }
    ],
    "summary": "Ramp and Payhawk API + MCP score within a point of each other on agent readiness, 57.3 (C) and 57.1 (C). Payhawk API + MCP leads on reliability and transparency \u0026 trust. Both do spend transactions.",
    "verdicts": {
      "payhawk": "The Developer API has a public OpenAPI 3.1 definition with 179 operations, read-only or full-access keys and a published limit of 15 requests a second. It needs a Payhawk customer account, no official SDK or API changelog was found, and the 82-tool MCP server is added by hand because it is not yet in the assistant directories.",
      "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/payhawk-vs-ramp",
    "json": "https://www.anchorterminal.com/compare/payhawk-vs-ramp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/payhawk-vs-ramp.md",
    "slim": "https://www.anchorterminal.com/compare/payhawk-vs-ramp.min.md"
  },
  "markdown": "Ramp and Payhawk API + MCP score within a point of each other on agent readiness, 57.3 (C) and 57.1 (C). Payhawk API + MCP leads on reliability and transparency \u0026 trust. Both do spend transactions.\n\n- Payhawk API + MCP: grade C, 57.1/100, rank #561 of 842. Markdown https://www.anchorterminal.com/tools/payhawk.md · JSON https://www.anchorterminal.com/api/v1/tools/payhawk.json\n- Ramp: grade C, 57.3/100, rank #554 of 842. 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### Payhawk API + MCP (C)\n\nGood for: A finance team already on Payhawk that wants an ERP or accounting sync, master data kept in step, purchase orders raised from another system, or an assistant that answers spend questions and prepares approvals.\n\nAhead on:\n- Reliability, 58 against 30\n- Transparency \u0026 trust, 78 against 70\n\nAlso in its favour:\n- No incidents deducted, where Ramp loses 3 points for them\n\nWatch for: No self-serve route. The API needs a Payhawk customer account, and a development sandbox is requested through a form\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 71\n- Agent ergonomics, 66 against 52\n- Security \u0026 auth, 79 against 71\n- Payments \u0026 pricing, 25 against 13\n- Maintenance \u0026 community, 74 against 53\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 | Payhawk API + MCP | Ramp | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 58 | 30 | Payhawk API + MCP +28 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 71 | 86 | Ramp +15 |\n| Agent ergonomics | 13% (16.2 this run) | 52 | 66 | Ramp +14 |\n| Security \u0026 auth | 14% (17.5 this run) | 71 | 79 | Ramp +8 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 13 | 25 | Ramp +12 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 53 | 74 | Ramp +21 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 78 | 70 | Payhawk API + MCP +8 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **57.1 · C** | **57.3 · C** | |\n\n## Facts side by side\n\n| Fact | Payhawk API + MCP | Ramp |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Payhawk Limited | Ramp Business Corporation |\n| Hosted endpoint | `https://api.payhawk.com` | `https://api.ramp.com` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | OAuth |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under Payhawk's general terms and conditions | Proprietary service under the Ramp Platform Agreement and the API Agreement. The ramp-cli repository is MIT |\n| Tools exposed | 82 | none |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-08 | 2026-10-07 |\n| Terms last updated | 2025-12-09 | couldn't be read |\n| Privacy policy last updated | 2026-06-29 | couldn't be read |\n| Customer content may train models | not found in the text | couldn't be read |\n| Terms restrict automated access | not found in the text | couldn't be read |\n| Terms restrict benchmarking | not found in the text | 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 | not found in the text | couldn't be read |\n| Popularity | none | 53 stars |\n\n## Verdicts\n\n**Payhawk API + MCP.** The Developer API has a public OpenAPI 3.1 definition with 179 operations, read-only or full-access keys and a published limit of 15 requests a second. It needs a Payhawk customer account, no official SDK or API changelog was found, and the 82-tool MCP server is added by hand because it is not yet in the assistant directories.\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### Payhawk API + MCP\n\n1. Send the key in `X-Payhawk-ApiKey` or as a Bearer token to `https://api.payhawk.com/api/v3`. A read-only key returns 403 on writes\n2. Page lists with `$skip` and `$take`. The help centre gives 1,000 a page and the definition a maximum of 10,000, so count what comes back\n3. Pass `$filter` as URL-encoded JSON, for example `{\"status\":{\"$equal\":\"draft\"}}`. Date filters compare the date part only\n4. Keep to 15 requests a second and wait for `Retry-After` on a 429. Do not send `Idempotency-Key` when creating a per diem expense, which returns 400\n5. Use a group-level key and the `/groups/{groupId}` paths for master data in a multi-entity group. Expenses and payments stay on account paths\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, Payhawk API + MCP or Ramp?\n\nRamp and Payhawk API + MCP score within a point of each other on agent readiness, 57.3 (C) and 57.1 (C). Payhawk API + MCP leads on reliability and transparency \u0026 trust.\n\n### Do Payhawk API + MCP and Ramp need an API key?\n\nPayhawk API + MCP takes an API key or an OAuth sign-in. Ramp uses an OAuth sign-in.\n\n### Can an agent call Payhawk API + MCP and Ramp without installing anything?\n\nYes. Payhawk API + MCP has a hosted endpoint at https://api.payhawk.com and Ramp at https://api.ramp.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/payhawk-vs-ramp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/payhawk-vs-ramp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"payhawk\", \"b\": \"ramp\"}`. From a terminal: `anchor compare payhawk ramp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/payhawk.json and https://www.anchorterminal.com/api/v1/tools/ramp.json\n\n## Other comparisons with Payhawk API + MCP or Ramp\n\n- [Airwallex Spend and Issuing vs Payhawk API + MCP](https://www.anchorterminal.com/compare/airwallex-vs-payhawk.md)\n- [Airwallex Spend and Issuing vs Ramp](https://www.anchorterminal.com/compare/airwallex-vs-ramp.md)\n- [BILL vs Payhawk API + MCP](https://www.anchorterminal.com/compare/bill-vs-payhawk.md)\n- [BILL vs Ramp](https://www.anchorterminal.com/compare/bill-vs-ramp.md)\n- [Brex vs Payhawk API + MCP](https://www.anchorterminal.com/compare/brex-vs-payhawk.md)\n- [Brex vs Ramp](https://www.anchorterminal.com/compare/brex-vs-ramp.md)\n- [Expensify vs Payhawk API + MCP](https://www.anchorterminal.com/compare/expensify-vs-payhawk.md)\n- [Expensify vs Ramp](https://www.anchorterminal.com/compare/expensify-vs-ramp.md)\n- [Mercury API vs Payhawk API + MCP](https://www.anchorterminal.com/compare/mercury-vs-payhawk.md)\n- [Mercury API vs Ramp](https://www.anchorterminal.com/compare/mercury-vs-ramp.md)\n- [Payhawk API + MCP vs Pleo API + MCP](https://www.anchorterminal.com/compare/payhawk-vs-pleo.md)\n- [Payhawk API + MCP vs Spendesk API + MCP](https://www.anchorterminal.com/compare/payhawk-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-09",
    "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": "Payhawk API + MCP vs Ramp",
        "url": ""
      }
    ],
    "description": "Ramp and Payhawk API + MCP score within a point of each other on agent readiness, 57.3 (C) and 57.1 (C). Payhawk API + MCP leads on reliability and transparency \u0026 trust. Both do spend transactions. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Payhawk API + MCP C 57.1",
      "Ramp C 57.3",
      "scores"
    ],
    "h1": "Payhawk API + MCP vs Ramp",
    "image": "https://www.anchorterminal.com/assets/og/compare-payhawk-vs-ramp.png",
    "path": "/compare/payhawk-vs-ramp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Payhawk API + MCP vs Ramp for AI agents, C 57.1 vs C 57.3",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/payhawk-vs-ramp"
  },
  "tokens": {
    "markdown": 2250,
    "slim": 780
  },
  "version": 1
}
