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
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
| Parameter | Obligatoriskt | Beskrivning |
|---|---|---|
email | Ja | Adressen som ska kontrolleras. URL-koda den. |
timeout | Nej | Antal 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ält | Typ | Beskrivning |
|---|---|---|
email | string | Adressen som du skickade den. |
status | string | Beskedet. Se statusar. |
reason | string | Varför vi kom fram till beskedet, till exempel mailbox_not_found eller no_mail_server. |
domain | string | Domändelen, med gemener. |
mx_record | string or null | E-postservern med högst prioritet. |
disposable | boolean | True om domänen är en tjänst för tillfälliga inkorgar. |
role | boolean | True för delade inkorgar som info@ eller support@. |
free_provider | boolean | True för gratisleverantörer av e-post som Gmail. |
catch_all | boolean | True när domänen accepterar varje adress. |
did_you_mean | string or null | En korrigerad adress när domänen ser ut att innehålla ett stavfel. |
checked_at | string | När kontrollen kördes, i ISO 8601 UTC. |
credits_used | integer | 1, eller 0 när statusen är unknown. |
Statusar
| Status | Betydelse | Föreslagen åtgärd |
|---|---|---|
valid | Brevlådan finns och tar emot e-post. | Skicka |
invalid | Adressen, domänen eller brevlådan finns inte. | Ta bort |
disposable | En tjänst för tillfälliga inkorgar. | Ta bort |
catch_all | Domänen accepterar alla adresser, så brevlådan kan inte bekräftas. | Granska |
role | En delad inkorg som finns. | Granska |
unknown | E-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-kod | Fel | Vad du ska göra |
|---|---|---|
| 400 | bad_request | En parameter saknas eller är fel. Läs meddelandet. |
| 401 | invalid_key | Kontrollera att nyckeln är korrekt och inte har återkallats. |
| 402 | no_credits | Köp fler krediter. |
| 403 | email_not_confirmed | Öppna bekräftelselänken vi mejlade när du registrerade dig. |
| 404 | not_found | Batchen finns inte eller raderades efter 30 dagar. |
| 429 | rate_limited | Sakta ner. Vänta det antal sekunder som anges i headern Retry-After. |
| 500 | server_error | Fö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.