{
  "data": {
    "a": {
      "slug": "freeagent",
      "name": "FreeAgent API",
      "vendor": "FreeAgent",
      "vendorUrl": "https://dev.freeagent.com",
      "kind": "http-api",
      "category": "accounting",
      "summary": "REST API for FreeAgent, the UK small-business accounting product owned by NatWest Group.",
      "url": "https://www.anchorterminal.com/tools/freeagent",
      "markdownUrl": "https://www.anchorterminal.com/tools/freeagent.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/freeagent.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/freeagent.json",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.freeagent.com/v2",
      "packages": [],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 authorisation code. Register an app in the developer dashboard for an OAuth identifier and secret. Access tokens last one hour, and each refresh returns a new access token and a new refresh token, so store the replacement. One token per FreeAgent user who authorised the app. The same flow works against the sandbox at api.sandbox.freeagent.com.",
      "pricing": "byo-plan",
      "pricingNotes": "The API is free under section 4.1 of the API terms, with 30 days' notice before any fee is introduced. A live company needs a FreeAgent subscription, listed at £33 a month for a limited company on freeagent.com, or free with a NatWest, Royal Bank of Scotland, Ulster Bank or Mettle business account. The sandbox is a free temporary account at signup.sandbox.freeagent.com (https://dev.freeagent.com/docs/api_terms).",
      "priceSummary": "Your plan",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://dev.freeagent.com/docs",
      "capabilities": [
        "accounting.ledger",
        "accounting.invoices",
        "accounting.bills",
        "accounting.reports"
      ],
      "tags": [
        "hosted",
        "byo-plan",
        "free-tier",
        "oauth",
        "uk",
        "status-page",
        "closed-source"
      ],
      "lastRelease": "2026-09-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57.6,
        "grade": "C",
        "agentReady": false,
        "rank": 291,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 4,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 55,
          "maintenance": 60,
          "payments": 30,
          "reliability": 85,
          "schema": 50,
          "security": 44,
          "transparency": 78
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "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.",
        "strengths": [
          "Published limits of 120 requests a minute and 3,600 an hour per user, with Retry-After on 429",
          "X-RateLimit-Test header that lowers the sandbox to 5 requests a minute for testing back-off",
          "API free under section 4.1 of the terms, with 30 days' notice before any fee",
          "Free sandbox with its own sign-up and API host",
          "Valid security.txt, a disclosure policy and Cyber Essentials Plus"
        ],
        "weaknesses": [
          "No OAuth scopes, so a token can do anything the authorising user can",
          "No OpenAPI spec, SDK, llms.txt or official MCP server",
          "Error responses aren't documented beyond the 429",
          "UK only, so VAT, MTD and HMRC filings are the tax model",
          "API terms bar migrating data to a competitor and using the API for benchmarking or comparison"
        ],
        "agentNotes": [
          "Store the new refresh token from every refresh response. The old one stops working",
          "Create the invoice, then PUT /v2/invoices/:id/transitions/mark_as_sent. A draft isn't visible to the customer",
          "Record a customer payment by explaining the bank transaction against the invoice. There's no invoice payments endpoint",
          "Send X-RateLimit-Test: true in the sandbox to see the 429 and Retry-After path before production does it to you",
          "Use view= and updated_since= on list calls and per_page up to 100 to stay under 120 requests a minute"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57.6
          }
        ],
        "editorialScores": {
          "ergonomics": 55,
          "maintenance": 60,
          "payments": 30,
          "reliability": 85,
          "schema": 50,
          "security": 44,
          "transparency": 55
        },
        "provenanceScore": 100
      },
      "connect": {
        "http": "curl \"https://api.freeagent.com/v2/invoices?view=open\" \\\n  -H \"Authorization: Bearer $FREEAGENT_ACCESS_TOKEN\" -H \"Accept: application/json\""
      },
      "letme": {
        "capability": "https://letme.dev/accounting.ledger",
        "tool": "https://letme.dev/freeagent"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "FreeAgent Central Limited",
        "domain": "freeagent.com",
        "domainRegistered": "1999-04-15",
        "endpointOnVendorDomain": true,
        "terms": "https://dev.freeagent.com/docs/api_terms",
        "privacy": "https://www.freeagent.com/privacy/",
        "statusPage": "https://status.freeagent.com",
        "changelog": "https://dev.freeagent.com/docs/changes",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "The API terms name FreeAgent Central Limited, registered in Scotland (SC316774) at One Edinburgh Quay, 133 Fountainbridge, Edinburgh, wholly owned by NatWest Group.",
          "security.txt at www.freeagent.com expires 2027-04-17 and points to a disclosure policy.",
          "The terms let FreeAgent introduce API fees on 30 days' notice."
        ],
        "score": 100
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/freeagent.json",
      "live": {
        "slug": "freeagent",
        "probe": {
          "target": "https://api.freeagent.com/v2",
          "method": "get",
          "lastAt": "2026-10-04T23:32:47.657668028Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 59,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 64,
          "p95ms24h": 97,
          "samples24h": 272,
          "samples30d": 895,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 267,
              "ok": 267
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.freeagent.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-04T23:27:48.847257394Z"
        },
        "securityTxt": {
          "url": "https://freeagent.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-04-17T12:00:00.000Z",
          "checkedAt": "2026-10-04T15:16:05.554333751Z"
        },
        "domain": {
          "domain": "freeagent.com",
          "registered": "1999-04-15",
          "source": "https://rdap.verisign.com/com/v1/domain/freeagent.com",
          "checkedAt": "2026-10-04T13:09:45.721300128Z"
        },
        "pages": [
          {
            "url": "https://dev.freeagent.com/docs/changes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:42:25.757492175Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "bcc7787d161d"
          },
          {
            "url": "https://www.freeagent.com/privacy/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:50:18.517205932Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "12e01f7684e7"
          },
          {
            "url": "https://dev.freeagent.com/docs/api_terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:42:23.701205568Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ca4e227eec74"
          }
        ],
        "updatedAt": "2026-10-04T23:32:47.657668028Z"
      }
    },
    "b": {
      "slug": "invoice-ninja",
      "name": "Invoice Ninja API",
      "vendor": "Invoice Ninja",
      "vendorUrl": "https://www.invoiceninja.com",
      "kind": "http-api",
      "category": "accounting",
      "summary": "Source-available invoicing platform (Laravel) you can self-host or use hosted at invoicing.co.",
      "url": "https://www.anchorterminal.com/tools/invoice-ninja",
      "markdownUrl": "https://www.anchorterminal.com/tools/invoice-ninja.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/invoice-ninja.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/invoice-ninja.json",
      "repo": "https://github.com/invoiceninja/invoiceninja",
      "license": "Elastic License 2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://invoicing.co/api/v1",
      "packages": [],
      "auth": "api-key",
      "authNotes": "An API token from Settings, Account Management, Integrations, sent as `X-API-TOKEN`, plus `X-Requested-With: XMLHttpRequest` on every call. Self-hosted installs can also log in with email and password to get a token, and need `X-API-SECRET` on the login route when API_SECRET is set in .env. The demo at demo.invoiceninja.com accepts the token `TOKEN`.",
      "pricing": "freemium",
      "pricingNotes": "Hosted plans are Free (up to 5 clients, 1 user, unlimited invoices), Ninja Pro at $14 a month or $140 a year with unlimited clients and REST API access, Enterprise from $18 a month for 1 to 2 users up to $300 a month for 51 to 100 users, adding bank sync and PEPPOL e-invoicing, and Premium Business from $280 a year with developer support. Self-hosting is free under the Elastic License 2.0 with every Pro and Enterprise feature, and a white-label licence to remove the branding is $40 a year (https://invoiceninja.com/pricing-plans/).",
      "priceSummary": "$14 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 10000,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://api-docs.invoicing.co/",
      "openapi": "https://github.com/invoiceninja/invoiceninja/blob/v5-stable/openapi/api-docs.yaml",
      "capabilities": [
        "accounting.invoices",
        "accounting.reports"
      ],
      "tags": [
        "hosted",
        "self-hosted",
        "source-available",
        "freemium",
        "free-tier",
        "openapi",
        "webhooks",
        "status-page"
      ],
      "lastRelease": "2026-09-18",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 52.4,
        "grade": "D",
        "agentReady": false,
        "rank": 342,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 6,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 60,
          "maintenance": 83,
          "payments": 35,
          "reliability": 36,
          "schema": 66,
          "security": 48,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -1,
        "negativeNotes": [
          "-1: two moderate stored XSS advisories published 22 and 23 March 2026, GHSA-98wm-cxpw-847p (invoice line items, CVSS 5.4, fixed in 5.13.4) and GHSA-xph7-9749-56mh (product notes). Fixed and disclosed in public, so the deduction is small (https://github.com/invoiceninja/invoiceninja/security/advisories)"
        ],
        "verdict": "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.",
        "strengths": [
          "OpenAPI 3 spec with 379 operations and curl and PHP examples on each path",
          "Public demo endpoint with the token TOKEN, no account needed",
          "Self-hosting is free with every Pro and Enterprise feature",
          "16 tagged releases since 3 July, with PHPUnit CI across PHP 8.2 to 8.5",
          "Security advisories published on GitHub with fixed versions"
        ],
        "weaknesses": [
          "No general ledger, journals or balance sheet, so the bookkeeping half of the category test can't be done",
          "Rate limits aren't in the docs, only in the source",
          "Status page shows seven days and has no history page",
          "No scoped or read-only API tokens",
          "Hosted Free plan excludes the REST API"
        ],
        "agentNotes": [
          "Send X-Requested-With: XMLHttpRequest with X-API-TOKEN on every call",
          "Prototype against demo.invoiceninja.com with X-API-TOKEN: TOKEN before asking for real credentials",
          "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",
          "Stay under 1,000 requests a minute per token on the hosted service and 20 a minute on report exports",
          "Record a supplier bill as an expense or purchase order. There's no bills resource"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 52.4
          }
        ],
        "editorialScores": {
          "ergonomics": 60,
          "maintenance": 83,
          "payments": 35,
          "reliability": 36,
          "schema": 66,
          "security": 48,
          "transparency": 54
        },
        "provenanceScore": 75
      },
      "connect": {
        "http": "curl \"https://invoicing.co/api/v1/invoices?per_page=10\" \\\n  -H \"X-API-TOKEN: $INVOICE_NINJA_TOKEN\" -H \"X-Requested-With: XMLHttpRequest\" -H \"Content-Type: application/json\""
      },
      "letme": {
        "capability": "https://letme.dev/accounting.invoices",
        "tool": "https://letme.dev/invoice-ninja"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Ninja Pro",
          "unit": "month",
          "usd": 14,
          "note": "$140 a year, includes REST API access"
        },
        {
          "item": "Enterprise (1 to 2 users)",
          "unit": "month",
          "usd": 18
        }
      ],
      "provenance": {
        "legalEntity": "Invoice Ninja LLC",
        "domain": "invoiceninja.com",
        "domainRegistered": "2013-09-29",
        "endpointOnVendorDomain": false,
        "terms": "https://invoiceninja.github.io/docs/legal/terms-of-service",
        "privacy": "https://invoiceninja.github.io/docs/legal/data-privacy",
        "statusPage": "https://status.invoiceninja.com",
        "changelog": "https://github.com/invoiceninja/invoiceninja/releases",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The hosted API lives on invoicing.co while the brand and terms are on invoiceninja.com. Both are named in the terms of service as Invoice Ninja LLC domains.",
          "The terms of service give no registered address or jurisdiction for Invoice Ninja LLC.",
          "Terms and privacy pages are published from the docs repository on GitHub Pages and their paths changed in 2026, so older links return 404.",
          "The status page runs on Oh Dear and monitors invoiceninja.com and invoicing.co."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/invoice-ninja.json",
      "live": {
        "slug": "invoice-ninja",
        "probe": {
          "target": "https://invoicing.co/api/v1",
          "method": "get",
          "lastAt": "2026-10-04T23:32:48.982738157Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 304,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 308,
          "p95ms24h": 361,
          "samples24h": 272,
          "samples30d": 895,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 267,
              "ok": 267
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.invoiceninja.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:10.121347917Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "invoiceninja/invoiceninja",
            "version": "v5.13.43",
            "released": "2026-09-18",
            "seenAt": "2026-10-04T16:30:25.367276052Z"
          }
        ],
        "githubStars": 10214,
        "securityTxt": {
          "url": "https://invoiceninja.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:36.997657319Z"
        },
        "domain": {
          "domain": "invoiceninja.com",
          "registered": "2013-09-29",
          "source": "https://rdap.verisign.com/com/v1/domain/invoiceninja.com",
          "checkedAt": "2026-10-04T13:07:52.957286244Z"
        },
        "pages": [
          {
            "url": "https://invoiceninja.com/pricing-plans/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:45:07.411119564Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c58a0d69907d"
          },
          {
            "url": "https://invoiceninja.github.io/docs/legal/data-privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:45:10.121396691Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "84bc25c802b0"
          },
          {
            "url": "https://invoiceninja.github.io/docs/legal/terms-of-service",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:45:12.220569343Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6f674e061225"
          }
        ],
        "updatedAt": "2026-10-04T23:32:48.982738157Z"
      }
    },
    "summary": "FreeAgent API has a score of 57.6 (C) against Invoice Ninja API's 52.4 (D). Both do accounting invoices. The largest gap is reliability, 49 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/freeagent-vs-invoice-ninja",
    "json": "https://www.anchorterminal.com/compare/freeagent-vs-invoice-ninja.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/freeagent-vs-invoice-ninja.md",
    "slim": "https://www.anchorterminal.com/compare/freeagent-vs-invoice-ninja.min.md"
  },
  "markdown": "FreeAgent API has a score of 57.6 (C) against Invoice Ninja API's 52.4 (D). Both do accounting invoices. The largest gap is reliability, 49 points.\n\n- FreeAgent API: grade C, 57.6/100, rank #291 of 452. Markdown https://www.anchorterminal.com/tools/freeagent.md · JSON https://www.anchorterminal.com/api/v1/tools/freeagent.json\n- Invoice Ninja API: grade D, 52.4/100, rank #342 of 452. Markdown https://www.anchorterminal.com/tools/invoice-ninja.md · JSON https://www.anchorterminal.com/api/v1/tools/invoice-ninja.json\n\n## Which one, for what\n\nPick FreeAgent API for reliability (+49), transparency \u0026 trust (+13).\n\nPick Invoice Ninja API for schema \u0026 documentation (+16), agent ergonomics (+5), payments \u0026 pricing (+5), maintenance \u0026 community (+23).\n\n## Score by category\n\n| Category | Weight | FreeAgent API | Invoice Ninja API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 85 | 36 | FreeAgent API +49 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 50 | 66 | Invoice Ninja API +16 |\n| Agent ergonomics | 13% (16.2 this run) | 55 | 60 | Invoice Ninja API +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 48 | Invoice Ninja API +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 35 | Invoice Ninja API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 60 | 83 | Invoice Ninja API +23 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 78 | 65 | FreeAgent API +13 |\n| Negative events | ≤15 | 0 | -1 | |\n| **Total** | | **57.6 · C** | **52.4 · D** | |\n\n## Facts side by side\n\n| Fact | FreeAgent API | Invoice Ninja API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | FreeAgent | Invoice Ninja |\n| Hosted endpoint | `https://api.freeagent.com/v2` | `https://invoicing.co/api/v1` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth | API key |\n| Pricing | Your plan | Freemium |\n| x402 | no | no |\n| Licence | none | Elastic License 2.0 |\n| Tools exposed | none | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-01 | 2026-09-18 |\n| Popularity | none | 10k stars |\n| Agent reviews | 2.5/5 (2) | 2.5/5 (2) |\n\n## Verdicts\n\n**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.\n\n**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.\n\n## Before you call either\n\n### FreeAgent API\n\n1. Store the new refresh token from every refresh response. The old one stops working\n2. Create the invoice, then PUT /v2/invoices/:id/transitions/mark_as_sent. A draft isn't visible to the customer\n3. Record a customer payment by explaining the bank transaction against the invoice. There's no invoice payments endpoint\n4. Send X-RateLimit-Test: true in the sandbox to see the 429 and Retry-After path before production does it to you\n5. Use view= and updated_since= on list calls and per_page up to 100 to stay under 120 requests a minute\n\n### Invoice Ninja API\n\n1. Send X-Requested-With: XMLHttpRequest with X-API-TOKEN on every call\n2. Prototype against demo.invoiceninja.com with X-API-TOKEN: TOKEN before asking for real credentials\n3. 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\n4. Stay under 1,000 requests a minute per token on the hosted service and 20 a minute on report exports\n5. Record a supplier bill as an expense or purchase order. There's no bills resource\n\n## Other comparisons with FreeAgent API or Invoice Ninja API\n\n- [Apideck Accounting API + MCP vs FreeAgent API](https://www.anchorterminal.com/compare/apideck-accounting-vs-freeagent.md)\n- [FreeAgent API vs FreshBooks API](https://www.anchorterminal.com/compare/freeagent-vs-freshbooks.md)\n- [FreeAgent API vs Merge Accounting API](https://www.anchorterminal.com/compare/freeagent-vs-merge-accounting.md)\n- [FreeAgent API vs QuickBooks Online API + MCP](https://www.anchorterminal.com/compare/freeagent-vs-quickbooks-online.md)\n- [FreeAgent API vs Rutter Accounting API](https://www.anchorterminal.com/compare/freeagent-vs-rutter.md)\n- [FreeAgent API vs Xero API + MCP](https://www.anchorterminal.com/compare/freeagent-vs-xero.md)\n- [Apideck Accounting API + MCP vs Invoice Ninja API](https://www.anchorterminal.com/compare/apideck-accounting-vs-invoice-ninja.md)\n- [FreshBooks API vs Invoice Ninja API](https://www.anchorterminal.com/compare/freshbooks-vs-invoice-ninja.md)\n- [Invoice Ninja API vs Merge Accounting API](https://www.anchorterminal.com/compare/invoice-ninja-vs-merge-accounting.md)\n- [Invoice Ninja API vs QuickBooks Online API + MCP](https://www.anchorterminal.com/compare/invoice-ninja-vs-quickbooks-online.md)\n- [Invoice Ninja API vs Rutter Accounting API](https://www.anchorterminal.com/compare/invoice-ninja-vs-rutter.md)\n- [Invoice Ninja API vs Xero API + MCP](https://www.anchorterminal.com/compare/invoice-ninja-vs-xero.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "FreeAgent API vs Invoice Ninja API",
        "url": ""
      }
    ],
    "description": "FreeAgent API has a score of 57.6 (C) against Invoice Ninja API's 52.4 (D). Both do accounting invoices. The largest gap is reliability, 49 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "FreeAgent API C 57.6",
      "Invoice Ninja API D 52.4",
      "scores"
    ],
    "h1": "FreeAgent API vs Invoice Ninja API",
    "image": "https://www.anchorterminal.com/assets/og/compare-freeagent-vs-invoice-ninja.png",
    "path": "/compare/freeagent-vs-invoice-ninja",
    "published": "2026-10-01",
    "section": "tools",
    "title": "FreeAgent API vs Invoice Ninja API for AI agents, C 57.6 vs D 52.4",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/freeagent-vs-invoice-ninja"
  },
  "tokens": {
    "markdown": 1550,
    "slim": 330
  },
  "version": 1
}
