Frequently asked questions


Getting Started
7 questions
Limits
7 questions
Authentication
9 questions
Permissions
5 questions
API Updates
4 questions
Partner Program
17 questions

  View all questions

Limits



  • What are the Xero API rate limits?

    There are limits to the number of API calls that your application can make against a particular Xero organisation.

    • Minute Limit: 60 calls in a rolling 60 second window
    • Daily Limit: 5000 calls in a rolling 24 hour window

    If you exceed either rate limit you will receive a HTTP 503 (Service Unavailable) response. For a full list of API limits, pleace check our API Limits page



  • Can I get my rate limits increased?

    No, our rate limits are the same for all apps connecting to the API. If you are hitting rate limits there are a number of things you can do to make your integration more efficient.


  • What if I need to do lots of creating and updating?

    Quite often, applications that you might believe would exceed the Xero API rate limits, can in fact work within the limits by analysing the structure of how you intend to use the Xero API

    You can do more than one thing in a single request: For example, you can create more than one Invoice in a single PUT or POST Invoices API call. While there is no upper limit in the number of nodes that can be sent at one time, a ceiling of about 50 nodes per request is practical - this will ensure a request does not exceed the maximum size of 3.5MB. You should also review our notes on summarizing validation errors.



  • What if I need to retrieve large amounts of data from Xero?

    If you are hitting rate limits because you retrieve a large amount of data from Xero there are couple of features you should be taking advantage of:

    • You can use pagination to retrieve line item details for 100 items (e.g. Invoices) at a time. Endpoints on the Accounting API that currently support pagination are invoices, contacts, bank transactions and manual journals. All major endpoints on the Payroll, Files and Assets APIs also support paging.
    • Use the If-Modified-Since header to retrieve only what's changed since your previous request


  • What is the best way to handle rate limits on my side?

    It is recommended that applications queue requests to the Xero API. This will allow you to ensure requests are within the supported limits, and will also allow your application to function even in the event that it cannot reach the Xero API temporarily.


  • Does my application only have 5000 requests for all my users?

    Applications that connect to more than one Xero organisation (Public and Partner) have a per organisation usage limit. For example if two separate Xero organisations are connected to an application, each connection would have 5000 API calls available in a given 24 hour period.


  • Are there any recommended usage limits for Xero?

    Xero is not suitable for all types of business, particularly those with very high transaction volumes. Please see our notes on system limits.