Przejdź do głównej treści
API Enrow stosuje limity zapytań, aby zapewnić sprawiedliwe wykorzystanie i utrzymać jakość usługi. Limit jest taki sam we wszystkich punktach końcowych i wszystkich planach, jest egzekwowany na klucz API i mierzony w zapytaniach na sekundę (RPS). Ta strona wyjaśnia domyślne limity, co się dzieje po ich przekroczeniu oraz jak utrzymać się w ramach przydziału przy zwiększaniu skali.

Jakie są domyślne limity zapytań?

Każdy punkt końcowy POST zezwala na 10 zapytań na sekundę na klucz API. Limit jest identyczny we wszystkich punktach końcowych i wszystkich planach:
EndpointRate Limit
POST /email/find/single10 req/s
POST /email/find/bulk10 req/s
POST /email/verify/single10 req/s
POST /email/verify/bulk10 req/s
POST /phone/single10 req/s
POST /phone/bulk10 req/s
Punkty końcowe GET nie podlegają limitom zapytań, więc pobieranie wyników — na przykład pojedynczy wynik email lub wyniki zbiorcze — nie jest wliczane do Twojego przydziału.
Limity zapytań są na klucz API i mierzone w zapytaniach na sekundę (RPS). Każdy klucz API ma własny, niezależny przydział.

Co się dzieje, gdy przekroczę limit zapytań?

Po przekroczeniu limitu zapytań API zwraca odpowiedź 429 Too Many Requests:
{
  "message": "Too Many Requests"
}
Zalecanym sposobem obsługi 429 jest zastosowanie wykładniczego wycofywania — przed każdą ponowną próbą należy odczekać stopniowo coraz dłuższe opóźnienie, aby klucz API miał czas spaść poniżej limitu:
async function requestWithRetry(url, options, maxRetries = 3) {
  for (let attempt = 0; attempt < maxRetries; attempt++) {
    const response = await fetch(url, options);

    if (response.status === 429) {
      const delay = Math.pow(2, attempt) * 1000;
      await new Promise(resolve => setTimeout(resolve, delay));
      continue;
    }

    return response;
  }

  throw new Error('Max retries exceeded');
}
Pełną listę kodów odpowiedzi i sposobów ich obsługi znajdziesz w Kody statusu oraz Obsługa błędów.

Jak mogę uniknąć przekroczenia limitu zapytań?

Najskuteczniejszym sposobem na utrzymanie się w ramach przydziału jest wysyłanie mniejszej liczby większych zapytań oraz odbieranie wyników przez webhooki zamiast odpytywania.
Zamiast wykonywać 100 pojedynczych zapytań, wykonaj 1 zapytanie zbiorcze (do 5000 elementów dla email i 3000 dla telefonu). Pojedyncze zbiorcze POST liczy się jako 1 zapytanie w ramach Twojego limitu.
// ❌ 100 requests = 10 seconds at 10 RPS
for (const contact of contacts) {
  await findEmail(contact);
}

// ✅ 1 request
await findEmailsBulk(contacts);
Aby zacząć, zobacz Znajdowanie wielu adresów email oraz Weryfikacja wielu adresów email.
Odpytywanie punktu końcowego GET marnuje Twój przydział limitu zapytań. Użyj webhooków, aby automatycznie odbierać wyniki, gdy tylko wyszukiwanie lub weryfikacja zostanie zakończona.
Przechowuj wyniki, aby uniknąć zbędnych wywołań API dla tego samego kontaktu, co pozwala także zaoszczędzić kredyty.

Czy mogę uzyskać wyższe limity zapytań?

Tak. Enrow może zwiększyć Twój RPS indywidualnie, w zależności od przypadku. Skontaktuj się z nami pod adresem api@enrow.io, podając swój przypadek użycia i przewidywany wolumen.

FAQ

Nie. Limit 10 req/s obowiązuje niezależnie dla każdego punktu końcowego POST, a przydział jest śledzony na klucz API, a nie na konto.
Nie. Punkty końcowe GET nie podlegają limitom zapytań, więc odpytywanie o wyniki nie zużywa Twojego przydziału RPS. Mimo to webhooki są nadal korzystniejsze niż częste odpytywanie.
Tak. Pojedyncze zbiorcze POST liczy się jako 1 zapytanie w ramach Twojego limitu zapytań, nawet jeśli może zawierać do 5000 elementów dla email lub 3000 dla telefonu.
Odpowiedź 429 Too Many Requests z treścią { "message": "Too Many Requests" }. Ponów próbę z wykładniczym wycofywaniem. Szczegóły znajdziesz w Obsługa błędów.

Kolejne kroki

Znajdowanie wielu adresów email

Uruchom do 5000 wyszukiwań email w jednym zapytaniu, aby zaoszczędzić przydział limitu zapytań.

Webhooki

Odbieraj wyniki automatycznie zamiast odpytywać punkty końcowe GET.

Obsługa błędów

Obsługuj 429 i inne odpowiedzi w sposób płynny w swojej integracji.

Kredyty i rozliczenia

Zobacz, jak kredyty są zużywane dla każdego punktu końcowego.