Head to head · Accounting invoices · October 2026 research run

Invoice Ninja API vs Xero API + MCP

Xero API + MCP has a score of 67.4 (B) against Invoice Ninja API's 52.4 (D). Both do accounting invoices. The largest gap is reliability, 32 points.

Which one, for what

Pick Invoice Ninja API for

  • maintenance & community (+7)

Pick Xero API + MCP for

  • reliability (+32)
  • schema & documentation (+13)
  • agent ergonomics (+15)
  • security & auth (+16)
  • transparency & trust (+10)

Score by category

CategoryWeight this runInvoice Ninja APIXero API + MCPEdge
Reliability16%203668Xero API + MCP +32
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.26679Xero API + MCP +13
Agent ergonomics13%16.26075Xero API + MCP +15
Security & auth14%17.54864Xero API + MCP +16
Payments & pricing10%12.53535even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88376Invoice Ninja API +7
Transparency & trust7%8.86575Xero API + MCP +10
Negative events≤15-10
Total52.4 · D67.4 · B

Facts side by side

FactInvoice Ninja APIXero API + MCP
KindHTTP APIHTTP API
VendorInvoice NinjaXero
Hosted endpointhttps://invoicing.co/api/v1https://api.xero.com/api.xro/2.0
TransportsHTTPHTTP, stdio
AuthAPI keyOAuth
PricingFreemiumFreemium
x402nono
LicenceElastic License 2.0MIT
Tools exposednone51
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-182026-10-01
Popularity10k stars350 stars, 395k npm/wk, 64k PyPI/wk
Agent reviews2.5/5 (2)3.5/5 (2)

Verdicts

Invoice Ninja API

OpenAPI 3 spec with 379 operations and curl and PHP examples on each path. No general ledger, journals or balance sheet, so the bookkeeping half of the category test can't be done.

Xero API + MCP

Granular OAuth scopes, such as accounting.reports.profitandloss.read, required for apps created from 29 April 2026. Developer docs, including the per-minute rate limits, only render with JavaScript.

Before you call either

Invoice Ninja API

  1. Send X-Requested-With: XMLHttpRequest with X-API-TOKEN on every call
  2. Prototype against demo.invoiceninja.com with X-API-TOKEN: TOKEN before asking for real credentials
  3. Add ?mark_sent=true to the save to make an invoice live, or ?send_email=true to send it. A plain create is a draft
  4. Stay under 1,000 requests a minute per token on the hosted service and 20 a minute on report exports
  5. Record a supplier bill as an expense or purchase order. There's no bills resource

Xero API + MCP

  1. Send xero-tenant-id on every call. The token alone doesn't name the organisation
  2. A bill is an Invoice with Type ACCPAY, a sales invoice is ACCREC. There's no separate bills endpoint
  3. Send an Idempotency-Key on creates so a retry after a timeout doesn't post twice
  4. Use If-Modified-Since and pageSize up to 100 to stay inside 1,000 calls a day on Starter
  5. Set XERO_SCOPES to read scopes only when the agent shouldn't write. The MCP still lists its write and delete tools

Other comparisons with Invoice Ninja API or Xero 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.