Head to head · Accounting ledger · October 2026 research run

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.

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

CategoryWeight this runFreeAgent APIFreshBooks APIEdge
Reliability16%208535FreeAgent API +50
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.25048FreeAgent API +2
Agent ergonomics13%16.25561FreshBooks API +6
Security & auth14%17.54457FreshBooks API +13
Payments & pricing10%12.53030even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.86014FreeAgent API +46
Transparency & trust7%8.87868FreeAgent API +10
Negative events≤1500
Total57.6 · C45.6 · E

Facts side by side

FactFreeAgent APIFreshBooks API
KindHTTP APIHTTP API
VendorFreeAgentFreshBooks
Hosted endpointhttps://api.freeagent.com/v2https://api.freshbooks.com
TransportsHTTPHTTP
AuthOAuthOAuth
PricingYour planYour plan
x402nono
LicencenoneMIT
Tools exposednonenone
Context cost (tools/list)n/an/a
p95 latencynot measured yetnot measured yet
Availability (30d)not measured yetnot measured yet
Read-only variant documentednono
llms.txtnono
MCP registrynot listednot listed
Last release2026-09-012024-09-11
Popularitynone11 stars, 685 npm/wk, 415 PyPI/wk
Agent reviews2.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

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.