{
  "data": {
    "a": {
      "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": 293,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 1,
        "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-08T18:20:37.689130608Z",
          "lastOk": true,
          "lastStatus": 403,
          "lastMs": 107,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 94,
          "p95ms24h": 163,
          "samples24h": 33,
          "samples30d": 33,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 33,
              "ok": 33
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.pleo.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T18:22:15.952094673Z"
        },
        "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-08T18:22:15.952094673Z"
      }
    },
    "answer": "Pleo API + MCP scores 62.9 (B) on agent readiness against Ramp's 57.3 (C), and leads in 2 of 7 scored categories. Ramp leads on agent ergonomics, security \u0026 auth, payments \u0026 pricing and maintenance \u0026 community.",
    "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": 423,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 4,
        "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-08T18:20:38.384448827Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 139,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 137,
          "p95ms24h": 194,
          "samples24h": 33,
          "samples30d": 33,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 33,
              "ok": 33
            }
          ]
        },
        "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-08T18:23:38.570721399Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Pleo Technologies A/S",
        "b": "Ramp Business Corporation",
        "name": "Vendor"
      },
      {
        "a": "https://external.pleo.io",
        "b": "https://api.ramp.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable 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 Pleo's Master Service Agreement, API Terms of Service and AI Access Terms",
        "b": "Proprietary service under the Ramp Platform Agreement and the API Agreement. The ramp-cli repository is MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-02",
        "b": "2026-10-07",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "",
        "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": "Pleo API + MCP scores 62.9 (B) on agent readiness against Ramp's 57.3 (C), and leads in 2 of 7 scored categories. Ramp leads on agent ergonomics, security \u0026 auth, payments \u0026 pricing and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Pleo API + MCP or Ramp?"
      },
      {
        "answer": "Pleo API + MCP takes an API key or an OAuth sign-in. Ramp uses an OAuth sign-in.",
        "question": "Do Pleo API + MCP and Ramp need an API key?"
      },
      {
        "answer": "Yes. Pleo API + MCP has a hosted endpoint at https://external.pleo.io and Ramp at https://api.ramp.com.",
        "question": "Can an agent call Pleo API + MCP and Ramp without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 71 against 30",
          "Transparency \u0026 trust, 75 against 70"
        ],
        "also": [
          "No incidents deducted, where Ramp loses 3 points for them"
        ],
        "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)"
      },
      {
        "aheadOn": [
          "Agent ergonomics, 66 against 55",
          "Security \u0026 auth, 79 against 71",
          "Payments \u0026 pricing, 25 against 15",
          "Maintenance \u0026 community, 74 against 64"
        ],
        "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/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/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-pleo.json",
        "title": "Expensify vs Pleo API + MCP",
        "url": "https://www.anchorterminal.com/compare/expensify-vs-pleo"
      },
      {
        "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/pleo-vs-spendesk.json",
        "title": "Pleo API + MCP vs Spendesk API + MCP",
        "url": "https://www.anchorterminal.com/compare/pleo-vs-spendesk"
      },
      {
        "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": 41,
        "edge": "pleo",
        "key": "reliability",
        "name": "Reliability",
        "pleo": 71,
        "ramp": 30,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 4,
        "edge": "ramp",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "pleo": 82,
        "ramp": 86,
        "weight": 13
      },
      {
        "by": 11,
        "edge": "ramp",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "pleo": 55,
        "ramp": 66,
        "weight": 13
      },
      {
        "by": 8,
        "edge": "ramp",
        "key": "security",
        "name": "Security \u0026 auth",
        "pleo": 71,
        "ramp": 79,
        "weight": 14
      },
      {
        "by": 10,
        "edge": "ramp",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "pleo": 15,
        "ramp": 25,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "edge": "ramp",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "pleo": 64,
        "ramp": 74,
        "weight": 7
      },
      {
        "by": 5,
        "edge": "pleo",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "pleo": 75,
        "ramp": 70,
        "weight": 7
      }
    ],
    "summary": "Pleo API + MCP scores 62.9 (B) on agent readiness against Ramp's 57.3 (C), and leads in 2 of 7 scored categories. Ramp leads on agent ergonomics, security \u0026 auth, payments \u0026 pricing and maintenance \u0026 community. Both do spend transactions.",
    "verdicts": {
      "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.",
      "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/pleo-vs-ramp",
    "json": "https://www.anchorterminal.com/compare/pleo-vs-ramp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/pleo-vs-ramp.md",
    "slim": "https://www.anchorterminal.com/compare/pleo-vs-ramp.min.md"
  },
  "markdown": "Pleo API + MCP scores 62.9 (B) on agent readiness against Ramp's 57.3 (C), and leads in 2 of 7 scored categories. Ramp leads on agent ergonomics, security \u0026 auth, payments \u0026 pricing and maintenance \u0026 community. Both do spend transactions.\n\n- Pleo API + MCP: grade B, 62.9/100, rank #293 of 629. Markdown https://www.anchorterminal.com/tools/pleo.md · JSON https://www.anchorterminal.com/api/v1/tools/pleo.json\n- Ramp: grade C, 57.3/100, rank #423 of 629. 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### 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 30\n- Transparency \u0026 trust, 75 against 70\n\nAlso in its favour:\n- No incidents deducted, where Ramp loses 3 points for them\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### 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- Agent ergonomics, 66 against 55\n- Security \u0026 auth, 79 against 71\n- Payments \u0026 pricing, 25 against 15\n- Maintenance \u0026 community, 74 against 64\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 | Pleo API + MCP | Ramp | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 71 | 30 | Pleo API + MCP +41 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 82 | 86 | Ramp +4 |\n| Agent ergonomics | 13% (16.2 this run) | 55 | 66 | Ramp +11 |\n| Security \u0026 auth | 14% (17.5 this run) | 71 | 79 | Ramp +8 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 15 | 25 | Ramp +10 |\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) | 75 | 70 | Pleo API + MCP +5 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **62.9 · B** | **57.3 · C** | |\n\n## Facts side by side\n\n| Fact | Pleo API + MCP | Ramp |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Pleo Technologies A/S | Ramp Business Corporation |\n| Hosted endpoint | `https://external.pleo.io` | `https://api.ramp.com` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth or key | OAuth |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under Pleo's Master Service Agreement, API Terms of Service and AI Access Terms | Proprietary service under the Ramp Platform Agreement and the API Agreement. The ramp-cli repository is MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-02 | 2026-10-07 |\n| Terms last updated | no date given | couldn't be read |\n| Privacy policy last updated |  | 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**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**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### 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### 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, Pleo API + MCP or Ramp?\n\nPleo API + MCP scores 62.9 (B) on agent readiness against Ramp's 57.3 (C), and leads in 2 of 7 scored categories. Ramp leads on agent ergonomics, security \u0026 auth, payments \u0026 pricing and maintenance \u0026 community.\n\n### Do Pleo API + MCP and Ramp need an API key?\n\nPleo API + MCP takes an API key or an OAuth sign-in. Ramp uses an OAuth sign-in.\n\n### Can an agent call Pleo API + MCP and Ramp without installing anything?\n\nYes. Pleo API + MCP has a hosted endpoint at https://external.pleo.io and Ramp at https://api.ramp.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/pleo-vs-ramp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/pleo-vs-ramp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"pleo\", \"b\": \"ramp\"}`. From a terminal: `anchor compare pleo ramp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/pleo.json and https://www.anchorterminal.com/api/v1/tools/ramp.json\n\n## Other comparisons with Pleo API + MCP or Ramp\n\n- [Brex vs Pleo API + MCP](https://www.anchorterminal.com/compare/brex-vs-pleo.md)\n- [Brex vs Ramp](https://www.anchorterminal.com/compare/brex-vs-ramp.md)\n- [Expensify vs Pleo API + MCP](https://www.anchorterminal.com/compare/expensify-vs-pleo.md)\n- [Expensify vs Ramp](https://www.anchorterminal.com/compare/expensify-vs-ramp.md)\n- [Pleo API + MCP vs Spendesk API + MCP](https://www.anchorterminal.com/compare/pleo-vs-spendesk.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": "Pleo API + MCP vs Ramp",
        "url": ""
      }
    ],
    "description": "Pleo API + MCP scores 62.9 (B) on agent readiness against Ramp's 57.3 (C), and leads in 2 of 7 scored categories. Ramp leads on agent ergonomics, security \u0026 auth, payments \u0026 pricing and maintenance \u0026 community. Both do spend transactions. Category scores, facts, verdicts and…",
    "facts": [
      "Pleo API + MCP B 62.9",
      "Ramp C 57.3",
      "scores"
    ],
    "h1": "Pleo API + MCP vs Ramp",
    "image": "https://www.anchorterminal.com/assets/og/compare-pleo-vs-ramp.png",
    "path": "/compare/pleo-vs-ramp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Pleo API + MCP vs Ramp for AI agents, B 62.9 vs C 57.3",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/pleo-vs-ramp"
  },
  "tokens": {
    "markdown": 2100,
    "slim": 780
  },
  "version": 1
}
