Rate limits
| What | Limit |
|---|---|
| REST API | 600 requests per key per hour |
| MCP | Shares the REST counter |
| Records per page | Up to 200–1000 depending on the endpoint (adet) |
| Sanctions screening | Up to 500 names per request |
Quick lookup (/api/v1/ara/) | Also 300 queries per key per hour |
| Webhooks | Up to 5 addresses |
Over the limit you get 429 hiz_siniri. The Retry-After header and hata_ayrinti.tekrar_sn give the seconds until the window resets; wait that long and retry.
Python
import time
import requests
def ulawk_get(adres, basliklar, deneme=5):
for _ in range(deneme):
r = requests.get(adres, headers=basliklar, timeout=30)
ayrinti = (r.json().get("hata_ayrinti") or {}) if r.headers.get("Content-Type", "").startswith("application/json") else {}
if r.ok or not ayrinti.get("tekrar_denenebilir"):
return r
time.sleep(int(r.headers.get("Retry-After") or ayrinti.get("tekrar_sn") or 60))
return rGood practice
- Fetch daily changes in one call (
GET /api/v1/degisiklikler/?gun=1) or use webhooks rather than polling every company. - The public
/api/katalog/and/durum.jsonare cached (Cache-Control); no need to poll them often. - Need a higher limit? Write to [email protected].