Xero APIConnect Xero without building on its API
Xero has a REST API. Self-serve for any developer: the free Starter tier allows 5 connections, and paid tiers (Core AUD 35/mo, Plus, Advanced, Enterprise, in effect since March 2, 2026) are needed for more connections, App Store listing (Plus+), or the Journals endpoint (Advanced+). If you're reading the docs because you need Xero to talk to the rest of your stack, Caddi does that without you writing or maintaining integration code: you show it the job once, and it runs it across Xero and your other tools.
- APIREST (JSON)
- AuthOAuth 2.0
- AccessSelf-serve
What the Xero API gives you
- Type
- REST (JSON)
- Authentication
- OAuth 2.0
- Who can get access
- Self-serve for any developer: the free Starter tier allows 5 connections, and paid tiers (Core AUD 35/mo, Plus, Advanced, Enterprise, in effect since March 2, 2026) are needed for more connections, App Store listing (Plus+), or the Journals endpoint (Advanced+).
- What it covers
- Accounting data (invoices, contacts, bank transactions, payments, accounts, reports, journals), plus Payroll, Assets, Projects, and Files APIs.
- Limits
- Per tenant: 5 concurrent calls, 60 calls/minute, and 1,000 calls/day on Starter (5,000/day on higher tiers), plus 10,000 calls/minute per app across all tenants.
- Worth knowing
- Each Xero organisation can connect at most two uncertified apps.
Official docs: developer.xero.com. Checked September 2026. Vendors change access terms, so confirm with Xero before you build.
Building on the Xero API vs. having Caddi run it
| The job | Build it on the API | With Caddi |
|---|---|---|
| Getting access | Register an app, get Xero credentials, and manage tokens and refreshes. | Connect your Xero account once. Caddi holds the connection. |
| Writing the integration | A developer maps fields, handles pagination, retries and rate limits, and writes the sync. | You show Caddi the Xero task the way you'd train a new hire. It writes verified code for it. |
| Steps the API doesn't cover | Screens with no endpoint stay manual, or need a separate RPA tool. | Caddi uses a secure, audited browser session where there's no API, in the same automation. |
| The other systems in the loop | Each extra tool is another API, another set of credentials, another integration to own. | One automation runs across all the tools the job touches. |
| Keeping it running | Someone owns the code when the API version, fields or your process change. | Every automation is reviewed before it runs in production, and every run is logged. |
Building on the API is the right call when you have engineers and the integration is your product. When the goal is getting Xero work off someone's desk, the build is the slow part.
What teams usually want the Xero API for
Receipt-to-invoice reconciliation
Caddi extracts payment details from incoming receipts and matches them to the right Xero invoice with the matter or client coded.
Daily payment posting
Caddi summarizes daily payment activity and posts the journal entries to Xero with the right customer coding.
Expense report posting
Caddi pulls approved Expensify reports and posts them to Xero with the right matter/client coding.
Xero API questions
Does Xero have an API?
Yes. Xero has a REST API, authenticated with OAuth 2.0. The official documentation is at https://developer.xero.com/documentation/.
How do I get access to the Xero API?
Self-serve for any developer: the free Starter tier allows 5 connections, and paid tiers (Core AUD 35/mo, Plus, Advanced, Enterprise, in effect since March 2, 2026) are needed for more connections, App Store listing (Plus+), or the Journals endpoint (Advanced+).
Does the Xero API have rate limits?
Per tenant: 5 concurrent calls, 60 calls/minute, and 1,000 calls/day on Starter (5,000/day on higher tiers), plus 10,000 calls/minute per app across all tenants.
Can I connect Xero to my other tools without writing code against its API?
Yes. With Caddi you show the Xero task once, the way you'd train a new hire, and Caddi builds it as verified code that runs across Xero and the other tools the job touches. Where a step has no API, Caddi uses a secure, audited browser session in the same automation.
Do I need a developer to automate Xero with Caddi?
No. There is no integration code for you to write or maintain. Every automation Caddi builds for Xero is reviewed before it runs in production, and every run is logged.
Connect Xero without the build.
Drop your work email and pick a time. We'll show you Caddi running your Xero workflow end to end.