Skip to main content

Platform Limits

Applies to: Tide API and Nowcast API

The rate limit on this page applies to the Tide API and the Nowcast API. Classic APIs have their limits detailed individually within their respective sections in the API Catalog.

To keep the service stable for everyone, the platform limits how many requests can be made in a given period. This page describes how to pace your requests and what to do if you go over the limit.

Rate Limit​

Keep your requests under about 1 every 2 seconds from each client. If you need to fetch many resources, spread the requests out over time rather than sending them together.

  • Clients on the same network (for example, several servers behind one shared gateway) may share a limit, so add up the requests they send between them.
  • If you go over the limit, you receive an HTTP 429 Too Many Requests response.
  • Limits may change. Build your client to follow the Retry-After header rather than a fixed wait.

Handling Rate Limit Errors​

When you go over the limit, the API responds with a 429 status code, a Retry-After header and a structured error body, as described in our Error Handling guide.

The Retry-After Header​

The 429 response includes a Retry-After header with the number of seconds to wait before trying again.

When you receive a 429:

  1. Stop sending requests straight away.
  2. Wait for the number of seconds in the Retry-After header.
  3. Resume at a slower pace than before.

Don't retry in a tight loop. Sending more requests before the wait is over keeps you blocked for longer.

Example 429 Response​

HTTP/1.1 429 Too Many Requests
Retry-After: <seconds>
Content-Type: application/json

{
"type": "/error-handling/rate-limit-exceeded",
"title": "Rate Limit Exceeded",
"status": 429,
"detail": "You have exceeded the request rate limit. Please try again later.",
"instance": "global-rate-limit"
}

The instance value is a fixed label for this error. It does not identify your request.

Best Practices​

  1. Pace your requests: Keep under about 1 request every 2 seconds from each client.
  2. Stop on the first 429: Don't retry immediately, and don't retry in a tight loop.
  3. Respect Retry-After: Wait the full number of seconds before sending the next request.
  4. Cache responses: Weather data does not change every second, so reuse responses where you can.

Other Limits​

Please note that API usage is also governed by MetService's Terms & Conditions.