API gratuita del controllo blacklist per IP e domini
Una richiesta GET ti dice se un indirizzo IP o un dominio compare nelle liste di blocco pubbliche interrogate dall’API, lista per lista, con la pagina ufficiale per chiedere la rimozione. JSON, CORS attivo, senza registrazione.
- Gratis, senza registrazione
- Senza chiave, CORS attivo
- 10 controlli l’ora per IP
$ curl "https://app.mailsenpai.com/tools/blacklist-check?target=8.8.8.8"
{
"target": "8.8.8.8",
"type": "ip",
"status": "done",
"summary": "Not found on any of the lists this API queries",
"listed": false,
"counts": { "checks": 7, "listed": 0, "unreachable": 0, "clean": 7 },
"targets": [ { "target": "8.8.8.8", "lists": [ ... ] } ],
"lists_not_queried": [ ... ],
"cached": false
}Parametri ed esempi
| Nome | Obbligatorio | Descrizione |
|---|---|---|
target | Sì | Un indirizzo IPv4 pubblico, per esempio 203.0.113.10, oppure un dominio, per esempio tuaazienda.it. Per un dominio l’API controlla il dominio, il dominio registrato, gli IP dei primi server MX e il record A. IPv6 e indirizzi privati non sono accettati: per un IPv6 passa il dominio. |
lang | No | Lingua di riepilogo, etichette e note: en (predefinita) oppure it. I nomi dei campi e i valori degli esiti restano in inglese. |
job | No | Solo dopo una risposta 202: il job ricevuto. L’API restituisce l’esito di quel controllo senza avviarne uno nuovo. |
curl "https://app.mailsenpai.com/tools/blacklist-check?target=8.8.8.8"
const res = await fetch("https://app.mailsenpai.com/tools/blacklist-check?lang=it&target=" + encodeURIComponent(target));
const esito = await res.json();
if (res.status === 200) console.log(esito.summary, esito.counts.listed);Descrizione leggibile dai programmi (OpenAPI 3.1): YAML · JSON
Che cosa ricevi
Risposta vera per 8.8.8.8, accorciata. Con lang=it i testi arrivano in italiano.
{
"target": "8.8.8.8",
"type": "ip",
"status": "done",
"lang": "en",
"summary": "Not found on any of the lists this API queries",
"listed": false,
"counts": { "checks": 7, "listed": 0, "unreachable": 0, "clean": 7 },
"targets": [
{
"target": "8.8.8.8",
"role": "ip",
"role_label": "IP address",
"name": "dns.google",
"listed_count": 0,
"lists": [
{ "id": "psbl", "name": "PSBL", "result": "clean", "reason": "", "removal_url": "https://psbl.org/listing?ip=8.8.8.8" },
{ "id": "uceprotect1", "name": "UCEPROTECT Level 1", "result": "clean", "reason": "", "removal_url": "https://www.uceprotect.net/en/rblcheck.php" },
{ ... }
]
}
],
"lists_queried": 7,
"lists_not_queried": [
{ "name": "SpamCop", "url": "https://www.spamcop.net/bl.shtml", "checked_by_web_tool": true, "note": "Queried by the web tool, not by this API." },
{ "name": "Spamhaus (ZEN)", "url": "https://check.spamhaus.org/", "checked_by_web_tool": false, "note": "The list mail providers rely on most: check on their official site." },
{ ... }
],
"license_notices": [ "UCEPROTECT Level 1 data: Copyright © 2001-2021 UCEPROTECT-Network http://www.uceprotect.net. Permission to use, copy, ..." ],
"note": "",
"checked_at": "2026-10-12T09:57:04Z",
"cached": false,
"more": "https://en.mailsenpai.com/blacklist-check/",
"docs": "https://en.mailsenpai.com/blacklist-check-api/",
"source": "MailSenpai"
}| Campo | Valori |
|---|---|
status | done con HTTP 200. Se le liste impiegano più di 12 secondi ricevi HTTP 202 con in_progress, un job e un retry_url: richiamalo dopo un paio di secondi. |
listed | true quando almeno una lista segnala la voce. In counts ci sono i numeri: controlli (checks), presenze (listed), liste che non hanno risposto (unreachable), esiti puliti (clean). |
targets[].role | ip, domain (dominio), registered_domain (dominio registrato), mx (server della posta in arrivo) oppure a (indirizzo del sito). |
targets[].lists[].result | listed (in lista), clean (pulito) oppure unreachable (la lista non ha risposto: il campo reason dice perché). removal_url è la pagina ufficiale della lista per controllare e chiedere la rimozione. |
lists_not_queried | Le liste che questa API non interroga, ognuna con il collegamento al controllo ufficiale. checked_by_web_tool dice se lo strumento sul sito MailSenpai la interroga. |
license_notices | Note di attribuzione delle liste interrogate. Se mostri gli esiti, mostrale accanto. |
cached | true quando la stessa voce è stata controllata negli ultimi 30 minuti. |
Le liste che questa API interroga
Lo strumento sul sito MailSenpai interroga 15 liste. Questa API ne interroga 9: 7 per gli indirizzi IP e 2 per i domini.
Le liste che questa API non interroga tornano in lists_not_queried, ognuna con il collegamento alla sua pagina ufficiale di controllo.
Per il quadro completo su 15 liste, con il monitor gratuito e gli avvisi per email, usa la pagina del controllo blacklist.
| Lista | Controlla | Sito ufficiale |
|---|---|---|
| PSBL | Indirizzi IP | Sito ufficiale |
| 0spam | Indirizzi IP | Sito ufficiale |
| 0spam RBL | Indirizzi IP | Sito ufficiale |
| ZapBL | Indirizzi IP | Sito ufficiale |
| s5h.net | Indirizzi IP | Sito ufficiale |
| DroneBL | Indirizzi IP | Sito ufficiale |
| UCEPROTECT Level 1 | Indirizzi IP | Sito ufficiale |
| 0spam URL | Domini | Sito ufficiale |
| ZapBL RHSBL | Domini | Sito ufficiale |
Nota di copyright UCEPROTECT, restituita in license_notices: UCEPROTECT Level 1 data: Copyright © 2001-2021 UCEPROTECT-Network http://www.uceprotect.net. Permission to use, copy, modify, and/or distribute this data for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
Regole semplici, senza sorprese
10 controlli l’ora
Dallo stesso indirizzo IP. Le risposte servite dalla memoria di 30 minuti non contano. Le intestazioni X-RateLimit-Limit e X-RateLimit-Remaining ti dicono a che punto sei.
300 controlli al giorno in tutto
In comune fra tutti quelli che usano l’API. Quando si raggiunge, l’API risponde 429 fino a mezzanotte (ora di Greenwich).
Errori chiari
Oltre un limite ricevi HTTP 429 con l’intestazione Retry-After; un target mancante o non valido dà 422. Gli errori hanno una sola forma: {"code": "mspck_error", "message": "...", "data": {"status": 429, "retry_after": 1800}}.
Solo dati pubblici
L’API legge soltanto liste di blocco pubbliche attraverso il DNS: non servono account né dati personali. Sono accettate solo richieste GET.
Usalo da Claude, ChatGPT o Cursor
Il controllo blacklist è anche lo strumento check_blacklist del server MCP di MailSenpai, per Claude, ChatGPT, Cursor e gli altri client MCP. Come collegarlo (pagina in inglese).
https://mcp.mailsenpai.com/mcp
tool: check_blacklist
input: { "target": "203.0.113.10" }Domande frequenti
Serve una chiave API?
No. Chiama l’indirizzo direttamente dal tuo server o dal browser: il CORS è attivo.
Che cosa controlla per un dominio?
Il dominio e il dominio registrato sulle liste di domini, poi gli indirizzi IP dei primi server MX e del record A sulle liste di IP. Ognuno torna come una voce separata in targets.
Quali liste non interroga l’API?
Quelle in lists_not_queried: ognuna ha il collegamento alla sua pagina ufficiale di controllo. L’API interroga 9 liste, la pagina sul sito 15.
Che cosa succede oltre il limite?
Ricevi HTTP 429 con l’intestazione Retry-After, che dice quanti secondi aspettare. Le risposte già nella memoria di 30 minuti continuano a funzionare.
Posso usarla in un prodotto a pagamento?
Sì, entro i limiti di questa pagina. Mostra le note in license_notices accanto agli esiti, quando ci sono. Un collegamento al controllo blacklist di MailSenpai dove mostri gli esiti è gradito, non obbligatorio.
Un esito pulito vuol dire che le mie email arrivano in posta in arrivo?
No. Vuol dire che la voce non compare nelle liste interrogate da questa API. I servizi di posta usano anche dati propri e altre liste, come quelle in lists_not_queried.
C’è una descrizione OpenAPI?
Sì, in formato OpenAPI 3.1, in YAML e in JSON: i collegamenti sono sotto gli esempi.
Altri strumenti gratuiti
Preferisci una pagina? Controlla un IP o un dominio
Controlla un indirizzo IP o un dominio dal browser su 15 liste e attiva il monitor gratuito con gli avvisi per email. Se le email del sito o dell’app partono ancora dall’hosting, SMTP Senpai le firma con DKIM sul tuo dominio, con server di invio in Europa.