Agentifact assessment — independently scored, not sponsored. Last verified Mar 6, 2026.
FreeAgent API
REST API for FreeAgent — UK-focused accounting automation for invoices, expenses, timeslips, bank transactions, and self-assessment tax returns.
Viable option — review the tradeoffs
You need to sync UK business accounting data (invoices, contacts, expenses, tax returns) into your product without building separate integrations for each accounting platform.
Rate limits of 120 requests/minute and 3,600/hour per user will constrain high-volume syncs. Token refresh is capped at 15/minute, which can cause failures in multi-tenant setups. Pagination defaults to 25 results per page (hard cap 100) and uses Link headers, not response metadata — silent data loss occurs without explicit pagination handling. OAuth tokens expire after 1 hour. Documentation is sparse on practical examples.
You're building for UK accounting firms or bookkeepers who manage multiple client accounts and need to read/write data across all clients from a single integration.
Rate limits apply per client subdomain, not globally, which scales better for multi-tenant use. However, the separate API product means you cannot reuse Company API code — two distinct authentication flows and header configurations are required. Setup complexity is higher than direct user integrations.
Token refresh rate limit causes failures in multi-tenant setups
FreeAgent enforces a hard cap of 15 token refreshes per minute. In multi-tenant systems where many users' tokens expire simultaneously (all after 1 hour), refresh requests will hit this limit and fail with 429 responses. Implementing exponential backoff and token refresh pooling is required but adds complexity.
Pagination silently returns incomplete data without explicit Link header handling
Collection endpoints default to 25 results per page with a hard cap of 100. Pagination is navigated via the Link response header, not a response body metadata object. If you don't parse Link headers and iterate through pages, your sync will return only the first 25 records and silently ignore the rest — no error is raised.
Access level misconfiguration cannot be fixed at OAuth time
FreeAgent uses a numeric access level system (0–8) configured at app registration time in the Developer Dashboard. If your registered access level is below the minimum required for a resource, the API returns an authorization error at runtime. Access levels cannot be escalated during the OAuth flow — they must be planned and set correctly upfront.
Trust Breakdown
What It Actually Does
FreeAgent API lets apps connect to FreeAgent's UK accounting system to automate tasks like creating invoices, tracking expenses, reconciling bank transactions, and handling tax returns.[1][3]
REST API for FreeAgent — UK-focused accounting automation for invoices, expenses, timeslips, bank transactions, and self-assessment tax returns.
Fit Assessment
Best for
- ✓invoicing
- ✓expense-tracking
- ✓accounting
- ✓tax-reporting
Not ideal for
- ✗rate limit under burst load
Known Failure Modes
- rate limit under burst load
Score Breakdown
Protocol Support
Capabilities
Governance
- permission-scoping
- rate-limiting
- audit-log