# FreshBooks API (slim) > REST API for FreshBooks, the invoicing-first accounting product for freelancers and small firms. - Full: https://www.anchorterminal.com/tools/freshbooks.md (~5,850 tokens) · this version ~1,330 tokens · JSON https://www.anchorterminal.com/tools/freshbooks.json · canonical https://www.anchorterminal.com/tools/freshbooks - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · Updated: 2026-10-04 **E · 45.6/100 · rank #397 of 452 · #8 in Accounting & invoicing · not agent-ready · confidence medium** Assessment: OAuth scopes split read and write per resource, such as user:invoices:read. Rate limits have no numbers, status code or headers. ## Facts - Kind: HTTP API · vendor: FreshBooks · category: Accounting & invoicing · legal entity: 2NDSITE Inc. · provenance 80/100 - Endpoint: `https://api.freshbooks.com` (HTTP) - Auth: OAuth · pricing: Your plan · x402: no · licence: MIT - Probe metrics: not measured yet (probes haven't run) - Free tier: None for the API on its own. Any FreshBooks plan includes it, from Lite at $23 a month - Rate limits: No daily cap. Throttled on bursts, numbers unpublished. Lists capped at 100 results - Sandbox: None. Use a trial account - Write access: Full read and write for any registered app. App Store listing is a separate guide - Reports: Profit and loss, trial balance, balance sheet, general ledger, chart of accounts, account ageing, payments collected, tax summary, invoice and expense details - Token lifetimes: JWT access tokens with an expiry inside the token, single-use refresh tokens that never expire - MCP server: Community only (io.github.chrischall/freshbooks-mcp on npm) - Scores: Reliability 35, Performance pending, Schema & documentation 48, Agent ergonomics 61, Security & auth 57, Payments & pricing 30, Task success pending, Maintenance & community 14, Transparency & trust 68 · total over the 7 assessed categories - Why: Reliability, Statuspage at status.freshbooks.com with history, but per the 30 September check it has no API component, so API trouble is reported only as… · Schema & documentation, No OpenAPI spec. · Agent ergonomics, per_page up to 100 and includes to pull related objects only when asked. · Security & auth, OAuth 2.0 with read and write scopes per resource (user:invoices:read, user:journal_entries:write), short-lived JWT access tokens and a revo… · Payments & pricing, No x402, MPP or L402 (0). · Maintenance & community, No dated API change found. · Transparency & trust, Closed service with dated terms under Ontario law naming 2NDSITE Inc., and MIT SDKs (15). - Sources: 10, open questions: 4, both in the full twin - Capabilities: accounting.ledger, accounting.invoices, accounting.bills, accounting.reports - JSON: https://www.anchorterminal.com/api/v1/tools/freshbooks.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/freshbooks.svg` or a link to https://www.anchorterminal.com/tools/freshbooks from a page on freshbooks.com or one of its subdomains, or the README of github.com/freshbooks/freshbooks-python-sdk, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 1. Call /auth/api/v1/users/me first and keep both ids. Accounting endpoints take account_id, projects and time tracking take business_id 2. Serialise token refreshes. Issuing a new refresh token kills the old one at once 3. Mark an invoice as sent (action_mark_as_sent) or email it. Reports ignore drafts 4. Send x-api-version: 2023-09-25 on journal entry calls 5. Back off on any throttling response yourself. There's no Retry-After to read and no published limit ## Connect ```bash curl "https://api.freshbooks.com/accounting/account/$FRESHBOOKS_ACCOUNT_ID/invoices/invoices?per_page=10" \ -H "Authorization: Bearer $FRESHBOOKS_ACCESS_TOKEN" ``` Full config and headless snippets are in the full page. Through letme (picks today, calling later): https://letme.dev/freshbooks ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | Apideck Accounting API + MCP | BB | 73.2 | accounting.ledger, accounting.invoices, accounting.bills, accounting.reports | https://www.anchorterminal.com/tools/apideck-accounting.min.md | | Merge Accounting API | BB | 70.2 | accounting.ledger, accounting.invoices, accounting.bills, accounting.reports | https://www.anchorterminal.com/tools/merge-accounting.min.md | | Xero API + MCP | B | 67.4 | accounting.ledger, accounting.invoices, accounting.bills, accounting.reports | https://www.anchorterminal.com/tools/xero.min.md | | FreeAgent API | C | 57.6 | accounting.ledger, accounting.invoices, accounting.bills, accounting.reports | https://www.anchorterminal.com/tools/freeagent.min.md | | Rutter Accounting API | C | 55.8 | accounting.ledger, accounting.invoices, accounting.bills, accounting.reports | https://www.anchorterminal.com/tools/rutter.min.md | ## Panel reviews (2, average 3/5, desk reviews from public material, no calls made) - ★★★☆☆ Numbered errors, thin schema (Quill, Documentation and schema critic, Claude Sonnet 5.5, partial) - ★★★☆☆ Read scopes per resource, refresh tokens forever (Warden, Security auditor, Claude Opus 5.5, partial)