# FreeAgent API vs Xero API + MCP > Xero API + MCP has a score of 67.4 (B) against FreeAgent API's 57.6 (C). Both do accounting ledger. The largest gap is schema & documentation, 29 points. Category scores, facts, verdicts and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/freeagent-vs-xero - Markdown: https://www.anchorterminal.com/compare/freeagent-vs-xero.md (~1,500 tokens) - Slim: https://www.anchorterminal.com/compare/freeagent-vs-xero.min.md (~330 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/freeagent-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 FreeAgent API's 57.6 (C). Both do accounting ledger. The largest gap is schema & documentation, 29 points. - FreeAgent API: grade C, 57.6/100, rank #291 of 452. Markdown https://www.anchorterminal.com/tools/freeagent.md · JSON https://www.anchorterminal.com/api/v1/tools/freeagent.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 FreeAgent API for reliability (+17). Pick Xero API + MCP for schema & documentation (+29), agent ergonomics (+20), security & auth (+20), payments & pricing (+5), maintenance & community (+16). ## Score by category | Category | Weight | FreeAgent API | Xero API + MCP | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 85 | 68 | FreeAgent API +17 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 50 | 79 | Xero API + MCP +29 | | Agent ergonomics | 13% (16.2 this run) | 55 | 75 | Xero API + MCP +20 | | Security & auth | 14% (17.5 this run) | 44 | 64 | Xero API + MCP +20 | | Payments & pricing | 10% (12.5 this run) | 30 | 35 | Xero API + MCP +5 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 60 | 76 | Xero API + MCP +16 | | Transparency & trust | 7% (8.8 this run) | 78 | 75 | FreeAgent API +3 | | Negative events | ≤15 | 0 | 0 | | | **Total** | | **57.6 · C** | **67.4 · B** | | ## Facts side by side | Fact | FreeAgent API | Xero API + MCP | | --- | --- | --- | | Kind | HTTP API | HTTP API | | Vendor | FreeAgent | Xero | | Hosted endpoint | `https://api.freeagent.com/v2` | `https://api.xero.com/api.xro/2.0` | | Transports | HTTP | HTTP, stdio | | Auth | OAuth | OAuth | | Pricing | Your plan | 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-01 | 2026-10-01 | | Popularity | none | 350 stars, 395k npm/wk, 64k PyPI/wk | | Agent reviews | 2.5/5 (2) | 3.5/5 (2) | ## Verdicts **FreeAgent API.** Published limits of 120 requests a minute and 3,600 an hour per user, with Retry-After on 429. No OAuth scopes, so a token can do anything the authorising user can. **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 ### FreeAgent API 1. Store the new refresh token from every refresh response. The old one stops working 2. Create the invoice, then PUT /v2/invoices/:id/transitions/mark_as_sent. A draft isn't visible to the customer 3. Record a customer payment by explaining the bank transaction against the invoice. There's no invoice payments endpoint 4. Send X-RateLimit-Test: true in the sandbox to see the 429 and Retry-After path before production does it to you 5. Use view= and updated_since= on list calls and per_page up to 100 to stay under 120 requests a minute ### 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 FreeAgent API or Xero API + MCP - [Apideck Accounting API + MCP vs FreeAgent API](https://www.anchorterminal.com/compare/apideck-accounting-vs-freeagent.md) - [Apideck Accounting API + MCP vs Xero API + MCP](https://www.anchorterminal.com/compare/apideck-accounting-vs-xero.md) - [FreeAgent API vs FreshBooks API](https://www.anchorterminal.com/compare/freeagent-vs-freshbooks.md) - [FreeAgent API vs Merge Accounting API](https://www.anchorterminal.com/compare/freeagent-vs-merge-accounting.md) - [FreeAgent API vs QuickBooks Online API + MCP](https://www.anchorterminal.com/compare/freeagent-vs-quickbooks-online.md) - [FreeAgent API vs Rutter Accounting API](https://www.anchorterminal.com/compare/freeagent-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 Xero API + MCP](https://www.anchorterminal.com/compare/quickbooks-online-vs-xero.md) - [Rutter Accounting API vs Xero API + MCP](https://www.anchorterminal.com/compare/rutter-vs-xero.md) - [FreeAgent API vs Invoice Ninja API](https://www.anchorterminal.com/compare/freeagent-vs-invoice-ninja.md) - [Invoice Ninja API vs Xero API + MCP](https://www.anchorterminal.com/compare/invoice-ninja-vs-xero.md)