Documentazione
Gli endpoint che usi davvero.
Una chiave, due endpoint: verificare un indirizzo o verificare una lista.
01Autenticazione
Una chiave, inviata come bearer token.
Ogni richiesta porta la tua chiave API. Le chiavi si creano dalla dashboard e hanno gli scope verify e bulk.
Authorization: Bearer bi_live_…
Content-Type: application/jsonUna chiave viene mostrata solo alla creazione; conserviamo solo il prefisso. Se trapela, revocala e creane un'altra; le altre continuano a funzionare.
02Singolo / tempo reale
Verificare un indirizzo.
Verifica sincrona: sintassi, DNS, MX e una conversazione SMTP con il server destinatario. Un credito.
https://api.bounceintel.com/v1/check_emailVerificare un indirizzo
Restituisce il report completo con punteggio. Latenza mediana sotto i 500 ms; prevedi 30 s con server lenti.
curl -sS -X POST 'https://api.bounceintel.com/v1/check_email' \
-H "Authorization: Bearer $BOUNCEINTEL_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]"
}'{
"input": "[email protected]",
"is_reachable": "safe",
"provider": "google_workspace",
"provider_confidence": "high",
"score": {
"score": 100,
"category": "valid",
"sub_reason": "deliverable",
"safe_to_send": true,
"confidence": 95,
"confidence_level": "high",
"reason_codes": ["provider_reputation"],
"signals": {
"valid_syntax": true,
"has_mx_records": true,
"smtp_can_connect": true,
"smtp_is_deliverable": true,
"smtp_is_catch_all": false
}
},
"syntax": { "username": "ada", "domain": "stripe.com", "is_valid_syntax": true },
"mx": { "accepts_mail": true, "records": ["aspmx.l.google.com."] },
"smtp": {
"can_connect_smtp": true,
"is_deliverable": true,
"is_catch_all": false,
"has_full_inbox": false,
"is_disabled": false
},
"misc": { "is_disposable": false, "is_role_account": false, "is_b2c": false },
"bounce_risk": { "score": 8, "category": "low", "action": "send", "confidence": 0.71 }
}03In blocco / asincrono
Verificare una lista.
Invia l'intera lista in una richiesta, monitora l'avanzamento e pagina i risultati. Un credito per indirizzo, addebitato all'invio.
https://api.bounceintel.com/v1/bulkInviare una lista
Invia tutti gli indirizzi in una chiamata. La risposta è un id di job; la verifica prosegue in background.
curl -sS -X POST 'https://api.bounceintel.com/v1/bulk' \
-H "Authorization: Bearer $BOUNCEINTEL_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": [
"[email protected]",
"[email protected]",
"[email protected]"
]
}'{
"job_id": 8
}https://api.bounceintel.com/v1/bulk/{job_id}Verificare l'avanzamento
Interroga mentre il job gira. finished_at resta null finché tutti gli indirizzi non sono stati elaborati.
curl -sS -X GET 'https://api.bounceintel.com/v1/bulk/{job_id}' \
-H "Authorization: Bearer $BOUNCEINTEL_KEY" \
-H "Accept: application/json"{
"job_id": 8,
"created_at": "2026-09-02T15:16:15.447365Z",
"finished_at": null,
"total_records": 4,
"total_processed": 2,
"summary": {
"total_safe": 1,
"total_risky": 0,
"total_invalid": 1,
"total_unknown": 0
},
"job_status": "Running"
}https://api.bounceintel.com/v1/bulk/{job_id}/results?format=json&limit=1000&offset=0Recuperare i risultati
Pagina i risultati completati. Ogni riga ha la stessa forma di una verifica singola.
curl -sS -X GET 'https://api.bounceintel.com/v1/bulk/{job_id}/results?format=json&limit=1000&offset=0' \
-H "Authorization: Bearer $BOUNCEINTEL_KEY" \
-H "Accept: application/json"{
"results": [
{
"input": "[email protected]",
"is_reachable": "safe",
"provider": "google_workspace",
"score": {
"score": 100,
"category": "valid",
"safe_to_send": true,
"sub_reason": "deliverable",
"reason_codes": ["provider_reputation"]
},
"syntax": { "username": "ada", "domain": "stripe.com", "is_valid_syntax": true },
"mx": { "accepts_mail": true, "records": ["aspmx.l.google.com."] },
"smtp": { "can_connect_smtp": true, "is_deliverable": true, "is_catch_all": false },
"misc": { "is_disposable": false, "is_role_account": false },
"bounce_risk": { "score": 8, "category": "low", "action": "send" }
}
]
}04Assistenti IA
Verifica dal tuo assistente IA.
BounceIntel mette a disposizione un server MCP all'indirizzo https://api.bounceintel.com/mcp. Collega Claude Code, Cursor, VS Code o qualsiasi client che supporti MCP via HTTP: l'assistente verificherà indirizzi e liste per te, con la stessa chiave API e gli stessi crediti.
claude mcp add --transport http bounceintel https://api.bounceintel.com/mcp \
--header "Authorization: Bearer $BOUNCEINTEL_KEY"Invia la chiave API come bearer token, esattamente come per l'API REST. Gli esempi la leggono da BOUNCEINTEL_KEY, così la chiave non finisce in file che potresti caricare nel repository.
| Strumento | Scope della chiave | Cosa fa |
|---|---|---|
| verify_email | verify | Verifica un indirizzo e restituisce verdetto, punteggio e motivo. Un credito. |
| verify_email_list | bulk | Avvia un job in blocco per una lista e ne restituisce l'id. Un credito per indirizzo unico. |
| get_bulk_job | bulk | Mostra l'avanzamento di un job e quanti indirizzi hanno ciascun verdetto. Nessun credito. |
| get_bulk_results | bulk | Restituisce i verdetti di un job completato, una pagina alla volta, filtrati per verdetto se serve. Nessun credito. |
| get_account | qualsiasi chiave | Mostra il piano, i crediti rimasti e quando si rinnovano. Nessun credito. |
I job in blocco girano in background: l'assistente avvia il job, ne controlla l'avanzamento e poi legge i risultati. Gli strumenti che una chiave non può usare restano nascosti all'assistente.
05Errori
Cosa può tornare.
Ogni errore restituisce un JSON con un campo error. Questi sono quelli da gestire.
| Stato | Errore | Cosa fare |
|---|---|---|
| 400 | invalid_request | Corpo malformato o indirizzo inutilizzabile. Correggi e reinvia. |
| 401 | unauthorized | Chiave assente, errata o revocata. |
| 403 | forbidden | Chiave valida ma priva dello scope richiesto. |
| 429 | rate_limited | Troppe richieste. Attendi e riprova. |
| 429 | quota_exceeded | Crediti esauriti. Solo l'acquisto risolve; riprovare non serve. |
| 503 | unavailable | Non è stato possibile stabilire la tua quota. Transitorio: riprova a breve. |
06Playground
Provalo con la tua chiave.
Esegue una verifica reale sul tuo account. Una verifica singola consuma un credito; il bulk uno per indirizzo, addebitato all'invio.
Incolla la tua chiave API per provare. La chiave viene inviata al nostro backend, usata una volta e non conservata. I controlli come ospite non usano la tua chiave.
URL di base: https://api.bounceintel.com