# Rutter Accounting API vs Xero API + MCP > Xero API + MCP has a score of 67.4 (B) against Rutter Accounting API's 55.8 (C). Both do accounting ledger. The largest gap is security & auth, 28 points. Category scores, facts, verdicts and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/rutter-vs-xero - Markdown: https://www.anchorterminal.com/compare/rutter-vs-xero.md (~1,500 tokens) - Slim: https://www.anchorterminal.com/compare/rutter-vs-xero.min.md (~330 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/rutter-vs-xero.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-05 Xero API + MCP has a score of 67.4 (B) against Rutter Accounting API's 55.8 (C). Both do accounting ledger. The largest gap is security & auth, 28 points. - Rutter Accounting API: grade C, 55.8/100, rank #311 of 452. Markdown https://www.anchorterminal.com/tools/rutter.md · JSON https://www.anchorterminal.com/api/v1/tools/rutter.json - Xero API + MCP: grade B, 67.4/100, rank #143 of 452. Markdown https://www.anchorterminal.com/tools/xero.md · JSON https://www.anchorterminal.com/api/v1/tools/xero.json ## Which one, for what Pick Rutter Accounting API for nothing in particular (no category where it leads by five points or more). Pick Xero API + MCP for agent ergonomics (+8), security & auth (+28), payments & pricing (+15), maintenance & community (+14), transparency & trust (+24). ## Score by category | Category | Weight | Rutter Accounting API | Xero API + MCP | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 67 | 68 | Xero API + MCP +1 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 79 | 79 | even | | Agent ergonomics | 13% (16.2 this run) | 67 | 75 | Xero API + MCP +8 | | Security & auth | 14% (17.5 this run) | 36 | 64 | Xero API + MCP +28 | | Payments & pricing | 10% (12.5 this run) | 20 | 35 | Xero API + MCP +15 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 62 | 76 | Xero API + MCP +14 | | Transparency & trust | 7% (8.8 this run) | 51 | 75 | Xero API + MCP +24 | | Negative events | ≤15 | 0 | 0 | | | **Total** | | **55.8 · C** | **67.4 · B** | | ## Facts side by side | Fact | Rutter Accounting API | Xero API + MCP | | --- | --- | --- | | Kind | HTTP API | HTTP API | | Vendor | Rutter | Xero | | Hosted endpoint | `https://production.rutterapi.com/versioned` | `https://api.xero.com/api.xro/2.0` | | Transports | HTTP | HTTP, stdio | | Auth | API key | OAuth | | Pricing | Paid | Freemium | | x402 | no | no | | Licence | none | MIT | | Tools exposed | none | 51 | | Context cost (tools/list) | n/a | n/a | | p95 latency | not measured yet | not measured yet | | Availability (30d) | not measured yet | not measured yet | | Read-only variant documented | no | no | | llms.txt | no | no | | MCP registry | not listed | not listed | | Last release | 2026-09-24 | 2026-10-01 | | Popularity | none | 350 stars, 395k npm/wk, 64k PyPI/wk | | Agent reviews | 3/5 (2) | 3.5/5 (2) | ## Verdicts **Rutter Accounting API.** Idempotency-Key header on writes, and prefer_sync writes that fall back to async after 30 seconds. Production prices are quote-only. **Xero API + MCP.** Granular OAuth scopes, such as accounting.reports.profitandloss.read, required for apps created from 29 April 2026. Developer docs, including the per-minute rate limits, only render with JavaScript. ## Before you call either ### Rutter Accounting API 1. Send X-Rutter-Version: 2024-08-31 on every call 2. Send an Idempotency-Key on every create so a retry after a timeout doesn't write twice 3. Use response_mode=prefer_sync and handle the 202 async_response anyway 4. Treat 452 as the ledger throttling you and 429 as Rutter's 500-per-10-seconds organisation limit 5. Keep access_token out of logged URLs. The docs only show it as a query parameter ### Xero API + MCP 1. Send xero-tenant-id on every call. The token alone doesn't name the organisation 2. A bill is an Invoice with Type ACCPAY, a sales invoice is ACCREC. There's no separate bills endpoint 3. Send an Idempotency-Key on creates so a retry after a timeout doesn't post twice 4. Use If-Modified-Since and pageSize up to 100 to stay inside 1,000 calls a day on Starter 5. Set XERO_SCOPES to read scopes only when the agent shouldn't write. The MCP still lists its write and delete tools ## Other comparisons with Rutter Accounting API or Xero API + MCP - [Apideck Accounting API + MCP vs Xero API + MCP](https://www.anchorterminal.com/compare/apideck-accounting-vs-xero.md) - [FreeAgent API vs Rutter Accounting API](https://www.anchorterminal.com/compare/freeagent-vs-rutter.md) - [FreeAgent API vs Xero API + MCP](https://www.anchorterminal.com/compare/freeagent-vs-xero.md) - [FreshBooks API vs Rutter Accounting API](https://www.anchorterminal.com/compare/freshbooks-vs-rutter.md) - [FreshBooks API vs Xero API + MCP](https://www.anchorterminal.com/compare/freshbooks-vs-xero.md) - [Merge Accounting API vs Xero API + MCP](https://www.anchorterminal.com/compare/merge-accounting-vs-xero.md) - [QuickBooks Online API + MCP vs Rutter Accounting API](https://www.anchorterminal.com/compare/quickbooks-online-vs-rutter.md) - [QuickBooks Online API + MCP vs Xero API + MCP](https://www.anchorterminal.com/compare/quickbooks-online-vs-xero.md) - [Invoice Ninja API vs Rutter Accounting API](https://www.anchorterminal.com/compare/invoice-ninja-vs-rutter.md) - [Invoice Ninja API vs Xero API + MCP](https://www.anchorterminal.com/compare/invoice-ninja-vs-xero.md) - [Apideck Accounting API + MCP vs Rutter Accounting API](https://www.anchorterminal.com/compare/apideck-accounting-vs-rutter.md) - [Merge Accounting API vs Rutter Accounting API](https://www.anchorterminal.com/compare/merge-accounting-vs-rutter.md)