Limits

How many requests you can make.

Requests per minute

Endpoint
Endpoint What Limit per minute
fetch-organization Company profile 60
fetch-person Person profile 60
search-organizations Search & Export 60
fetch-document Documents 5
signals Signals 60
account Read the account 30
account, auth/tokens Manage bearer tokens; create, update and delete keys, monitors and webhook endpoints 10
account/webhook-endpoints Verify and test a webhook endpoint, rotate the secret 6

Limit reached

Header
Header Meaning Example
X-RateLimit-Limit This endpoint's limit per minute. 30
X-RateLimit-Remaining How many more requests are possible in this minute. 0
Retry-After Only with 429: seconds until the next possible request. 17
X-RateLimit-Reset Only with 429: the time when you can continue, as Unix time. 1793519682
1{2  "error": "Too many requests",3  "message": "Rate limit exceeded. Retry after 17 seconds.",4  "retry_after": 175}
429 · Example response over the limit

Timeouts

If the data source does not answer in time, you get 408, for documents 504 with Retry-After. Nothing is billed. Retry the request a little later. If only the live fetch for Realtime fails, you get the company profile with the stored data, without the Realtime surcharge.

Retry without double charging

A request with an idempotency key
curl -G "https://handelsregister.ai/api/v1/fetch-organization" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Idempotency-Key: hetzner-profile-2026-11-01" \
  --data-urlencode "q=Ansbach HRB 6089"
Case
Case Data endpoints Monitoring and webhooks
Key required no, optional yes, otherwise 428
Window 24 hours 24 hours
Same key, same parameters Result again, without billing Stored response with its status
Same key, different parameters 422 idempotency_key_reused 409 idempotency_conflict
After an error Key stays free The same error comes back, new key needed

Data endpoints

1{2  "error": "idempotency_key_reused",3  "message": "This Idempotency-Key was already used with different parameters.",4  "meta": {5    "request_credit_cost": 0,6    "credits_remaining": 1457  }8}
422 · Example response: the same key with different parameters

Monitoring and webhooks

Plan your retries