Head to head · Accounting ledgers · October 2026 research run

FreeAgent API vs Pennylane

Pennylane scores 66.3 (B) on agent readiness against FreeAgent API's 57.2 (C), and leads in 5 of 7 scored categories. FreeAgent API leads on reliability and payments & pricing. Both do accounting ledgers.

Best accounting and invoicing APIs for AI agents · All 66 accounting comparisons

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 75
  • Payments & pricing, 30 against 20

Watch for

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

Pennylane B

Good for An agent working on the books of French companies or an accounting firm's client portfolio, with French chart of accounts, FEC export, Factur-X e-invoicing and VAT returns.

Ahead on

  • Schema & documentation, 85 against 50
  • Agent ergonomics, 66 against 55
  • Security & auth, 68 against 44
  • Maintenance & community, 65 against 60

Watch for

The API agreement allows changes, suspension or revocation with or without notice and supplies the API as is

Score by category

CategoryWeight this runFreeAgent APIPennylaneEdge
Reliability16%208575FreeAgent API +10
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.25085Pennylane +35
Agent ergonomics13%16.25566Pennylane +11
Security & auth14%17.54468Pennylane +24
Payments & pricing10%12.53020FreeAgent API +10
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.86065Pennylane +5
Transparency & trust7%8.87476Pennylane +2
Negative events≤1500
Total57.2 · C66.3 · B

Facts side by side

FactFreeAgent APIPennylane
KindHTTP APIHTTP API
VendorFreeAgentPennylane SAS
Hosted endpointhttps://api.freeagent.com/v2https://app.pennylane.com/api/external/v2
TransportsHTTPHTTP
AuthOAuthOAuth or key
PricingYour planPaid
x402nono
LicencenoneProprietary service under Pennylane's API agreement and customer terms
Tools exposednone31
Read-only variant documentednoyes
llms.txtnoyes
Last release2026-09-012026-09-30
Terms last updated2025-02-28no date given
Privacy policy last updatedcouldn't be readno date given
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 textyes
Arbitration or class-action waivernot found in the textnot found in the text
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.

Pennylane

The v2 API has per-resource read and write scopes, an OpenAPI definition on every reference page, llms.txt and a breaking-change process that ran over 24 weeks. Access needs a paid Essentiel plan or partner approval, creation endpoints are not idempotent, and the API agreement lets Pennylane change or revoke the API without notice.

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

Pennylane

  1. Call GET https://app.pennylane.com/api/external/v2/me first to confirm the token, user and company context
  2. Stay under 25 requests per 5 seconds per token and wait for the retry-after value on a 429
  3. Do not retry a create after a timeout without checking first. Only supplier invoice imports are deduplicated
  4. Send filter and sort again with every cursor. The cursor stores position only
  5. Send amounts as strings such as "120.00", and ask for :readonly scopes when the task only reads
  6. Use the MCP server for reads only. It cannot create, edit or delete, and firm connections need company_id

Questions

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

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

Do FreeAgent API and Pennylane need an API key?

FreeAgent API uses an OAuth sign-in. Pennylane takes an API key or an OAuth sign-in.

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

Yes. FreeAgent API has a hosted endpoint at https://api.freeagent.com/v2 and Pennylane at https://app.pennylane.com/api/external/v2.

Other comparisons with FreeAgent API or Pennylane

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.