Utvecklare

Ett API för e-postverifiering som bara fungerar

Verifiera en adress i realtid, eller skicka en hel lista som en batch. Alla förfrågningar använder HTTPS och returnerar JSON. Skapa API-nycklar i kontrollpanelen under API-nycklar.

  • REST och JSON
  • Batch-callbacks
  • Samma krediter som i kontrollpanelen
Sidan API-nycklar i BounceBell med aktiva nycklar och ett formulär för att skapa en ny nyckel

Autentisering

Skicka din API-nyckel som en bearer-token i headern Authorization i varje begäran. Förvara nycklarna på din server. Lägg dem aldrig i webbläsarkod eller mobilappar.

Authorization: Bearer YOUR_API_KEY

Bas-URL:en för alla endpoints är https://bouncebell.com/api/v1.

Verifiera en adress

GET https://bouncebell.com/api/v1/verify

ParameterObligatorisktBeskrivning
emailJaAdressen som ska kontrolleras. URL-koda den.
timeoutNejAntal sekunder att vänta på e-postservern, från 3 till 30. Standard är 10. Om tiden tar slut blir statusen unknown och ingen kredit används.

Exempel

curl "https://bouncebell.com/api/v1/verify?email=rini.elizabeth%40acme-foods.example" \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "email": "rini.elizabeth@acme-foods.example",
  "status": "valid",
  "reason": "mailbox_exists",
  "domain": "acme-foods.example",
  "mx_record": "mx1.acme-foods.example",
  "disposable": false,
  "role": false,
  "free_provider": false,
  "catch_all": false,
  "did_you_mean": null,
  "checked_at": "2026-10-30T09:30:12Z",
  "credits_used": 1
}

Resultatfält

FältTypBeskrivning
emailstringAdressen som du skickade den.
statusstringBeskedet. Se statusar.
reasonstringVarför vi kom fram till beskedet, till exempel mailbox_not_found eller no_mail_server.
domainstringDomändelen, med gemener.
mx_recordstring or nullE-postservern med högst prioritet.
disposablebooleanTrue om domänen är en tjänst för tillfälliga inkorgar.
rolebooleanTrue för delade inkorgar som info@ eller support@.
free_providerbooleanTrue för gratisleverantörer av e-post som Gmail.
catch_allbooleanTrue när domänen accepterar varje adress.
did_you_meanstring or nullEn korrigerad adress när domänen ser ut att innehålla ett stavfel.
checked_atstringNär kontrollen kördes, i ISO 8601 UTC.
credits_usedinteger1, eller 0 när statusen är unknown.

Statusar

StatusBetydelseFöreslagen åtgärd
validBrevlådan finns och tar emot e-post.Skicka
invalidAdressen, domänen eller brevlådan finns inte.Ta bort
disposableEn tjänst för tillfälliga inkorgar.Ta bort
catch_allDomänen accepterar alla adresser, så brevlådan kan inte bekräftas.Granska
roleEn delad inkorg som finns.Granska
unknownE-postservern gav inget svar i tid. Debiteras inte.Försök senare

Batcher

Skicka upp till 100 000 adresser i en begäran. Batchen körs i bakgrunden. Fråga efter dess status eller ange en callback_url så anropar vi den när batchen är klar.

Skapa en batch

POST https://bouncebell.com/api/v1/batches

curl -X POST "https://bouncebell.com/api/v1/batches" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "October import", "emails": ["a@example.com", "b@example.com"],
       "callback_url": "https://yourapp.example/hooks/bouncebell"}'
{ "id": "bat_8f2k1q3m9x7w4p", "status": "queued", "total": 2, "done": 0 }

Krediter för varje unik adress reserveras när batchen skapas, och okända resultat återbetalas när den är klar. Callbacken tar emot en POST med {"event": "batch.completed", "batch_id": "...", "status": "done", "counts": {...}}. Callback-URL:er måste använda HTTPS.

Kontrollförlopp

GET https://bouncebell.com/api/v1/batches/{id}

{ "id": "bat_8f2k1q3m9x7w4p", "status": "running", "total": 2, "done": 1 }

Statusen är queued, running eller done. När den är done innehåller svaret även counts per status.

Ladda ner resultat

GET https://bouncebell.com/api/v1/batches/{id}/results

Returnerar JSON som standard. Lägg till ?format=csv för en CSV-fil. Varje rad har samma fält som en enskild kontroll.

Krediter

GET https://bouncebell.com/api/v1/credits

{ "credits_remaining": 33420 }

Fel och gränser

Fel returnerar en JSON-kropp med en error-kod och ett läsbart message.

HTTP-kodFelVad du ska göra
400bad_requestEn parameter saknas eller är fel. Läs meddelandet.
401invalid_keyKontrollera att nyckeln är korrekt och inte har återkallats.
402no_creditsKöp fler krediter.
403email_not_confirmedÖppna bekräftelselänken vi mejlade när du registrerade dig.
404not_foundBatchen finns inte eller raderades efter 30 dagar.
429rate_limitedSakta ner. Vänta det antal sekunder som anges i headern Retry-After.
500server_errorFörsök igen efter en kort stund. Om det fortsätter, kontakta supporten.

Enskilda kontroller är begränsade till 20 förfrågningar per sekund och nyckel. Hör av dig om du behöver fler.