For the complete site index, see llms.txt. Docs index: llms-docs.txt. Marketing corpus: llms-full.txt. Docs corpus: llms-full-docs.txt. Prefer markdown URLs where available (append .md).. Product skill: skill.md. Pricing: pricing.md. Docs MCP: /docs/mcp. Site MCP: /mcp.

Free tool — no account

IP & Domain DNS Blocklist Checker

Queries 42 public DNS blocklists — 35 for sending IPs, 7 for the domain name itself (DBL, URIBL, SURBL, and similar). This is a DNS lookup, not a website scan, and not Gmail or Microsoft reputation.

Try Presets:

Enter a sending IP to query 35 IP DNS blocklists, or a domain name for 7 URI lists (not a website scan). 127.0.0.2 is the RFC 5782 test address and should show as listed.

What these DNS blocklists are — and are not.

They are public DNS zones of IPs and domain names, not websites we crawl. A clean result on these lists is not a promise that Gmail or Microsoft will accept the mail.

35 IP DNS blocklists

Sending IPs are looked up on public zones such as Spamhaus ZEN, Barracuda BRBL, and SpamCop. These are DNS lists, not websites we crawl.

7 domain URI lists

A domain name is checked on DBL, URIBL, SURBL, and similar URI lists. We do not treat your website or MX host as the sending IP.

Failed queries are not ‘clean’

Timeouts, SERVFAIL, and refused Spamhaus replies show as errors. Green means the lists that answered returned no hit.

No result store

Lookups are not saved to a database. The IP or domain and the verdict are written to application logs for abuse control.

Validate blocklists via code.

POST an IP or domain name to the public tools endpoint. It queries the same 42 DNS blocklists as this page.

1

Install the Node.js package

npm install reloop-email
2

Check DNS blocklists with Node.js

check_blocklist.ts
1import Reloop from 'reloop-email';
2
3const reloop = new Reloop(process.env.RELOOP_API_KEY);
4
5const report = await reloop.tools.checkBlocklist({
6 target: '203.0.113.10',
7});
8
9console.log(`Verdict: ${report.verdict} (Listed: ${report.listedCount}/${report.totalChecked})`);
10console.log(`Clean: ${report.cleanCount}, Errors: ${report.errorCount}`);
3

Inspect JSON blocklist report (200 OK)

response.json
1{
2 "target": "203.0.113.10",
3 "inputType": "ip",
4 "ipVersion": "ipv4",
5 "resolvedIp": "203.0.113.10",
6 "hostname": null,
7 "checkedIps": [{ "ip": "203.0.113.10", "source": "input", "version": "ipv4" }],
8 "spfIncludes": [],
9 "spfRanges": [],
10 "ipNote": null,
11 "verdict": "clean",
12 "isClean": true,
13 "totalChecked": 42,
14 "listedCount": 0,
15 "cleanCount": 35,
16 "errorCount": 0,
17 "skippedCount": 7,
18 "scanDurationMs": 340,
19 "results": [
20 {
21 "id": "spamhaus-zen",
22 "name": "Spamhaus ZEN",
23 "host": "zen.spamhaus.org",
24 "listType": "ip",
25 "category": "reputation",
26 "impact": "high",
27 "status": "not_listed",
28 "isListed": false,
29 "responseCodes": [],
30 "responseTimeMs": 85,
31 "delistUrl": "https://check.spamhaus.org",
32 "listedTargets": []
33 }
34 ],
35 "recommendations": [
36 "No listings on the lists that returned a definitive answer. This is not a guarantee of inbox placement; Gmail, Microsoft, and Yahoo keep private reputation data."
37 ]
38}

Frequently asked questions.

Answers to common questions regarding DNS blocklists, domain URI lookups, and deliverability reputation.

Ship your first email in minutes

Open-source, deliverability-focused, and yours to self-host or run on Reloop Cloud. No lock-in, no rewrite later.

Reloop