H2GC API

The API enforces per-client rate limits to ensure fair access for all subscribers.

Limits

WindowLimit
Per minute100 requests
Per day10,000 requests

Limits are applied per API key using a sliding window algorithm.

Rate limit headers

Every response includes headers for monitoring current usage:

HeaderDescription
X-RateLimit-LimitMaximum requests allowed in the current window
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix timestamp when the window resets
Retry-AfterSeconds to wait before retrying (only on 429 responses)

Handling rate limits

When the limit is exceeded, the API returns 429 Too Many Requests:

{ "error": "Rate limit exceeded" }
  1. Cache responses locally — datasets are refreshed on a monthly cadence, so there is no benefit to re-fetching the same query within that window. A local cache significantly reduces the total request count.
  2. Monitor X-RateLimit-Remaining proactively to avoid exceeding limits
  3. On 429 responses, read the Retry-After header and wait before retrying
  4. Implement exponential backoff for repeated failures

H2GC data is updated on a monthly cadence. Responses can be safely cached for the remainder of the month without risk of missing updates.

Increasing limits

Organisations that require higher limits should contact the H2GC team to discuss available options.

On this page