Skip to main content
API

Rate limiting

The API rate limits requests using a leaky bucket algorithm. Each request costs a number of units, and those units leak out of the bucket at a constant rate. This keeps traffic flowing at a steady rate while still allowing short bursts.

GraphQL API

Rate limiting for the GraphQL API is based on the cost of each request, rather than a fixed number of requests. The sections below cover best practices for keeping that cost down, and how to read your current rate limit status.

Best practices

  • Use subscriptions instead of polling with queries to know when data changes.
  • Query only the fields you need, and use filter to narrow down list queries.
  • List queries return up to 100 records per page, but a larger page costs more than a smaller one. Fetching 100 records in one request costs more than fetching 10, so request fewer records rather than more. See pagination for details.
  • If a request is rejected with a 429 error, your bucket is full. Stop sending requests and only make new requests once the time given by reset has passed.

Rate limit

To protect the API from queries that are too complex or resource intensive, each request is assigned a cost based on the amount of requested data. Every response to a valid request, or a request that fails business validation, includes an extensions.cost object with the cost of the request and the state of your rate limit. It is omitted entirely when a request fails GraphQL schema validation.

cost · Integer
The cost, in units, of the current request.
limit · Integer
The maximum cost, in units, allowed in the current rate limit window.
used · Integer
How many units have already been consumed in this window.
remaining · Integer
How many units you still have available before hitting the limit.
reset · Integer
A UNIX timestamp, in seconds, indicating when the quota refreshes.

REST API

Rate limiting for the REST API applies to the tile service. Unlike the GraphQL API, rate limit status is returned through HTTP response headers, and each request has a fixed cost of 1 unit. These headers are returned on every request, including failed ones.

x-ratelimit-cost · Integer
The cost, in units, of the current request. Always 1 for REST requests.
x-ratelimit-limit · Integer
The maximum cost, in units, allowed in the current rate limit window.
x-ratelimit-used · Integer
How many units have already been consumed in this window.
x-ratelimit-remaining · Integer
How many units you still have available before hitting the limit.
x-ratelimit-reset · Integer
A UNIX timestamp, in seconds, indicating when the quota refreshes.

Current limits

Rate limits are applied per customer, on a one-minute window. There is no default limit in place yet. Limits are configured individually per customer until default limits are introduced in 2027.

Some queries and mutations also have individual limits that are lower than your overall limit. These are set on a per product basis, and sometimes on a per request basis, rather than globally.

Was this content helpful?

Developers

Chargetrip ©

Status unknown

Manage cookies

Effective: 20th March, 2024 · Updated: 1 September, 2026

We use cookies to help improve your experience of developers.chargetrip.com. This cookie policy is part of the privacy policy, and covers the use of cookies between your device and our site. We also provide basic information on third-party services we may use, who may also use cookies as part of their service, though they are not covered by our policy.

If you don’t wish to accept any cookies from us, you should instruct your browser to refuse cookies from developers.chargetrip.com, with the understanding that we may be unable to provide you with some of your desired content and services.

A cookie is a small piece of data that a website stores on your device when you visit, typically containing information about the website itself, a unique identifier that allows the site to recognize your web browser when you return, additional data that serves the purpose of the cookie itself, and the lifespan of the cookie itself.

Cookies are used to enable certain features (e.g. logging in), to track site usage (e.g. analytics), to store your user settings (e.g. timezone, notification preferences), and to personalize your content (e.g. advertising, language).

Cookies set by the website you are visiting are normally referred to as “first-party cookies,” and typically only track your activity on that particular site. Cookies set by other sites and companies (i.e. third parties) can be used to track you on other websites that use the same third-party service.

Essential cookies

Cookies set by the website you are visiting are normally referred to as “first-party cookies,” and typically only track your activity on that particular site. Cookies set by other sites and companies (i.e. third parties) can be used to track you on other websites that use the same third-party service.

Performance cookies

Targeting / advertising cookies are used in determining what promotional content is more relevant and appropriate to you and your interests. Websites may use them to deliver targeted advertising or to limit the number of times you see an advertisement. This helps companies improve the effectiveness of their campaigns and the quality of content presented to you. These cookies may be set by the website you’re visiting (first-party) or by third-party services. Targeting/advertising cookies set by third parties may be used to track you on other websites that use the same third-party service. We use targeting/advertising cookies on our site.

Marketing / advertising cookies

Targeting / advertising cookies are used in determining what promotional content is more relevant and appropriate to you and your interests. Websites may use them to deliver targeted advertising or to limit the number of times you see an advertisement. This helps companies improve the effectiveness of their campaigns and the quality of content presented to you. These cookies may be set by the website you’re visiting (first-party) or by third-party services. Targeting/advertising cookies set by third parties may be used to track you on other websites that use the same third-party service. We use targeting/advertising cookies on our site.

Third party promise

We review the privacy policies of all our third-party providers before enlisting their services to ensure their practices align with ours. We will never knowingly include third-party services that compromise or violate the privacy of our users.

Cookie
google-cookie-consent
Description
Stores your cookie preferences, meaning which categories you have accepted or declined, so we can respect your choice on every visit and only load the analytics or marketing tools you have allowed.
Lifetime
2 years

How you can control or opt out of cookies

If you do not wish to accept cookies from us, you can instruct your browser to refuse cookies from our website. Most browsers are configured to accept cookies by default, but you can update these settings to either refuse cookies altogether or to notify you when a website is trying to set a cookie.

If you browse websites from multiple devices, you may need to update your settings on each individual device.

Although some cookies can be blocked with little impact on the experience of a website, blocking all cookies may mean you are unable to access certain features and content across the sites you visit.

We may update this Cookie Policy from time to time in order to reflect, for example, changes to the cookies we use or for other operational, legal, or regulatory reasons. Please re-visit this Cookie Policy to stay informed about our use of cookies and related technologies. The date at the top of this Cookie Policy indicates when it was last updated.