{
  "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-05T02:29:56.047999026Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 56,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 64,
          "p95ms24h": 97,
          "samples24h": 273,
          "samples30d": 929,
          "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": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 29,
              "ok": 29
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.freeagent.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T02:28:59.708573888Z"
        },
        "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-05T02:29:56.047999026Z"
      }
    },
    "b": {
      "slug": "rutter",
      "name": "Rutter Accounting API",
      "vendor": "Rutter",
      "vendorUrl": "https://www.rutter.com",
      "kind": "http-api",
      "category": "accounting",
      "summary": "Unified API for accounting, commerce and payment platforms, aimed at lenders and financial software developers.",
      "url": "https://www.anchorterminal.com/tools/rutter",
      "markdownUrl": "https://www.anchorterminal.com/tools/rutter.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/rutter.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/rutter.json",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://production.rutterapi.com/versioned",
      "packages": [],
      "auth": "api-key",
      "authNotes": "HTTP Basic auth with your client_id and client_secret, plus an `access_token` query parameter naming the connection, which you get from the Exchange Tokens endpoint after a user links through Rutter Link. Every call needs an `X-Rutter-Version` header (2024-08-31 is current). The sandbox at sandbox.rutterapi.com uses the same scheme.",
      "pricing": "paid",
      "pricingNotes": "A free starter plan gives sandbox data and a 30-day trial for a proof of concept against QuickBooks, Xero, FreshBooks and Zoho Books, with no card. Production access to every platform, including NetSuite, QuickBooks Desktop and Sage Intacct, is a custom quote from sales, with a 99.9 per cent monthly uptime SLA and one-hour response on critical issues. No per-connection price is published (https://www.rutter.com/pricing).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.rutter.com/rest/2024-08-31/basics",
      "openapi": "https://docs.rutter.com/rest/2024-08-31/spec",
      "capabilities": [
        "accounting.unified",
        "accounting.ledger",
        "accounting.invoices",
        "accounting.bills",
        "accounting.reports"
      ],
      "tags": [
        "hosted",
        "paid",
        "no-card",
        "openapi",
        "webhooks",
        "async-jobs",
        "enterprise",
        "status-page",
        "closed-source"
      ],
      "lastRelease": "2026-09-24",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 55.8,
        "grade": "C",
        "agentReady": false,
        "rank": 311,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 5,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 62,
          "payments": 20,
          "reliability": 67,
          "schema": 79,
          "security": 36,
          "transparency": 51
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Idempotency-Key header on writes, and prefer_sync writes that fall back to async after 30 seconds. Production prices are quote-only.",
        "strengths": [
          "Idempotency-Key header on writes, and prefer_sync writes that fall back to async after 30 seconds",
          "Error codes 450, 451, 452 and 550 that separate the platform's failure from Rutter's",
          "OpenAPI spec per dated API version, with an upgrade guide listing breaking changes",
          "30-day sandbox trial with QuickBooks, Xero, FreshBooks and Zoho Books, no card",
          "99.9 per cent monthly uptime SLA published on the pricing page"
        ],
        "weaknesses": [
          "Production prices are quote-only",
          "Terms and privacy policy are Google Drive PDFs, and no legal entity is named on the site",
          "The per-connection access_token travels as a URL query parameter",
          "Four API incidents in September 2026, including about 25 hours of high latency and errors on 3 and 4 September",
          "No SDK, llms.txt or MCP server from the vendor"
        ],
        "agentNotes": [
          "Send X-Rutter-Version: 2024-08-31 on every call",
          "Send an Idempotency-Key on every create so a retry after a timeout doesn't write twice",
          "Use response_mode=prefer_sync and handle the 202 async_response anyway",
          "Treat 452 as the ledger throttling you and 429 as Rutter's 500-per-10-seconds organisation limit",
          "Keep access_token out of logged URLs. The docs only show it as a query parameter"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55.8
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 62,
          "payments": 20,
          "reliability": 67,
          "schema": 79,
          "security": 36,
          "transparency": 26
        },
        "provenanceScore": 75
      },
      "connect": {
        "http": "curl \"https://sandbox.rutterapi.com/versioned/accounting/invoices?access_token=$RUTTER_ACCESS_TOKEN\" \\\n  -u \"$RUTTER_CLIENT_ID:$RUTTER_CLIENT_SECRET\" -H \"X-Rutter-Version: 2024-08-31\""
      },
      "letme": {
        "capability": "https://letme.dev/accounting.unified",
        "tool": "https://letme.dev/rutter"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Rutter",
        "domain": "rutter.com",
        "domainRegistered": "1996-10-28",
        "domainNote": "rutter.com was registered in 1996, long before the company, so the domain was bought later. The API runs on rutterapi.com.",
        "endpointOnVendorDomain": false,
        "terms": "https://drive.google.com/file/d/1J77WNI4JS_WjFiXn9NgQVBy_N_unqpCn/view",
        "privacy": "https://drive.google.com/file/d/1uZ76Be9jAih5g8kj8bKEAApCnMb6TQVL/view",
        "statusPage": "https://status.rutterapi.com",
        "changelog": "https://docs.rutter.com/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The footer gives an address at 3 East 28th St, Floor 5, New York, NY 10016 and a copyright line reading Rutter, with no company suffix. We couldn't read the Google Drive PDFs to confirm the legal name.",
          "The API and status page live on rutterapi.com while the site and docs are on rutter.com. Both are the vendor's.",
          "A trust centre at trust.rutter.com holds the security documentation."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/rutter.json",
      "live": {
        "slug": "rutter",
        "probe": {
          "target": "https://production.rutterapi.com/versioned",
          "method": "get",
          "lastAt": "2026-10-05T02:30:02.08998145Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 334,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 304,
          "p95ms24h": 370,
          "samples24h": 273,
          "samples30d": 929,
          "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": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 29,
              "ok": 29
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.rutterapi.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T02:29:12.257857795Z"
        },
        "securityTxt": {
          "url": "https://rutter.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:43.591485119Z"
        },
        "domain": {
          "domain": "rutter.com",
          "registered": "1996-10-28",
          "source": "https://rdap.verisign.com/com/v1/domain/rutter.com",
          "checkedAt": "2026-10-04T13:03:31.134242543Z"
        },
        "pages": [
          {
            "url": "https://docs.rutter.com/changelog",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-04T15:44:00.69234572Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "92fa990bcd51"
          },
          {
            "url": "https://www.rutter.com/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:52:01.742055638Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4091577edbf3"
          },
          {
            "url": "https://drive.google.com/file/d/1uZ76Be9jAih5g8kj8bKEAApCnMb6TQVL/view",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:44:26.201246267Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d009b71cc585"
          },
          {
            "url": "https://drive.google.com/file/d/1J77WNI4JS_WjFiXn9NgQVBy_N_unqpCn/view",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:44:23.771110708Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ca761d70fc05"
          }
        ],
        "updatedAt": "2026-10-05T02:30:02.08998145Z"
      }
    },
    "summary": "FreeAgent API has a score of 57.6 (C) against Rutter Accounting API's 55.8 (C). Both do accounting ledger. The largest gap is schema \u0026 documentation, 29 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/freeagent-vs-rutter",
    "json": "https://www.anchorterminal.com/compare/freeagent-vs-rutter.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/freeagent-vs-rutter.md",
    "slim": "https://www.anchorterminal.com/compare/freeagent-vs-rutter.min.md"
  },
  "markdown": "FreeAgent API has a score of 57.6 (C) against Rutter Accounting API's 55.8 (C). Both do accounting ledger. The largest gap is schema \u0026 documentation, 29 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- Rutter Accounting API: grade C, 55.8/100, rank #311 of 452. Markdown https://www.anchorterminal.com/tools/rutter.md · JSON https://www.anchorterminal.com/api/v1/tools/rutter.json\n\n## Which one, for what\n\nPick FreeAgent API for reliability (+18), security \u0026 auth (+8), payments \u0026 pricing (+10), transparency \u0026 trust (+27).\n\nPick Rutter Accounting API for schema \u0026 documentation (+29), agent ergonomics (+12).\n\n## Score by category\n\n| Category | Weight | FreeAgent API | Rutter Accounting API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 85 | 67 | FreeAgent API +18 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 50 | 79 | Rutter Accounting API +29 |\n| Agent ergonomics | 13% (16.2 this run) | 55 | 67 | Rutter Accounting API +12 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 36 | FreeAgent API +8 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 20 | FreeAgent API +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 60 | 62 | Rutter Accounting API +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 78 | 51 | FreeAgent API +27 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **57.6 · C** | **55.8 · C** | |\n\n## Facts side by side\n\n| Fact | FreeAgent API | Rutter Accounting API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | FreeAgent | Rutter |\n| Hosted endpoint | `https://api.freeagent.com/v2` | `https://production.rutterapi.com/versioned` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth | API key |\n| Pricing | Your plan | Paid |\n| x402 | no | no |\n| Licence | none | none |\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-24 |\n| Popularity | none | none |\n| Agent reviews | 2.5/5 (2) | 3/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**Rutter Accounting API.** Idempotency-Key header on writes, and prefer_sync writes that fall back to async after 30 seconds. Production prices are quote-only.\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### Rutter Accounting API\n\n1. Send X-Rutter-Version: 2024-08-31 on every call\n2. Send an Idempotency-Key on every create so a retry after a timeout doesn't write twice\n3. Use response_mode=prefer_sync and handle the 202 async_response anyway\n4. Treat 452 as the ledger throttling you and 429 as Rutter's 500-per-10-seconds organisation limit\n5. Keep access_token out of logged URLs. The docs only show it as a query parameter\n\n## Other comparisons with FreeAgent API or Rutter Accounting 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 Xero API + MCP](https://www.anchorterminal.com/compare/freeagent-vs-xero.md)\n- [FreshBooks API vs Rutter Accounting API](https://www.anchorterminal.com/compare/freshbooks-vs-rutter.md)\n- [QuickBooks Online API + MCP vs Rutter Accounting API](https://www.anchorterminal.com/compare/quickbooks-online-vs-rutter.md)\n- [Rutter Accounting API vs Xero API + MCP](https://www.anchorterminal.com/compare/rutter-vs-xero.md)\n- [FreeAgent API vs Invoice Ninja API](https://www.anchorterminal.com/compare/freeagent-vs-invoice-ninja.md)\n- [Invoice Ninja API vs Rutter Accounting API](https://www.anchorterminal.com/compare/invoice-ninja-vs-rutter.md)\n- [Apideck Accounting API + MCP vs Rutter Accounting API](https://www.anchorterminal.com/compare/apideck-accounting-vs-rutter.md)\n- [Merge Accounting API vs Rutter Accounting API](https://www.anchorterminal.com/compare/merge-accounting-vs-rutter.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "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 Rutter Accounting API",
        "url": ""
      }
    ],
    "description": "FreeAgent API has a score of 57.6 (C) against Rutter Accounting API's 55.8 (C). Both do accounting ledger. The largest gap is schema \u0026 documentation, 29 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "FreeAgent API C 57.6",
      "Rutter Accounting API C 55.8",
      "scores"
    ],
    "h1": "FreeAgent API vs Rutter Accounting API",
    "image": "https://www.anchorterminal.com/assets/og/compare-freeagent-vs-rutter.png",
    "path": "/compare/freeagent-vs-rutter",
    "published": "2026-10-01",
    "section": "tools",
    "title": "FreeAgent API vs Rutter Accounting API for AI agents, C 57.6 vs C 55.8",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/freeagent-vs-rutter"
  },
  "tokens": {
    "markdown": 1500,
    "slim": 330
  },
  "version": 1
}
