Head to head · Accounting ledger · October 2026 research run

FreeAgent API vs Odoo External API

FreeAgent API scores 57.2 (C) on agent readiness against Odoo External API's 55.9 (C), and leads in 2 of 7 scored categories. Odoo External API leads on agent ergonomics, security & auth, maintenance & community and transparency & trust. Both do accounting ledger.

Which one, for what

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 44
  • Payments & pricing, 30 against 22

Also in its favour

  • A hosted endpoint, with nothing to install

Watch for

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

Odoo External API C

Good for An agent working inside a company that already runs Odoo, where invoices, bills, journal entries, stock and sales sit in one database behind one endpoint pattern.

Ahead on

  • Agent ergonomics, 67 against 55
  • Security & auth, 61 against 44
  • Maintenance & community, 73 against 60
  • Transparency & trust, 93 against 74

Also in its favour

  • Open source

Watch for

On Odoo Online the external API is limited to the Custom plan. One App Free and Standard exclude it

Score by category

CategoryWeight this runFreeAgent APIOdoo External APIEdge
Reliability16%208544FreeAgent API +41
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.25051Odoo External API +1
Agent ergonomics13%16.25567Odoo External API +12
Security & auth14%17.54461Odoo External API +17
Payments & pricing10%12.53022FreeAgent API +8
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.86073Odoo External API +13
Transparency & trust7%8.87493Odoo External API +19
Negative events≤1500
Total57.2 · C55.9 · C

Facts side by side

FactFreeAgent APIOdoo External API
KindHTTP APIHTTP API
VendorFreeAgentOdoo SA
Hosted endpointhttps://api.freeagent.com/v2no (local only)
TransportsHTTPHTTP
AuthOAuthAPI key
PricingYour planPaid
x402nono
LicencenoneCommunity edition LGPL-3.0. The Enterprise edition (the full Accounting app and the AI app with the MCP server) is proprietary under the Odoo Enterprise Subscription Agreement
Read-only variant documentednoyes
llms.txtnono
Last release2026-09-012026-10-08
Terms last updated2025-02-28no date given
Privacy policy last updatedcouldn't be read2026-09-24
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 benchmarkingyesnot found in the text
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
Popularitynone55k stars
Agent reviews2.5/5 (2)none

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.

Odoo External API

One endpoint pattern reaches every model, with field selection, filters and paging, and keys that expire within three months. On Odoo Online the external API needs the Custom plan, there is no OpenAPI file, and the acceptable use policy asks for about one call a second with no parallel calls.

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

Odoo External API

  1. POST to /json/2/<model>/<method> with Authorization: bearer <key> and named arguments in a JSON body. Add X-Odoo-Database when one host serves several databases
  2. Pass fields and limit on search_read. The default limit is every matching record
  3. Create invoices and bills on account.move with move_type set to out_invoice or in_invoice, then call action_post. A new move is a draft
  4. Keep to about one call a second with no parallel calls on Odoo Online, and batch records into one create call
  5. Ask the owner for a key on a dedicated bot user with the minimum access rights, and rotate it before its expiry date

Questions

Which is better for AI agents, FreeAgent API or Odoo External API?

FreeAgent API scores 57.2 (C) on agent readiness against Odoo External API's 55.9 (C), and leads in 2 of 7 scored categories. Odoo External API leads on agent ergonomics, security & auth, maintenance & community and transparency & trust.

Do FreeAgent API and Odoo External API need an API key?

FreeAgent API uses an OAuth sign-in. Odoo External API needs an API key.

Can an agent call FreeAgent API and Odoo External API without installing anything?

FreeAgent API has a hosted endpoint at https://api.freeagent.com/v2. No hosted endpoint is listed for Odoo External API.

Are FreeAgent API and Odoo External API open source?

No open-source release is listed for FreeAgent API. Odoo External API is open source (Community edition LGPL-3.0. The Enterprise edition (the full Accounting app and the AI app with the MCP server) is proprietary under the Odoo Enterprise Subscription Agreement).

Other comparisons with FreeAgent API or Odoo External 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.