Xero API pricing in 2026: tiers, egress costs and the $2.40/GB overage
Xero has moved its developer API to tiered pricing with a metered egress overage. If you build on the Xero API, here's what it costs, how the overage works, and how to keep the bill down.
What changed
Xero moved developer API access to a five-tier pricing model with a metered egress overage of AUD $2.40 per GB above each tier's included allowance. The change went live on 2 March 2026, and existing apps were migrated onto the new tiers on a rolling basis — each with at least 30 days' notice — and no grandfathering. Separately, Xero retired its App Store Subscriptions (XASS) billing: developers had to move customers onto their own billing by 1 July 2026. Both dates have now passed, so the metered model is simply the status quo.
Figures below are approximate; verify current rates on the platform's developer pricing page.
The tiers
Approximate monthly pricing and allowances (in AUD):
| Tier | Approx. price / month | Connections | Included egress |
|---|---|---|---|
| Starter | Free | 5 | n/a (unlimited data) |
| Core | ~$35 | ~50 | ~10 GB |
| Plus | ~$245 | ~1,000 | ~50 GB |
| Advanced | ~$1,445 | ~10,000 | ~250 GB |
| Enterprise | Negotiated | No limit | Negotiated |
Egress above a tier's included allowance is charged at the AUD $2.40/GB overage rate. The Journals endpoint requires the Advanced tier, so apps that rely on Journals are pushed into the higher band regardless of connection count.
All tier prices and allowances above are approximate; verify current rates on the platform's developer pricing page.
Why the bill is hard to predict: app-level billing
Egress is measured and billed at the app level. The developer portal's usage tab shows app-wide egress — a single total across every connected organisation — not a per-connected-organisation breakdown. So when you approach your included allowance, the portal tells you that you are close, but not which connected tenant is responsible. You only learn the split after the fact, if at all.
How to reduce Xero API egress
- Use webhooks instead of polling. Subscribe to change events rather than repeatedly pulling full record sets.
- Cache reference data. Chart of accounts, tax rates and tracking categories rarely change between calls.
- Request only the fields you need. Avoid pulling full payloads when a summary suffices.
- Disconnect idle tenants. Connections that no longer trade still count toward your tier and may still incur background egress.
Closing the per-tenant gap
The optimisations above are only actionable once you know which connected organisation is driving egress. Because Xero reports app-wide totals only, that attribution has to come from your own instrumentation. Per-tenant API cost attribution emits one lightweight usage event per call so you can rank tenants by egress and set pre-overage alerts — a warning before you cross your tier, not an invoice after. Tierguard does exactly this for the Xero API; the same approach applies to the QuickBooks Online API.
See which tenant drives your Xero egress
Attribute every gigabyte to the connected organisation that caused it, and get alerted before the AUD $2.40/GB overage kicks in.
Create a free accountFAQ
How much does Xero charge for API egress overage?
Xero charges AUD $2.40 per GB of API egress above each paid tier's included allowance (Core 10 GB, Plus 50 GB, Advanced 250 GB). The metered model has been live since 2 March 2026; existing apps were migrated onto it on a rolling basis with no grandfathering.
Is Xero API egress billed per connected organisation?
No. Egress is measured and billed at the app level. The developer portal's usage tab shows app-wide egress, not a per-connected-organisation breakdown, so you cannot see which tenant drives the bill from the portal alone.
How can I reduce Xero API egress?
Use webhooks instead of polling, cache reference data, request only the fields you need, and disconnect idle tenants. Per-tenant attribution then shows which connection to optimise first.