{
  "data": {
    "a": {
      "slug": "brex",
      "name": "Brex",
      "vendor": "Brex LLC",
      "vendorUrl": "https://www.brex.com",
      "kind": "http-api",
      "category": "spend-management",
      "summary": "Brex is a spend platform with corporate cards, expense management, bill pay, travel and business accounts. Its REST Developer API reads and writes cards, expenses, spend limits, vendors and transfers, and a hosted MCP server is in beta.",
      "url": "https://www.anchorterminal.com/tools/brex",
      "markdownUrl": "https://www.anchorterminal.com/tools/brex.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/brex.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/brex.json",
      "license": "Proprietary service under the Brex Platform Agreement and the Brex Access Agreement",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.brex.com",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Access is self-serve for a Brex customer. An account admin or card admin accepts the Developer API agreement in the dashboard, then creates a user token with chosen scopes at Settings \u003e Developer. The token is sent as a Bearer header, is shown once, can be revoked, and expires after 90 days without a call. Partners acting for other Brex accounts apply to Brex for a client ID and secret and use the OAuth 2.0 authorisation code grant, with one-hour access tokens and refresh tokens. The MCP server takes OAuth with dynamic client registration, where each employee signs in with their own permissions, or an admin's user token.",
      "pricing": "freemium",
      "pricingNotes": "No separate API fee. brex.com/pricing lists Brex API access under Essentials at $0 per user per month, with Premium at $12 per user per month and Enterprise priced on request. Access needs an approved Brex business account, so an agent can't start without one. There is no customer sandbox, and the staging server is for approved partners only. The Access Agreement lets Brex introduce API fees on 30 days' notice (checked 2026-10-08).",
      "priceSummary": "$12 / seat-mo",
      "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": 43,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developer.brex.com",
      "llmsTxt": "https://developer.brex.com/llms.txt",
      "openapi": "https://developer.brex.com/_bundle/openapi/team_api.yaml",
      "capabilities": [
        "spend.transactions",
        "spend.expenses",
        "spend.cards",
        "spend.bills"
      ],
      "tags": [
        "hosted",
        "freemium",
        "api-key",
        "oauth",
        "mcp",
        "openapi",
        "llms-txt",
        "webhooks",
        "status-page",
        "soc2",
        "pci-dss"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.7,
        "grade": "C",
        "agentReady": false,
        "rank": 452,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 66,
          "payments": 25,
          "reliability": 60,
          "schema": 80,
          "security": 72,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-02 and 2026-09. The changelog records the List expenses maximum `limit` cut from 1,000 to 100 in February 2026, and `GET /v2/users/{id}/limit` removed from the Team API in September 2026 without a deprecated label in the entry. The Team API is at version 1.0, and the launch-stages page says breaking changes to generally available APIs come as new versions with deprecation timelines. Both changes are documented in the month they shipped, and notice by email couldn't be checked, so the smallest deduction applies (https://developer.brex.com/changelog)."
        ],
        "verdict": "User tokens carry per-resource scopes with read-only variants, every POST and PUT accepts an `Idempotency-Key`, and ten OpenAPI specs are public. The Expenses API changes only an expense's memo, there is no customer sandbox or official SDK, and the status page logs API errors lasting over four hours on 4 August 2026.",
        "bestFor": "A finance team already on Brex that wants an agent to read expenses and transactions, issue and lock cards, set spend limits, upload receipts and pay vendors.",
        "strengths": [
          "Ten public OpenAPI 3 specs covering 115 operations, plus llms.txt and a Markdown twin of every docs page",
          "User tokens take scopes chosen at creation, most with a read-only variant, and card numbers need the separate `cards.pan` scope",
          "Every POST and PUT accepts an `Idempotency-Key`, and Create transfer and Create card require one",
          "API access is listed on the Essentials plan at $0 per user per month",
          "The hosted MCP server uses OAuth with dynamic client registration and each employee's own Brex permissions"
        ],
        "weaknesses": [
          "The Expenses API update endpoint accepts only `memo`, so an outside agent can't set a category or custom field on an expense through it",
          "No customer sandbox. The docs say staging isn't a sandbox and won't accept customer tokens",
          "No official SDK. The docs list three community libraries that Brex doesn't support",
          "status.brex.com logs API request errors from 16:01 to 20:34 UTC on 4 August 2026 and invalidated developer tokens on 21 September 2026",
          "The MCP server is beta with 43 tools, and approvals and card management aren't available through it"
        ],
        "agentNotes": [
          "Ask an account admin or card admin for a user token with only the scopes the task needs, and prefer the `.readonly` variants. A token unused for 90 days expires.",
          "Send a stored `Idempotency-Key` on every POST and PUT. Create transfer and Create card reject requests without one.",
          "Only settled transactions are returned. Poll card and cash transactions with `posted_at_start` and a lookback of at least one day.",
          "Keep under 1,000 requests in 60 seconds per client and account, and back off exponentially with jitter on 429.",
          "Send only ASCII in free-text fields, and quote the `X-Brex-Trace-Id` response header when reporting an error."
        ],
        "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": 60.7
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 66,
          "payments": 25,
          "reliability": 60,
          "schema": 80,
          "security": 72,
          "transparency": 47
        },
        "provenanceScore": 86
      },
      "connect": {
        "http": "curl -i -X GET \\\n  https://api.brex.com/v2/users/me \\\n  -H 'Authorization: Bearer \u003cYOUR_TOKEN_FROM_STEP_1_HERE\u003e'",
        "claudeCode": "claude mcp add --transport http brex https://api.brex.com/mcp",
        "config": {
          "mcpServers": {
            "brex": {
              "headers": {
                "Authorization": "Bearer YOUR_BREX_ACCESS_TOKEN"
              },
              "type": "http",
              "url": "https://api.brex.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/spend.transactions",
        "tool": "https://letme.dev/brex"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Essentials plan",
          "unit": "seat-month",
          "usd": 0,
          "note": "Brex API access listed on this plan"
        },
        {
          "item": "Premium plan",
          "unit": "seat-month",
          "usd": 12,
          "note": "Enterprise is priced on request"
        }
      ],
      "provenance": {
        "legalEntity": "Brex LLC",
        "domain": "brex.com",
        "domainRegistered": "1998-10-22",
        "endpointOnVendorDomain": true,
        "terms": "https://www.brex.com/legal/platform-agreement",
        "privacy": "https://www.brex.com/legal/privacy",
        "statusPage": "https://status.brex.com",
        "changelog": "https://developer.brex.com/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Platform Agreement defines Brex as Brex LLC, a wholly owned subsidiary of Capital One, N.A., and the pricing page footer gives addresses in San Francisco and Salt Lake City.",
          "API use is also governed by the Brex Access Agreement at https://www.brex.com/legal/developer-portal, which an admin accepts in the dashboard before creating a token.",
          "The API and the MCP server answer at api.brex.com and the authorisation server at accounts-api.brex.com, both brex.com subdomains. The former host platform.brexapis.com still works per the docs.",
          "www.brex.com/.well-known/security.txt returns 404. brex.com/trust/responsible-disclosure has a disclosure policy and a form run with Bugcrowd.",
          "RDAP for brex.com gives a registration date of 1998-10-22."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/brex.json",
      "live": {
        "slug": "brex",
        "probe": {
          "target": "https://api.brex.com",
          "method": "get",
          "lastAt": "2026-10-09T10:42:38.579946515Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 359,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 436,
          "p95ms24h": 467,
          "samples24h": 207,
          "samples30d": 207,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 93,
              "ok": 93
            },
            {
              "date": "2026-10-09",
              "probes": 114,
              "ok": 114
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.brex.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-09T10:41:27.116963974Z"
        },
        "securityTxt": {
          "url": "https://brex.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:43.637271768Z"
        },
        "pages": [
          {
            "url": "https://developer.brex.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:17:07.265606865Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "953aa59e7531"
          },
          {
            "url": "https://www.brex.com/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:48.465771046Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b6066f1a37fc"
          },
          {
            "url": "https://www.brex.com/legal/platform-agreement",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:45.950905207Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "86931ef51c0f"
          }
        ],
        "updatedAt": "2026-10-09T10:42:38.579946515Z"
      }
    },
    "answer": "Brex scores 60.7 (C) on agent readiness against Payhawk API + MCP's 57.1 (C), and leads in 6 of 7 scored categories. Payhawk API + MCP leads on transparency \u0026 trust.",
    "b": {
      "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"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Brex LLC",
        "b": "Payhawk Limited",
        "name": "Vendor"
      },
      {
        "a": "https://api.brex.com",
        "b": "https://api.payhawk.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Brex Platform Agreement and the Brex Access Agreement",
        "b": "Proprietary service under Payhawk's general terms and conditions",
        "name": "Licence"
      },
      {
        "a": "43",
        "b": "82",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-01",
        "b": "2026-10-08",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2025-12-09",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-06-29",
        "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": "yes",
        "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": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      }
    ],
    "faq": [
      {
        "answer": "Brex scores 60.7 (C) on agent readiness against Payhawk API + MCP's 57.1 (C), and leads in 6 of 7 scored categories. Payhawk API + MCP leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, Brex or Payhawk API + MCP?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Brex and Payhawk API + MCP need an API key?"
      },
      {
        "answer": "Yes. Brex has a hosted endpoint at https://api.brex.com and Payhawk API + MCP at https://api.payhawk.com.",
        "question": "Can an agent call Brex and Payhawk API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 80 against 71",
          "Agent ergonomics, 70 against 52",
          "Payments \u0026 pricing, 25 against 13",
          "Maintenance \u0026 community, 66 against 53"
        ],
        "also": null,
        "goodFor": "A finance team already on Brex that wants an agent to read expenses and transactions, issue and lock cards, set spend limits, upload receipts and pay vendors.",
        "slug": "brex",
        "watchFor": "The Expenses API update endpoint accepts only `memo`, so an outside agent can't set a category or custom field on an expense through it"
      },
      {
        "aheadOn": [
          "Transparency \u0026 trust, 78 against 67"
        ],
        "also": [
          "No incidents deducted, where Brex 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"
      }
    ],
    "job": {
      "capability": "spend.transactions",
      "name": "Spend transactions"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/airwallex-vs-brex.json",
        "title": "Airwallex Spend and Issuing vs Brex",
        "url": "https://www.anchorterminal.com/compare/airwallex-vs-brex"
      },
      {
        "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/bill-vs-brex.json",
        "title": "BILL vs Brex",
        "url": "https://www.anchorterminal.com/compare/bill-vs-brex"
      },
      {
        "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/brex-vs-expensify.json",
        "title": "Brex vs Expensify",
        "url": "https://www.anchorterminal.com/compare/brex-vs-expensify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brex-vs-mercury.json",
        "title": "Brex vs Mercury API",
        "url": "https://www.anchorterminal.com/compare/brex-vs-mercury"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brex-vs-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/brex-vs-spendesk.json",
        "title": "Brex vs Spendesk API + MCP",
        "url": "https://www.anchorterminal.com/compare/brex-vs-spendesk"
      },
      {
        "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/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/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-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"
      }
    ],
    "scores": [
      {
        "brex": 60,
        "by": 2,
        "edge": "brex",
        "key": "reliability",
        "name": "Reliability",
        "payhawk": 58,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "brex": 80,
        "by": 9,
        "edge": "brex",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "payhawk": 71,
        "weight": 13
      },
      {
        "brex": 70,
        "by": 18,
        "edge": "brex",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "payhawk": 52,
        "weight": 13
      },
      {
        "brex": 72,
        "by": 1,
        "edge": "brex",
        "key": "security",
        "name": "Security \u0026 auth",
        "payhawk": 71,
        "weight": 14
      },
      {
        "brex": 25,
        "by": 12,
        "edge": "brex",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "payhawk": 13,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "brex": 66,
        "by": 13,
        "edge": "brex",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "payhawk": 53,
        "weight": 7
      },
      {
        "brex": 67,
        "by": 11,
        "edge": "payhawk",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "payhawk": 78,
        "weight": 7
      }
    ],
    "summary": "Brex scores 60.7 (C) on agent readiness against Payhawk API + MCP's 57.1 (C), and leads in 6 of 7 scored categories. Payhawk API + MCP leads on transparency \u0026 trust. Both do spend transactions.",
    "verdicts": {
      "brex": "User tokens carry per-resource scopes with read-only variants, every POST and PUT accepts an `Idempotency-Key`, and ten OpenAPI specs are public. The Expenses API changes only an expense's memo, there is no customer sandbox or official SDK, and the status page logs API errors lasting over four hours on 4 August 2026.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/brex-vs-payhawk",
    "json": "https://www.anchorterminal.com/compare/brex-vs-payhawk.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/brex-vs-payhawk.md",
    "slim": "https://www.anchorterminal.com/compare/brex-vs-payhawk.min.md"
  },
  "markdown": "Brex scores 60.7 (C) on agent readiness against Payhawk API + MCP's 57.1 (C), and leads in 6 of 7 scored categories. Payhawk API + MCP leads on transparency \u0026 trust. Both do spend transactions.\n\n- Brex: grade C, 60.7/100, rank #452 of 842. Markdown https://www.anchorterminal.com/tools/brex.md · JSON https://www.anchorterminal.com/api/v1/tools/brex.json\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\n## Which one, for what\n\n### Brex (C)\n\nGood for: A finance team already on Brex that wants an agent to read expenses and transactions, issue and lock cards, set spend limits, upload receipts and pay vendors.\n\nAhead on:\n- Schema \u0026 documentation, 80 against 71\n- Agent ergonomics, 70 against 52\n- Payments \u0026 pricing, 25 against 13\n- Maintenance \u0026 community, 66 against 53\n\nWatch for: The Expenses API update endpoint accepts only `memo`, so an outside agent can't set a category or custom field on an expense through it\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- Transparency \u0026 trust, 78 against 67\n\nAlso in its favour:\n- No incidents deducted, where Brex 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\n## Score by category\n\n| Category | Weight | Brex | Payhawk API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 58 | Brex +2 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 80 | 71 | Brex +9 |\n| Agent ergonomics | 13% (16.2 this run) | 70 | 52 | Brex +18 |\n| Security \u0026 auth | 14% (17.5 this run) | 72 | 71 | Brex +1 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 13 | Brex +12 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 66 | 53 | Brex +13 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 67 | 78 | Payhawk API + MCP +11 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **60.7 · C** | **57.1 · C** | |\n\n## Facts side by side\n\n| Fact | Brex | Payhawk API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Brex LLC | Payhawk Limited |\n| Hosted endpoint | `https://api.brex.com` | `https://api.payhawk.com` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under the Brex Platform Agreement and the Brex Access Agreement | Proprietary service under Payhawk's general terms and conditions |\n| Tools exposed | 43 | 82 |\n| Read-only variant documented | yes | yes |\n| llms.txt | yes | yes |\n| Last release | 2026-10-01 | 2026-10-08 |\n| Terms last updated | no date given | 2025-12-09 |\n| Privacy policy last updated | no date given | 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 | yes | 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 | yes | not found in the text |\n\n## Verdicts\n\n**Brex.** User tokens carry per-resource scopes with read-only variants, every POST and PUT accepts an `Idempotency-Key`, and ten OpenAPI specs are public. The Expenses API changes only an expense's memo, there is no customer sandbox or official SDK, and the status page logs API errors lasting over four hours on 4 August 2026.\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## Before you call either\n\n### Brex\n\n1. Ask an account admin or card admin for a user token with only the scopes the task needs, and prefer the `.readonly` variants. A token unused for 90 days expires.\n2. Send a stored `Idempotency-Key` on every POST and PUT. Create transfer and Create card reject requests without one.\n3. Only settled transactions are returned. Poll card and cash transactions with `posted_at_start` and a lookback of at least one day.\n4. Keep under 1,000 requests in 60 seconds per client and account, and back off exponentially with jitter on 429.\n5. Send only ASCII in free-text fields, and quote the `X-Brex-Trace-Id` response header when reporting an error.\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## Questions\n\n### Which is better for AI agents, Brex or Payhawk API + MCP?\n\nBrex scores 60.7 (C) on agent readiness against Payhawk API + MCP's 57.1 (C), and leads in 6 of 7 scored categories. Payhawk API + MCP leads on transparency \u0026 trust.\n\n### Do Brex and Payhawk API + MCP need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Brex and Payhawk API + MCP without installing anything?\n\nYes. Brex has a hosted endpoint at https://api.brex.com and Payhawk API + MCP at https://api.payhawk.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/brex-vs-payhawk.json, and with the fewest tokens: https://www.anchorterminal.com/compare/brex-vs-payhawk.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"brex\", \"b\": \"payhawk\"}`. From a terminal: `anchor compare brex payhawk`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/brex.json and https://www.anchorterminal.com/api/v1/tools/payhawk.json\n\n## Other comparisons with Brex or Payhawk API + MCP\n\n- [Airwallex Spend and Issuing vs Brex](https://www.anchorterminal.com/compare/airwallex-vs-brex.md)\n- [Airwallex Spend and Issuing vs Payhawk API + MCP](https://www.anchorterminal.com/compare/airwallex-vs-payhawk.md)\n- [BILL vs Brex](https://www.anchorterminal.com/compare/bill-vs-brex.md)\n- [BILL vs Payhawk API + MCP](https://www.anchorterminal.com/compare/bill-vs-payhawk.md)\n- [Brex vs Expensify](https://www.anchorterminal.com/compare/brex-vs-expensify.md)\n- [Brex vs Mercury API](https://www.anchorterminal.com/compare/brex-vs-mercury.md)\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- [Brex vs Spendesk API + MCP](https://www.anchorterminal.com/compare/brex-vs-spendesk.md)\n- [Expensify vs Payhawk API + MCP](https://www.anchorterminal.com/compare/expensify-vs-payhawk.md)\n- [Mercury API vs Payhawk API + MCP](https://www.anchorterminal.com/compare/mercury-vs-payhawk.md)\n- [Payhawk API + MCP vs Pleo API + MCP](https://www.anchorterminal.com/compare/payhawk-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",
  "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": "Brex vs Payhawk API + MCP",
        "url": ""
      }
    ],
    "description": "Brex scores 60.7 (C) on agent readiness against Payhawk API + MCP's 57.1 (C), and leads in 6 of 7 scored categories. Payhawk API + MCP leads on transparency \u0026 trust. Both do spend transactions. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Brex C 60.7",
      "Payhawk API + MCP C 57.1",
      "scores"
    ],
    "h1": "Brex vs Payhawk API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-brex-vs-payhawk.png",
    "path": "/compare/brex-vs-payhawk",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Brex vs Payhawk API + MCP for AI agents, C 60.7 vs C 57.1",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/brex-vs-payhawk"
  },
  "tokens": {
    "markdown": 2150,
    "slim": 630
  },
  "version": 1
}
