{
  "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-09T11:46:36.631481807Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 50,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 54,
          "p95ms24h": 123,
          "samples24h": 44,
          "samples30d": 44,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 44,
              "ok": 44
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.payhawk.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:58:24.812233514Z"
        },
        "updatedAt": "2026-10-09T11:46:36.631481807Z"
      }
    },
    "answer": "Pleo API + MCP scores 62.9 (B) on agent readiness against Payhawk API + MCP's 57.1 (C), and leads in 5 of 7 scored categories.",
    "b": {
      "slug": "pleo",
      "name": "Pleo API + MCP",
      "vendor": "Pleo Technologies A/S",
      "vendorUrl": "https://www.pleo.io/en",
      "kind": "http-api",
      "category": "spend-management",
      "summary": "Spend management platform from Pleo Technologies A/S in Copenhagen, covering company cards, expenses, reimbursements, invoices and accounting exports. Outside agents reach it through a hosted MCP server for expense work and a REST API built for accounting integrations.",
      "url": "https://www.anchorterminal.com/tools/pleo",
      "markdownUrl": "https://www.anchorterminal.com/tools/pleo.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/pleo.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/pleo.json",
      "license": "Proprietary service under Pleo's Master Service Agreement, API Terms of Service and AI Access Terms",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://external.pleo.io",
      "packages": [],
      "auth": "mixed",
      "authNotes": "A person signs in for every route. The MCP server uses OAuth 2.0 in a browser (authorisation code with PKCE, dynamic client registration, no keys to configure) and acts with the connecting user's Pleo role, once a company admin has enabled MCP access for that entity. The External API accepts OAuth 2.0 bearer tokens with resource scopes for partner integrations, whose client ID and secret Pleo issues after review in its Early Access Programme. A single company can use a Standalone API Key with chosen scopes and an expiry, sent as the Basic auth username, but only after Pleo support or a Customer Success Manager enables keys for the organisation.",
      "pricing": "paid",
      "pricingNotes": "Per-user plans, with no separate charge for the API or the MCP server. The pricing page shown to a UK visitor lists Start at £8 per user per month, Build at £14 and Optimise at £18, the last two cheaper billed yearly and with a three-user minimum. MCP is listed on Optimise only, which is sold through a demo. Start and Build have a Try for free button and the signup form states 21 days free. Whether the trial needs a payment card isn't stated. A staging environment with test data exists for customers with API keys enabled and for approved partners. Fees for payments and foreign exchange are extra (checked 2026-10-08).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the OpenAPI specs or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.pleo.io/",
      "llmsTxt": "https://developers.pleo.io/llms.txt",
      "openapi": "https://developers.pleo.io/reference/Export%20API.json",
      "capabilities": [
        "spend.transactions",
        "spend.expenses",
        "spend.bills"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "oauth",
        "api-key",
        "openapi",
        "llms-txt",
        "webhooks",
        "closed-source",
        "status-page",
        "bug-bounty",
        "sandbox"
      ],
      "lastRelease": "2026-10-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.9,
        "grade": "B",
        "agentReady": false,
        "rank": 376,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 3,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 55,
          "maintenance": 64,
          "payments": 15,
          "reliability": 71,
          "schema": 82,
          "security": 71,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The hosted MCP server acts with the connecting user's own Pleo permissions, is off until an admin enables it per entity, and can't move money, change cards or alter limits. It is listed only on the Optimise plan, its tool definitions aren't published, API keys need enabling by Pleo support, and no official SDK or SLA was found.",
        "bestFor": "An agent that completes, codes, reviews and queues expenses for a Pleo customer on the Optimise plan, or for a bookkeeping integration that exports accounting entries and syncs tags, tax codes, accounts and vendors.",
        "strengths": [
          "MCP server at mcp.pleo.io/mcp uses OAuth with PKCE and dynamic client registration, and acts with the connecting user's Pleo permissions",
          "Payments, card changes and spending-limit changes are blocked through the MCP by design, per the AI Access Terms",
          "Eleven current OpenAPI 3.0.1 specs with 162 operations, plus llms.txt, llms-full.txt and a Markdown copy of every docs page",
          "One documented rate limit of 600 requests a minute per credential, with written 429 and Retry-After guidance",
          "Staging hosts for both the API (external.staging.pleo.io) and the MCP server (mcp.staging.pleo.io/mcp)",
          "Sub-processor list with locations, customer data in AWS Ireland, and 30 days' notice of new sub-processors in the DPA"
        ],
        "weaknesses": [
          "The pricing page lists MCP on the Optimise plan only (£18 per user per month, three users minimum, sold through a demo)",
          "MCP tool names, schemas and count aren't published, so they can't be read without a customer sign-in",
          "Standalone API keys aren't self-service. Pleo support or a Customer Success Manager enables them, and partner OAuth clients go through a reviewed programme",
          "No Idempotency-Key header, no official SDK and no entry in the official MCP registry",
          "The API terms call the API a beta version that Pleo may discontinue at any time, and no SLA was found",
          "No end-of-life date is published for the deprecated Legacy API, and its Q3 2026 replacements for employee writes and wallet balance aren't in the docs"
        ],
        "agentNotes": [
          "Ask a company admin to enable Pleo MCP access under Settings, General, Pleo AI for each entity before connecting. It is off by default",
          "Name the entity in every request when working outside the default one. Each MCP request targets one entity and the choice doesn't persist",
          "Set the AI client to require approval for Pleo write tools. Pleo leaves confirmation to the client and doesn't enforce it server-side",
          "Send API keys as the Basic auth username with an empty password to external.pleo.io. Legacy tokens for openapi.pleo.io don't work there",
          "Budget every endpoint against one bucket of 600 requests a minute per credential, and on 429 wait for Retry-After or back off from one second",
          "Swap mcp.staging.pleo.io for mcp.pleo.io in the Claude Code command when moving from staging to production. Each needs its own OAuth sign-in"
        ],
        "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": 62.9
          }
        ],
        "editorialScores": {
          "ergonomics": 55,
          "maintenance": 64,
          "payments": 15,
          "reliability": 71,
          "schema": 82,
          "security": 71,
          "transparency": 63
        },
        "provenanceScore": 87
      },
      "connect": {
        "http": "curl --request GET \\\n-u \"YOUR-API-KEY:\" \\\n-H \"Accept: application/json;charset=UTF-8\" \\\n\"https://external.staging.pleo.io/v2/employees\"",
        "claudeCode": "claude mcp add --transport http pleo-mcp-staging https://mcp.staging.pleo.io/mcp",
        "config": {
          "mcpServers": {
            "pleo": {
              "url": "https://mcp.pleo.io/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/spend.transactions",
        "tool": "https://letme.dev/pleo"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Pleo Technologies A/S",
        "domain": "pleo.io",
        "domainRegistered": "2015-10-07",
        "endpointOnVendorDomain": true,
        "terms": "https://developers.pleo.io/page/terms-of-service",
        "privacy": "https://www.pleo.io/legal-documents/pleo-privacy-policy-en.pdf",
        "statusPage": "https://status.pleo.io",
        "changelog": "https://developers.pleo.io/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The website footer names Pleo Technologies A/S (36538686), Ravnsborg Tværgade 5C, 2200 København N, Denmark. UK payment services come from Pleo Financial Services UK Ltd, FCA firm reference 1020730, company number 15842283.",
          "The API Terms of Service on the developer portal name Pleo Technologies A/S, carry no date, and describe the API as a beta version. The UK Master Service Agreement has an effective date of 7 September 2026 and is governed by the laws of England and Wales.",
          "The API answers at external.pleo.io and the MCP server at mcp.pleo.io, both pleo.io subdomains. The MCP host publishes its OAuth metadata at https://mcp.pleo.io/.well-known/oauth-authorization-server",
          "www.pleo.io/.well-known/security.txt and pleo.io/.well-known/security.txt both return 403 with an AccessDenied body. The vulnerability disclosure policy gives security-vd@pleo.io as the reporting address.",
          "The privacy notice is dated June 2026 and the Data Processing Agreement 14 October 2025. An AI Access Terms document covers the MCP server.",
          "RDAP from the .io registry gives a registration date of 2015-10-07 for pleo.io."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/pleo.json",
      "live": {
        "slug": "pleo",
        "probe": {
          "target": "https://external.pleo.io",
          "method": "get",
          "lastAt": "2026-10-09T11:46:37.478951602Z",
          "lastOk": true,
          "lastStatus": 403,
          "lastMs": 58,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 74,
          "p95ms24h": 137,
          "samples24h": 218,
          "samples30d": 218,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 93,
              "ok": 93
            },
            {
              "date": "2026-10-09",
              "probes": 125,
              "ok": 125
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.pleo.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-09T11:40:24.349683237Z"
        },
        "securityTxt": {
          "url": "https://pleo.io/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-10-08T15:38:57.657849973Z"
        },
        "pages": [
          {
            "url": "https://developers.pleo.io/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:17:58.324737763Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7369dd13eb7c"
          },
          {
            "url": "https://developers.pleo.io/page/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:18:00.641635735Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5da670693385"
          }
        ],
        "updatedAt": "2026-10-09T11:46:37.478951602Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Payhawk Limited",
        "b": "Pleo Technologies A/S",
        "name": "Vendor"
      },
      {
        "a": "https://api.payhawk.com",
        "b": "https://external.pleo.io",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Payhawk's general terms and conditions",
        "b": "Proprietary service under Pleo's Master Service Agreement, API Terms of Service and AI Access Terms",
        "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-02",
        "name": "Last release"
      },
      {
        "a": "2025-12-09",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-06-29",
        "b": "",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      }
    ],
    "faq": [
      {
        "answer": "Pleo API + MCP scores 62.9 (B) on agent readiness against Payhawk API + MCP's 57.1 (C), and leads in 5 of 7 scored categories.",
        "question": "Which is better for AI agents, Payhawk API + MCP or Pleo API + MCP?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Payhawk API + MCP and Pleo API + MCP need an API key?"
      },
      {
        "answer": "Yes. Payhawk API + MCP has a hosted endpoint at https://api.payhawk.com and Pleo API + MCP at https://external.pleo.io.",
        "question": "Can an agent call Payhawk API + MCP and Pleo API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "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": [
          "Reliability, 71 against 58",
          "Schema \u0026 documentation, 82 against 71",
          "Maintenance \u0026 community, 64 against 53"
        ],
        "also": null,
        "goodFor": "An agent that completes, codes, reviews and queues expenses for a Pleo customer on the Optimise plan, or for a bookkeeping integration that exports accounting entries and syncs tags, tax codes, accounts and vendors.",
        "slug": "pleo",
        "watchFor": "The pricing page lists MCP on the Optimise plan only (£18 per user per month, three users minimum, sold through a demo)"
      }
    ],
    "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-pleo.json",
        "title": "Airwallex Spend and Issuing vs Pleo API + MCP",
        "url": "https://www.anchorterminal.com/compare/airwallex-vs-pleo"
      },
      {
        "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-pleo.json",
        "title": "BILL vs Pleo API + MCP",
        "url": "https://www.anchorterminal.com/compare/bill-vs-pleo"
      },
      {
        "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-pleo.json",
        "title": "Brex vs Pleo API + MCP",
        "url": "https://www.anchorterminal.com/compare/brex-vs-pleo"
      },
      {
        "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-pleo.json",
        "title": "Expensify vs Pleo API + MCP",
        "url": "https://www.anchorterminal.com/compare/expensify-vs-pleo"
      },
      {
        "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-pleo.json",
        "title": "Mercury API vs Pleo API + MCP",
        "url": "https://www.anchorterminal.com/compare/mercury-vs-pleo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/payhawk-vs-ramp.json",
        "title": "Payhawk API + MCP vs Ramp",
        "url": "https://www.anchorterminal.com/compare/payhawk-vs-ramp"
      },
      {
        "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/pleo-vs-spendesk.json",
        "title": "Pleo API + MCP vs Spendesk API + MCP",
        "url": "https://www.anchorterminal.com/compare/pleo-vs-spendesk"
      }
    ],
    "scores": [
      {
        "by": 13,
        "edge": "pleo",
        "key": "reliability",
        "name": "Reliability",
        "payhawk": 58,
        "pleo": 71,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 11,
        "edge": "pleo",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "payhawk": 71,
        "pleo": 82,
        "weight": 13
      },
      {
        "by": 3,
        "edge": "pleo",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "payhawk": 52,
        "pleo": 55,
        "weight": 13
      },
      {
        "by": 0,
        "edge": "",
        "key": "security",
        "name": "Security \u0026 auth",
        "payhawk": 71,
        "pleo": 71,
        "weight": 14
      },
      {
        "by": 2,
        "edge": "pleo",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "payhawk": 13,
        "pleo": 15,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 11,
        "edge": "pleo",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "payhawk": 53,
        "pleo": 64,
        "weight": 7
      },
      {
        "by": 3,
        "edge": "payhawk",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "payhawk": 78,
        "pleo": 75,
        "weight": 7
      }
    ],
    "summary": "Pleo API + MCP scores 62.9 (B) on agent readiness against Payhawk API + MCP's 57.1 (C), and leads in 5 of 7 scored categories. 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.",
      "pleo": "The hosted MCP server acts with the connecting user's own Pleo permissions, is off until an admin enables it per entity, and can't move money, change cards or alter limits. It is listed only on the Optimise plan, its tool definitions aren't published, API keys need enabling by Pleo support, and no official SDK or SLA was found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/payhawk-vs-pleo",
    "json": "https://www.anchorterminal.com/compare/payhawk-vs-pleo.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/payhawk-vs-pleo.md",
    "slim": "https://www.anchorterminal.com/compare/payhawk-vs-pleo.min.md"
  },
  "markdown": "Pleo API + MCP scores 62.9 (B) on agent readiness against Payhawk API + MCP's 57.1 (C), and leads in 5 of 7 scored categories. 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- Pleo API + MCP: grade B, 62.9/100, rank #376 of 842. Markdown https://www.anchorterminal.com/tools/pleo.md · JSON https://www.anchorterminal.com/api/v1/tools/pleo.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\nWatch for: No self-serve route. The API needs a Payhawk customer account, and a development sandbox is requested through a form\n\n### Pleo API + MCP (B)\n\nGood for: An agent that completes, codes, reviews and queues expenses for a Pleo customer on the Optimise plan, or for a bookkeeping integration that exports accounting entries and syncs tags, tax codes, accounts and vendors.\n\nAhead on:\n- Reliability, 71 against 58\n- Schema \u0026 documentation, 82 against 71\n- Maintenance \u0026 community, 64 against 53\n\nWatch for: The pricing page lists MCP on the Optimise plan only (£18 per user per month, three users minimum, sold through a demo)\n\n\n## Score by category\n\n| Category | Weight | Payhawk API + MCP | Pleo API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 58 | 71 | Pleo API + MCP +13 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 71 | 82 | Pleo API + MCP +11 |\n| Agent ergonomics | 13% (16.2 this run) | 52 | 55 | Pleo API + MCP +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 71 | 71 | even |\n| Payments \u0026 pricing | 10% (12.5 this run) | 13 | 15 | Pleo API + MCP +2 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 53 | 64 | Pleo API + MCP +11 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 78 | 75 | Payhawk API + MCP +3 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **57.1 · C** | **62.9 · B** | |\n\n## Facts side by side\n\n| Fact | Payhawk API + MCP | Pleo API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Payhawk Limited | Pleo Technologies A/S |\n| Hosted endpoint | `https://api.payhawk.com` | `https://external.pleo.io` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under Payhawk's general terms and conditions | Proprietary service under Pleo's Master Service Agreement, API Terms of Service and AI Access Terms |\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-02 |\n| Terms last updated | 2025-12-09 | no date given |\n| Privacy policy last updated | 2026-06-29 |  |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\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**Pleo API + MCP.** The hosted MCP server acts with the connecting user's own Pleo permissions, is off until an admin enables it per entity, and can't move money, change cards or alter limits. It is listed only on the Optimise plan, its tool definitions aren't published, API keys need enabling by Pleo support, and no official SDK or SLA was found.\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### Pleo API + MCP\n\n1. Ask a company admin to enable Pleo MCP access under Settings, General, Pleo AI for each entity before connecting. It is off by default\n2. Name the entity in every request when working outside the default one. Each MCP request targets one entity and the choice doesn't persist\n3. Set the AI client to require approval for Pleo write tools. Pleo leaves confirmation to the client and doesn't enforce it server-side\n4. Send API keys as the Basic auth username with an empty password to external.pleo.io. Legacy tokens for openapi.pleo.io don't work there\n5. Budget every endpoint against one bucket of 600 requests a minute per credential, and on 429 wait for Retry-After or back off from one second\n6. Swap mcp.staging.pleo.io for mcp.pleo.io in the Claude Code command when moving from staging to production. Each needs its own OAuth sign-in\n\n## Questions\n\n### Which is better for AI agents, Payhawk API + MCP or Pleo API + MCP?\n\nPleo API + MCP scores 62.9 (B) on agent readiness against Payhawk API + MCP's 57.1 (C), and leads in 5 of 7 scored categories.\n\n### Do Payhawk API + MCP and Pleo API + MCP need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Payhawk API + MCP and Pleo API + MCP without installing anything?\n\nYes. Payhawk API + MCP has a hosted endpoint at https://api.payhawk.com and Pleo API + MCP at https://external.pleo.io.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/payhawk-vs-pleo.json, and with the fewest tokens: https://www.anchorterminal.com/compare/payhawk-vs-pleo.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"payhawk\", \"b\": \"pleo\"}`. From a terminal: `anchor compare payhawk pleo`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/payhawk.json and https://www.anchorterminal.com/api/v1/tools/pleo.json\n\n## Other comparisons with Payhawk API + MCP or Pleo API + MCP\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 Pleo API + MCP](https://www.anchorterminal.com/compare/airwallex-vs-pleo.md)\n- [BILL vs Payhawk API + MCP](https://www.anchorterminal.com/compare/bill-vs-payhawk.md)\n- [BILL vs Pleo API + MCP](https://www.anchorterminal.com/compare/bill-vs-pleo.md)\n- [Brex vs Payhawk API + MCP](https://www.anchorterminal.com/compare/brex-vs-payhawk.md)\n- [Brex vs Pleo API + MCP](https://www.anchorterminal.com/compare/brex-vs-pleo.md)\n- [Expensify vs Payhawk API + MCP](https://www.anchorterminal.com/compare/expensify-vs-payhawk.md)\n- [Expensify vs Pleo API + MCP](https://www.anchorterminal.com/compare/expensify-vs-pleo.md)\n- [Mercury API vs Payhawk API + MCP](https://www.anchorterminal.com/compare/mercury-vs-payhawk.md)\n- [Mercury API vs Pleo API + MCP](https://www.anchorterminal.com/compare/mercury-vs-pleo.md)\n- [Payhawk API + MCP vs Ramp](https://www.anchorterminal.com/compare/payhawk-vs-ramp.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- [Pleo API + MCP vs Spendesk API + MCP](https://www.anchorterminal.com/compare/pleo-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 Pleo API + MCP",
        "url": ""
      }
    ],
    "description": "Pleo API + MCP scores 62.9 (B) on agent readiness against Payhawk API + MCP's 57.1 (C), and leads in 5 of 7 scored categories. Both do spend transactions. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Payhawk API + MCP C 57.1",
      "Pleo API + MCP B 62.9",
      "scores"
    ],
    "h1": "Payhawk API + MCP vs Pleo API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-payhawk-vs-pleo.png",
    "path": "/compare/payhawk-vs-pleo",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Payhawk API + MCP vs Pleo API + MCP for AI agents, C 57.1 vs B 62.9",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/payhawk-vs-pleo"
  },
  "tokens": {
    "markdown": 2250,
    "slim": 630
  },
  "version": 1
}
