Head to head · Accounting ledger · October 2026 research run

FreeAgent API vs QuickBooks Online API + MCP

FreeAgent API has a score of 57.6 (C) against QuickBooks Online API + MCP's 49.3 (D). Both do accounting ledger. The largest gap is reliability, 40 points.

Which one, for what

Pick FreeAgent API for

  • reliability (+40)
  • schema & documentation (+7)
  • security & auth (+6)
  • transparency & trust (+27)

Pick QuickBooks Online API + MCP for

  • agent ergonomics (+13)
  • maintenance & community (+25)

Score by category

CategoryWeight this runFreeAgent APIQuickBooks Online API + MCPEdge
Reliability16%208545FreeAgent API +40
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.25043FreeAgent API +7
Agent ergonomics13%16.25568QuickBooks Online API + MCP +13
Security & auth14%17.54438FreeAgent API +6
Payments & pricing10%12.53030even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.86085QuickBooks Online API + MCP +25
Transparency & trust7%8.87851FreeAgent API +27
Negative events≤1500
Total57.6 · C49.3 · D

Facts side by side

FactFreeAgent APIQuickBooks Online API + MCP
KindHTTP APIHTTP API
VendorFreeAgentIntuit
Hosted endpointhttps://api.freeagent.com/v2https://quickbooks.api.intuit.com/v3
TransportsHTTPHTTP, stdio
AuthOAuthOAuth
PricingYour planYour plan
x402nono
LicencenoneMIT
Tools exposednone145
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-012026-09-17
Popularitynone145 stars, 400k npm/wk, 260k PyPI/wk
Agent reviews2.5/5 (2)2/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.

QuickBooks Online API + MCP

Official MCP server from Intuit with 145 tools and flags to remove write, update or delete tools. Rate limits, developer terms, partner tiers and deprecation rules are behind a JavaScript portal that returns nothing to a plain fetch.

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

QuickBooks Online API + MCP

  1. Store the realmId with the tokens. Every URL needs it and the token alone doesn't name the company
  2. Persist the new refresh token from every refresh response. The previous one expires 24 hours later
  3. Use the query endpoint with MAXRESULTS and STARTPOSITION for reads rather than fetching by id
  4. Send a unique requestid query parameter on writes, so a retry returns the first response instead of posting twice
  5. On 429, wait for Retry-After before retrying, and don't retry other 4xx errors

Other comparisons with FreeAgent API or QuickBooks Online API + MCP

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.