Skip to content

Search is only available in production builds. Try building and previewing the site to test it out locally.

So'rov cheklovlari

So’rov cheklovlari API-ni keskin yuklama oshishidan himoya qiladi va narxlardan mustaqil ishlaydi. Ular IP-manzil yoki API-token bo’yicha emas, akkaunt va operatsiya bo’yicha alohida hisoblanadi. Shu sababli tokenni almashtirish hisoblagichlarni nolga tushirmaydi.

Endpoint 60 soniyadagi so’rovlar Bir vaqtdagi so’rovlar
GET /v1/me/ 120 5
GET /v1/users/{identifier} 120 5
GET /v1/groups/{identifier} 120 5
GET /v1/search/ 60 3
GET /v1/users/{identifier}/similar 60 3
GET /v1/groups/{identifier}/similar 30 2
GET /v1/groups/{identifier}/members 30 2

Har bir qatorning hisoblagichi alohida. Masalan, foydalanuvchi profilini olish so’rovlari guruhni olish kvotasini sarflamaydi.

Cheklovlardan biri oshirilsa, API 429 Too Many Requests va qayta urinishgacha kutish kerak bo’lgan butun soniyalardan iborat Retry-After sarlavhasini qaytaradi:

HTTP/1.1 429 Too Many Requests
Retry-After: 17
Content-Type: application/json
{
"detail": "Rate limit exceeded",
"reason": "rpm"
}

reason qiymatlari:

  • rpm — suriluvchi daqiqalik oynadagi so’rovlar kvotasi tugagan;
  • concurrency — operatsiya uchun eng ko’p bir vaqtdagi so’rovlar soni band.

concurrency holatida Retry-After odatda 1 bo’ladi. Ko’rsatilgan vaqtdan keyin qayta urinib ko’ring va darhol shuncha parallel so’rovni qayta yubormang.

So’rovlarni cheklash xizmati so’rovni qabul qila olmasa, API yopiq rejimda 503 Service Unavailable qaytaradi:

HTTP/1.1 503 Service Unavailable
Retry-After: 5
Content-Type: application/json
{ "detail": "Rate limiter is temporarily unavailable" }

Retry-After dagi vaqtdan keyin qayta urinib ko’ring. Muvaffaqiyatli javoblarda hozircha kvota hajmi, qolgan so’rovlar yoki tiklanish vaqti sarlavhalari yo’q.