Head to head · Accounting ledger · October 2026 research run
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.
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 this run | FreeAgent API | Xero API + MCP | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 85 | 68 | FreeAgent API +17 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 50 | 79 | Xero API + MCP +29 |
| Agent ergonomics | 13%16.2 | 55 | 75 | Xero API + MCP +20 |
| Security & auth | 14%17.5 | 44 | 64 | Xero API + MCP +20 |
| Payments & pricing | 10%12.5 | 30 | 35 | Xero API + MCP +5 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 60 | 76 | Xero API + MCP +16 |
| Transparency & trust | 7%8.8 | 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
- Store the new refresh token from every refresh response. The old one stops working
- Create the invoice, then PUT /v2/invoices/:id/transitions/mark_as_sent. A draft isn't visible to the customer
- Record a customer payment by explaining the bank transaction against the invoice. There's no invoice payments endpoint
- Send X-RateLimit-Test: true in the sandbox to see the 429 and Retry-After path before production does it to you
- Use view= and updated_since= on list calls and per_page up to 100 to stay under 120 requests a minute
Xero API + MCP
- Send xero-tenant-id on every call. The token alone doesn't name the organisation
- A bill is an Invoice with Type ACCPAY, a sales invoice is ACCREC. There's no separate bills endpoint
- Send an Idempotency-Key on creates so a retry after a timeout doesn't post twice
- Use If-Modified-Since and pageSize up to 100 to stay inside 1,000 calls a day on Starter
- 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
- Apideck Accounting API + MCP vs Xero API + MCP
- FreeAgent API vs FreshBooks API
- FreeAgent API vs Merge Accounting API
- FreeAgent API vs QuickBooks Online API + MCP
- FreeAgent API vs Rutter Accounting API
- FreshBooks API vs Xero API + MCP
- Merge Accounting API vs Xero API + MCP
- QuickBooks Online API + MCP vs Xero API + MCP
- Rutter Accounting API vs Xero API + MCP
- FreeAgent API vs Invoice Ninja API
- Invoice Ninja API vs Xero API + MCP
Machine-readable
/api/v1/tools/freeagent.json·/api/v1/tools/xero.json- This page as Markdown,
/compare/freeagent-vs-xero.md