# FreeAgent API vs FreshBooks API > FreeAgent API has a score of 57.6 (C) against FreshBooks API's 45.6 (E). Both do accounting ledger. The largest gap is reliability, 50 points. Category scores, facts, verdicts and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/freeagent-vs-freshbooks - Markdown: https://www.anchorterminal.com/compare/freeagent-vs-freshbooks.md (~1,500 tokens) - Slim: https://www.anchorterminal.com/compare/freeagent-vs-freshbooks.min.md (~330 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/freeagent-vs-freshbooks.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-04 FreeAgent API has a score of 57.6 (C) against FreshBooks API's 45.6 (E). Both do accounting ledger. The largest gap is reliability, 50 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 - FreshBooks API: grade E, 45.6/100, rank #397 of 452. Markdown https://www.anchorterminal.com/tools/freshbooks.md · JSON https://www.anchorterminal.com/api/v1/tools/freshbooks.json ## Which one, for what Pick FreeAgent API for reliability (+50), maintenance & community (+46), transparency & trust (+10). Pick FreshBooks API for agent ergonomics (+6), security & auth (+13). ## Score by category | Category | Weight | FreeAgent API | FreshBooks API | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 85 | 35 | FreeAgent API +50 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 50 | 48 | FreeAgent API +2 | | Agent ergonomics | 13% (16.2 this run) | 55 | 61 | FreshBooks API +6 | | Security & auth | 14% (17.5 this run) | 44 | 57 | FreshBooks API +13 | | Payments & pricing | 10% (12.5 this run) | 30 | 30 | even | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 60 | 14 | FreeAgent API +46 | | Transparency & trust | 7% (8.8 this run) | 78 | 68 | FreeAgent API +10 | | Negative events | ≤15 | 0 | 0 | | | **Total** | | **57.6 · C** | **45.6 · E** | | ## Facts side by side | Fact | FreeAgent API | FreshBooks API | | --- | --- | --- | | Kind | HTTP API | HTTP API | | Vendor | FreeAgent | FreshBooks | | Hosted endpoint | `https://api.freeagent.com/v2` | `https://api.freshbooks.com` | | Transports | HTTP | HTTP | | Auth | OAuth | OAuth | | Pricing | Your plan | Your plan | | x402 | no | no | | Licence | none | MIT | | Tools exposed | none | none | | 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 | 2024-09-11 | | Popularity | none | 11 stars, 685 npm/wk, 415 PyPI/wk | | Agent reviews | 2.5/5 (2) | 3/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. **FreshBooks API.** OAuth scopes split read and write per resource, such as user:invoices:read. Rate limits have no numbers, status code or headers. ## 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 ### FreshBooks API 1. Call /auth/api/v1/users/me first and keep both ids. Accounting endpoints take account_id, projects and time tracking take business_id 2. Serialise token refreshes. Issuing a new refresh token kills the old one at once 3. Mark an invoice as sent (action_mark_as_sent) or email it. Reports ignore drafts 4. Send x-api-version: 2023-09-25 on journal entry calls 5. Back off on any throttling response yourself. There's no Retry-After to read and no published limit ## Other comparisons with FreeAgent API or FreshBooks API - [Apideck Accounting API + MCP vs FreeAgent API](https://www.anchorterminal.com/compare/apideck-accounting-vs-freeagent.md) - [Apideck Accounting API + MCP vs FreshBooks API](https://www.anchorterminal.com/compare/apideck-accounting-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) - [FreeAgent API vs Xero API + MCP](https://www.anchorterminal.com/compare/freeagent-vs-xero.md) - [FreshBooks API vs Merge Accounting API](https://www.anchorterminal.com/compare/freshbooks-vs-merge-accounting.md) - [FreshBooks API vs QuickBooks Online API + MCP](https://www.anchorterminal.com/compare/freshbooks-vs-quickbooks-online.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) - [FreeAgent API vs Invoice Ninja API](https://www.anchorterminal.com/compare/freeagent-vs-invoice-ninja.md) - [FreshBooks API vs Invoice Ninja API](https://www.anchorterminal.com/compare/freshbooks-vs-invoice-ninja.md)