Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Access to the Open Data API is typically subject to rate limiting: if you submit too many requests within a short period of time, you will be unable to submit further requests to the API until your limit resets. This is to ensure that the API performs well for all users and that it is not possible for a single application to overload the server.

From version 9.9.1, the system administrator can choose to set different limits for the /schema and /table endpoints (prior to version 9.9.1 a single limit applied to both), and can choose to turn off rate limiting entirely (although this is not recommended). By default, the Open Data API is configured to allow any given API key to submit up to 100 table requests per hour, but a different limit may have been set on your system.

...

Check Your Rate Limit

The /rate_limit endpoint returns endpoint returns information about your current rate limit.

Please note that:

  • Prior to version 9.9.1 there was only a single rate limit, with one endpoint /rate_limit for checking your current limits.
  • From 9.9.1 onwards there are three limits: a global setting, as well as individual settings for the /schema endpoint and the /table endpoint. Use the endpoints /rate_limit/rate_limit_schema, and /rate_limit_table to check each individual limit.

In addition, if rate limiting is configured, all requests return the 3 relevant X-RateLimit headers, allowing you to check your rate limit at any time without having to submit a specific request.

Info
iconfalse
Submitting a request to the /rate_limit endpoint does not count towards your rate limit.

Overview

Endpoint
http://<server>/webapi/rest/v1/rate_limit
http://<server>/webapi/rest/v1/rate_limit_schema
http://<server>/webapi/rest/v1/rate_limit_table
HTTP MethodGET

Request Headers

Excerpt Include
Reference - Open Data API
Reference - Open Data API
nopaneltrue

Response Headers

Excerpt
X-RateLimit
X-RateLimit-Schema
X-RateLimit-Table

The

rate limit configured for this server. By default, this is set to 100.

global, schema, and table rate limits (if configured).

The individual headers are only returned if the corresponding rate limit has been set. If none of these headers are returned then that indicates that no rate limiting applies.

X-RateLimit-Remaining
X-RateLimit-Remaining-Schema
X-RateLimit-Remaining-Table

The number of requests remaining for the current rate limiting period. If this value drops to 0 then you will not be able to submit any further requests using this API key until the limit resets.

The individual headers are only returned if the corresponding rate limit has been set. If none of these headers are returned then that indicates that no rate limiting applies.

X-RateLimit-Reset
X-RateLimit-Reset-Schema
X-RateLimit-Reset-Table

The time when the rate limit will next be reset. This is expressed as a UNIX timestamp in milliseconds (

the number of

milliseconds since January 1st 1970).

The individual headers are only returned if the corresponding rate limit has been set. If none of these headers are returned then that indicates that no rate limiting applies.

Response Body

Following is an example response. In this example the API key has 100 requests remaining (from a configured rate limit of 100). This allocation will be reset at UNIX timestamp 1451001600000 (25/12/2015 at midnight UTC).

...