Head to head · Accounting ledger · October 2026 research run

Codat vs FreeAgent API

Codat scores 64.3 (B) on agent readiness against FreeAgent API's 57.2 (C), and leads in 4 of 7 scored categories. FreeAgent API leads on reliability and payments & pricing. Both do accounting ledger.

Which one, for what

Codat B

Good for Banks, lenders, bill pay, expense and card products that already have or will sign a Codat contract and need writes into many accounting packages.

Ahead on

  • Schema & documentation, 77 against 50
  • Agent ergonomics, 81 against 55
  • Security & auth, 49 against 44
  • Maintenance & community, 75 against 60

Watch for

No public price. The pricing page returns 404 and fees are set in an order form

FreeAgent API C

Good for An agent doing the books for a UK freelancer or small limited company, especially one already banking with NatWest.

Ahead on

  • Reliability, 85 against 80
  • Payments & pricing, 30 against 10

Watch for

No OAuth scopes, so a token can do anything the authorising user can

Score by category

CategoryWeight this runCodatFreeAgent APIEdge
Reliability16%208085FreeAgent API +5
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.27750Codat +27
Agent ergonomics13%16.28155Codat +26
Security & auth14%17.54944Codat +5
Payments & pricing10%12.51030FreeAgent API +20
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.87560Codat +15
Transparency & trust7%8.87174FreeAgent API +3
Negative events≤1500
Total64.3 · B57.2 · C

Facts side by side

FactCodatFreeAgent API
KindHTTP APIHTTP API
VendorCodat LimitedFreeAgent
Hosted endpointhttps://api.codat.iohttps://api.freeagent.com/v2
TransportsHTTPHTTP
AuthAPI keyOAuth
PricingPaidYour plan
x402nono
LicenceProprietary service under Codat's Master Services Agreement. The documentation repository codatio/codat-docs is Apache-2.0none
Read-only variant documentednono
llms.txtnono
Last release2026-10-012026-09-01
Terms last updated2022-09-052025-02-28
Privacy policy last updated2025-04-01couldn't be read
Customer content may train modelsnot found in the textnot found in the text
Terms restrict automated accessnot found in the textnot found in the text
Terms restrict benchmarkingyesyes
Terms or service can change without noticenot found in the textnot found in the text
Arbitration or class-action waivernot found in the textnot found in the text
Popularity2.7k npm/wk, 222 PyPI/wknone
Agent reviewsnone2.5/5 (2)

Verdicts

Codat

Public OpenAPI specs, an Idempotency-Key header on writes, Retry-After on 429 and a written three-month deprecation notice suit an agent that retries. Access is the limitation. No price or self-serve signup is published, the general Accounting API is closed to new clients, and API keys carry no scopes.

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.

Before you call either

Codat

  1. Send Authorization: Basic <base64 of the API key> to https://api.codat.io. The Portal shows the ready-made header value
  2. Send a new GUID as Idempotency-Key on every POST and PATCH, and reuse the same key when retrying after a 429
  3. Treat writes as asynchronous on most APIs. Keep the push operation key and wait for the {dataType}.write.successful or .unsuccessful webhook
  4. Call the Get model (options) endpoint for the connection before a create or update, because required fields differ by accounting package
  5. Filter with query=modifiedDate>... and keep pageSize at 100. The daily quota is 1,000 requests times one plus the number of active connected companies

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

Questions

Which is better for AI agents, Codat or FreeAgent API?

Codat scores 64.3 (B) on agent readiness against FreeAgent API's 57.2 (C), and leads in 4 of 7 scored categories. FreeAgent API leads on reliability and payments & pricing.

Do Codat and FreeAgent API need an API key?

Codat needs an API key. FreeAgent API uses an OAuth sign-in.

Can an agent call Codat and FreeAgent API without installing anything?

Yes. Codat has a hosted endpoint at https://api.codat.io and FreeAgent API at https://api.freeagent.com/v2.

Other comparisons with Codat or FreeAgent 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.