# Brex vs Ramp > Brex scores 60.7 (C) on agent readiness against Ramp's 57.3 (C), and leads in 2 of 7 scored categories. Ramp leads on schema & documentation, security & auth and maintenance & community. Both do spend transactions. Category scores, facts, verdicts and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/brex-vs-ramp - Markdown: https://www.anchorterminal.com/compare/brex-vs-ramp.md (~1,950 tokens) - Slim: https://www.anchorterminal.com/compare/brex-vs-ramp.min.md (~730 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/brex-vs-ramp.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-08 Brex scores 60.7 (C) on agent readiness against Ramp's 57.3 (C), and leads in 2 of 7 scored categories. Ramp leads on schema & documentation, security & auth and maintenance & community. Both do spend transactions. - Brex: grade C, 60.7/100, rank #345 of 629. Markdown https://www.anchorterminal.com/tools/brex.md · JSON https://www.anchorterminal.com/api/v1/tools/brex.json - 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 ## Which one, for what ### Brex (C) Good 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. Ahead on: - Reliability, 60 against 30 Watch 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 ### Ramp (C) Good 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. Ahead on: - Schema & documentation, 86 against 80 - Security & auth, 79 against 72 - Maintenance & community, 74 against 66 Watch 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 ## Score by category | Category | Weight | Brex | Ramp | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 60 | 30 | Brex +30 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 80 | 86 | Ramp +6 | | Agent ergonomics | 13% (16.2 this run) | 70 | 66 | Brex +4 | | Security & auth | 14% (17.5 this run) | 72 | 79 | Ramp +7 | | Payments & pricing | 10% (12.5 this run) | 25 | 25 | even | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 66 | 74 | Ramp +8 | | Transparency & trust | 7% (8.8 this run) | 67 | 70 | Ramp +3 | | Negative events | ≤15 | -3 | -3 | | | **Total** | | **60.7 · C** | **57.3 · C** | | ## Facts side by side | Fact | Brex | Ramp | | --- | --- | --- | | Kind | HTTP API | HTTP API | | Vendor | Brex LLC | Ramp Business Corporation | | Hosted endpoint | `https://api.brex.com` | `https://api.ramp.com` | | Transports | HTTP | HTTP | | Auth | OAuth or key | OAuth | | Pricing | Freemium | Freemium | | x402 | no | no | | Licence | Proprietary service under the Brex Platform Agreement and the Brex Access Agreement | Proprietary service under the Ramp Platform Agreement and the API Agreement. The ramp-cli repository is MIT | | Tools exposed | 43 | none | | Read-only variant documented | yes | no | | llms.txt | yes | yes | | Last release | 2026-10-01 | 2026-10-07 | | Terms last updated | no date given | couldn't be read | | Privacy policy last updated | no date given | couldn't be read | | Customer content may train models | not found in the text | couldn't be read | | Terms restrict automated access | not found in the text | couldn't be read | | Terms restrict benchmarking | yes | couldn't be read | | Terms or service can change without notice | not found in the text | couldn't be read | | Arbitration or class-action waiver | yes | couldn't be read | | Popularity | none | 53 stars | ## 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. **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. ## Before you call either ### Brex 1. 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. 2. Send a stored `Idempotency-Key` on every POST and PUT. Create transfer and Create card reject requests without one. 3. Only settled transactions are returned. Poll card and cash transactions with `posted_at_start` and a lookback of at least one day. 4. Keep under 1,000 requests in 60 seconds per client and account, and back off exponentially with jitter on 429. 5. Send only ASCII in free-text fields, and quote the `X-Brex-Trace-Id` response header when reporting an error. ### Ramp 1. Send `scope` on the client credentials token request. Without it Ramp issues a token with no scopes and every resource call fails with 403 2. Follow the full URL in `next` to page. `page_size` defaults to 20 and stops at 100, and the cursor is opaque 3. 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 4. 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 5. Send `X-Idempotency-Key` when creating funds or procurement requests. Elsewhere a retried POST can create a duplicate, so read back before retrying ## Questions ### Which is better for AI agents, Brex or Ramp? Brex scores 60.7 (C) on agent readiness against Ramp's 57.3 (C), and leads in 2 of 7 scored categories. Ramp leads on schema & documentation, security & auth and maintenance & community. ### Do Brex and Ramp need an API key? Brex takes an API key or an OAuth sign-in. Ramp uses an OAuth sign-in. ### Can an agent call Brex and Ramp without installing anything? Yes. Brex has a hosted endpoint at https://api.brex.com and Ramp at https://api.ramp.com. ## For agents - This comparison as JSON: https://www.anchorterminal.com/compare/brex-vs-ramp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/brex-vs-ramp.min.md - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "brex", "b": "ramp"}`. From a terminal: `anchor compare brex ramp` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/brex.json and https://www.anchorterminal.com/api/v1/tools/ramp.json ## Other comparisons with Brex or Ramp - [Brex vs Expensify](https://www.anchorterminal.com/compare/brex-vs-expensify.md) - [Brex vs Pleo API + MCP](https://www.anchorterminal.com/compare/brex-vs-pleo.md) - [Brex vs Spendesk API + MCP](https://www.anchorterminal.com/compare/brex-vs-spendesk.md) - [Expensify vs Ramp](https://www.anchorterminal.com/compare/expensify-vs-ramp.md) - [Pleo API + MCP vs Ramp](https://www.anchorterminal.com/compare/pleo-vs-ramp.md) - [Ramp vs Spendesk API + MCP](https://www.anchorterminal.com/compare/ramp-vs-spendesk.md)