Szukasz ogólnego opisu? Zobacz stronę o API do weryfikacji e-mail albo o API do walidacji e-mail w formularzach rejestracji (po angielsku).

Email validator API: dokumentacja API do weryfikacji e-mail

Weryfikuj adres e-mail, uruchamiaj masową weryfikację i szczegółowo sprawdzaj adresy catch-all oraz adresy chronione przez SEG. Wszystkie endpointy używają formatu JSON i uwierzytelniania kluczem API. Płacisz tylko za udane weryfikacje.

Wprowadzenie

API Giggal.ai pozwala zweryfikować adres e-mail, uruchomić masową weryfikację do 50 000 adresów w jednym zadaniu oraz szczegółowo sprawdzić adresy catch-all i adresy chronione przez SEG. To proste API REST w formacie JSON. Każda udana weryfikacja zużywa kredyty z twojego konta.

Bazowy URL
https://api.giggal.ai/v1
Jak uzyskać klucz API

Utwórz klucz API w panelu Giggal.ai: otwórz zakładkę Developer API na pasku bocznym i kliknij Create API Key. Każdy klucz jest powiązany z twoim kontem i ma własne statystyki użycia. Możesz go unieważnić w każdej chwili.

Otwórz zakładkę Developer API
Format odpowiedzi

Każda odpowiedź ma tę samą strukturę JSON:

// Success
{ "success": true, "data": { ... }, "meta": { ... } }

// Error
{ "success": false, "error": "Human-readable error message" }
Szybki start: weryfikacja adresu w cURL
curl -X POST https://api.giggal.ai/v1/verify \
  -H "Authorization: Bearer tp_live_xxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"email":"info@giggal.ai"}'

Uwierzytelnianie

Wysyłaj klucz API z każdym żądaniem, w jednym z dwóch nagłówków. Oba działają.

Opcja 1: token Bearer
Authorization: Bearer tp_live_xxxxxxxxxxxxxxxxxxxxxxxxx
Opcja 2: nagłówek X-API-Key
X-API-Key: tp_live_xxxxxxxxxxxxxxxxxxxxxxxxx

Brak klucza albo klucz nieprawidłowy lub unieważniony zwraca błąd HTTP 401. Nigdy nie umieszczaj kluczy API w kodzie po stronie klienta. Wywołuj API przez swój backend.

Idempotencja (weryfikacja masowa i catch-all)

Do POST /v1/verify-batch i POST /v1/catchall dołącz nagłówek Idempotency-Key. Ponowna próba z tym samym kluczem zwraca pierwotną odpowiedź. Nie powstaje duplikat zadania, a kredyty nie są pobierane dwa razy.

Idempotency-Key: 2026-07-24-list-batch-42

Pojedyncza weryfikacja

1 endpoint w tej grupie.

POST/v1/verify

Weryfikacja adresu e-mail

Weryfikuje jeden adres e-mail synchronicznie. Kosztuje 1 kredyt. Jeśli domena jest typu catch-all, szczegółowe sprawdzenie odbywa się w tym samym żądaniu, a odpowiedź zawiera pola catch_all_score i catch_all_verdict.

Autoryzacja
api_key_auth
Treść żądania
email
Wymagany
string
Adres e-mail do weryfikacji.

Masowa weryfikacja

Liczba endpointów w tej grupie: 3.

POST/v1/verify-batch

Wysłanie zadania wsadowego do masowej weryfikacji

Wyślij do 50 000 adresów w jednym zadaniu. Przetwarzanie jest asynchroniczne: odpytuj GET /v1/jobs/:jobId, aby śledzić postęp. Dołącz nagłówek Idempotency-Key, aby ponowić utworzenie zadania bez podwójnej opłaty.

Autoryzacja
api_key_auth
Treść żądania
emails
Wymagany
string[]
Lista adresów e-mail do weryfikacji. Maksymalnie 50 000 w jednym zadaniu. Duplikaty i błędnie zapisane adresy są usuwane po stronie serwera.
name
string
Opcjonalna nazwa zadania, czytelna dla człowieka. Widoczna w twoim panelu.
GET/v1/jobs/:jobId

Status zadania wsadowego

Odpytuj ten endpoint, aby śledzić postęp. Zmiana statusu: processing → completed (albo failed). Zalecany odstęp między zapytaniami: od 10 do 15 sekund. Małe listy (poniżej 50 adresów) kończą się zwykle w mniej niż 30 sekund.

Autoryzacja
api_key_auth
Parametry ścieżki i zapytania
jobId
Wymagany
string
Identyfikator zadania zwrócony przez POST /v1/verify-batch.
GET/v1/jobs/:jobId/results

Wyniki zadania wsadowego

Gdy status ma wartość "completed", pobierz wyniki dla każdego adresu. Wyniki są stronicowane: użyj parametrów zapytania page i limit. Wyniki są przechowywane przez 48 godzin (zobacz pole resultsExpiresAt w zadaniu).

Autoryzacja
api_key_auth
Parametry ścieżki i zapytania
jobId
Wymagany
string
Identyfikator zadania.
page
integer
Numer strony, domyślnie 1.
limit
integer
Liczba wyników na stronę, domyślnie 25, maksymalnie 500.

Weryfikacja catch-all

Liczba endpointów w tej grupie: 4.

POST/v1/catchall

Uruchomienie zadania weryfikacji catch-all

Uruchamia szczegółową weryfikację catch-all dla zakończonego zadania wsadowego. Ponownie sprawdzane są tylko adresy oznaczone jako catch-all w pierwotnym zadaniu. Opłata wynosi 1 kredyt za adres (zobacz pole creditsRequired w odpowiedzi).

Autoryzacja
api_key_auth
Treść żądania
jobId
Wymagany
string
Identyfikator zakończonego zadania wsadowego do masowej weryfikacji. Szczegółowo sprawdzane są tylko adresy catch-all z tego zadania.
name
string
Opcjonalna nazwa zadania, czytelna dla człowieka.
GET/v1/catchall/:taskId

Status zadania catch-all

Odpytuj ten endpoint, aby śledzić postęp i aktualne liczniki verdictCounts. Zadanie catch-all trwa zwykle od kilku sekund do kilku minut, zależnie od wolumenu.

Autoryzacja
api_key_auth
Parametry ścieżki i zapytania
taskId
Wymagany
string
Identyfikator zadania zwrócony przez POST /v1/catchall.
GET/v1/catchall/:taskId/results

Wyniki zadania catch-all

Pobiera stronicowane wyniki dla każdego adresu ze szczegółami oceny (sygnały sortowania domeny i wiek domeny).

Autoryzacja
api_key_auth
Parametry ścieżki i zapytania
taskId
Wymagany
string
Identyfikator zadania.
page
integer
Numer strony, domyślnie 1.
limit
integer
Liczba wyników na stronę, domyślnie 25, maksymalnie 500.
verdict
string
Filtr według wyniku: valid | invalid.
GET/v1/catchall/:taskId/download

Pobranie wyników catch-all w pliku CSV

Pobiera wszystkie wyniki zakończonego zadania catch-all w pliku CSV z kolumnami Email, Score i Verdict. Content-Type to text/csv.

Autoryzacja
api_key_auth
Parametry ścieżki i zapytania
taskId
Wymagany
string
Identyfikator zadania.
verdict
string
Filtr według wyniku: valid | invalid.

Konto

1 endpoint w tej grupie.

GET/v1/credits

Saldo kredytów

Zwraca saldo konta: dostępne kredyty, kredyty zarezerwowane (zablokowane dla trwających zadań) i sumy od założenia konta. Kredyty za weryfikacje z wynikiem "unknown" wracają automatycznie i widać je tutaj.

Autoryzacja
api_key_auth

Błędy i limity zapytań

StatusZnaczenie
200 OKŻądanie się powiodło (weryfikacja synchroniczna albo odczyt statusu lub wyników).
202 AcceptedZadanie asynchroniczne zostało utworzone i dodane do kolejki.
400 Bad RequestBrak parametrów lub nieprawidłowe parametry (zły format adresu, pusta lista emails, brak jobId).
401 UnauthorizedBrak klucza API albo klucz nieprawidłowy lub unieważniony.
402 Payment RequiredZa mało kredytów na tę operację.
404 Not FoundIdentyfikator zadania nie istnieje na twoim koncie.
409 ConflictZadanie nie jest w wymaganym stanie (na przykład wyniki pobrano przed jego zakończeniem).
410 GoneWyniki zadania przekroczyły okres przechowywania wynoszący 48 godzin.
429 Too Many RequestsPrzekroczono limit zapytań. Odczekaj chwilę i spróbuj ponownie.
500 / 502 / 503Serwer lub zewnętrzna usługa weryfikacji jest chwilowo niedostępna.

Limity zapytań

Każda odpowiedź zawiera nagłówki RateLimit-Limit, RateLimit-Remaining i RateLimit-Reset (pisownia według RFC). Pomagają one rozłożyć zapytania w czasie. RateLimit-Reset podaje liczbę sekund do wyzerowania bieżącego okna.

KategoriaLimit
Wszystkie endpointy (domyślnie)300 zapytań / 15 minut
Tworzenie zadań (POST /v1/verify-batch, POST /v1/catchall)30 zapytań / 15 minut
Śledzenie zadań (GET /v1/jobs/:id, GET /v1/jobs/:id/results)600 zapytań / 15 minut
Maksymalna liczba adresów w zadaniu wsadowym50 000
Przechowywanie wyników48 godzin

Są trzy poziomy limitów, bo zadanie sprawdza się częściej, niż się je tworzy. Podczas trwania zadania możesz odpytywać API co kilka sekund. Limit 600 / 15 min (około 40 na minutę) daje więc zapas i nie przeciąża serwera.

Potrzebujesz wyższych limitów?

Regularnie podnosimy limity dla zweryfikowanych partnerów integracyjnych.

Skontaktuj się z nami

Format odpowiedzi 429

Po przekroczeniu limitu API zwraca błąd HTTP 429 z taką treścią:

{
  "success": false,
  "message": "Developer API rate limit exceeded"
}

Przed ponowną próbą odczekaj liczbę sekund podaną w nagłówku RateLimit-Reset (czas do wyzerowania okna).

Chcesz zintegrować API?

Utwórz klucz API w kilka sekund. Na start dostajesz darmowe kredyty testowe, więc sprawdzisz całą integrację przed zakupem.