curl "https://lookup.proweblook.com/api/v1/blacklistchecker?target=192.0.2.1&target_type=ip&api_key=YOUR_API_KEY"
curl "https://lookup.proweblook.com/api/v1/blacklistchecker?target=example.com&target_type=domain&api_key=YOUR_API_KEY"
curl "https://lookup.proweblook.com/api/v1/blacklistchecker?target=https://example.com/page&target_type=url&api_key=YOUR_API_KEY"
curl -X POST "https://lookup.proweblook.com/api/v1/blacklistchecker" \
-H "Content-Type: application/json" \
-d '{
"api_key": "YOUR_API_KEY",
"target": "192.0.2.1",
"target_type": "ip"
}'
curl "https://lookup.proweblook.com/api/v1/blacklistchecker?target=spammer.example.com&target_type=auto&api_key=YOUR_API_KEY"
const response = await fetch(
"https://lookup.proweblook.com/api/v1/blacklistchecker?" +
new URLSearchParams({
target: "192.0.2.1",
target_type: "ip",
api_key: "YOUR_API_KEY"
})
);
const data = await response.json();
if (data.listed) {
console.log(`Listed on ${data.listed_count} blacklists!`);
}
import requests
r = requests.get("https://lookup.proweblook.com/api/v1/blacklistchecker", params={
"target": "192.0.2.1",
"target_type": "ip",
"api_key": "YOUR_API_KEY"
})
data = r.json()
print(f"Listed: {data['listed']} on {data.get('listed_count', 0)} blacklists")
{
"status": true,
"target": "proweblook.com",
"target_type": "domain",
"listed": false,
"risk_score": 0,
"listed_count": 0,
"not_listed_count": 16,
"error_count": 0,
"checked_at": "2026-03-28T06:49:39+00:00",
"latency_ms": 700,
"sources": {
"spamhaus_zen": {
"state": "not_listed",
"source_name": "Spamhaus ZEN (SBL+XBL+PBL)",
"source_url": "https://www.spamhaus.org/",
"matched_value": "",
"checked_value": "159.89.170.136",
"latency_ms": 203,
"data_age_sec": null,
"error": ""
},
"barracuda": {
"state": "not_listed",
"source_name": "Barracuda",
"source_url": "http://www.barracudanetworks.com/",
"matched_value": "",
"checked_value": "159.89.170.136",
"latency_ms": 214,
"data_age_sec": null,
"error": ""
}
},
"balance": 99
}
{
"status": true,
"target": "192.0.2.1",
"target_type": "ip",
"listed": true,
"risk_score": 25,
"listed_count": 3,
"not_listed_count": 13,
"error_count": 0,
"checked_at": "2026-03-28T07:00:00+00:00",
"latency_ms": 4500,
"sources": {
"spamhaus_zen": {
"state": "listed",
"source_name": "Spamhaus ZEN (SBL+XBL+PBL)",
"source_url": "https://www.spamhaus.org/",
"matched_value": "127.0.0.2",
"checked_value": "192.0.2.1",
"latency_ms": 180,
"data_age_sec": null,
"error": ""
},
"barracuda": {
"state": "not_listed",
"source_name": "Barracuda",
"source_url": "http://www.barracudanetworks.com/",
"matched_value": "",
"checked_value": "192.0.2.1",
"latency_ms": 210,
"data_age_sec": null,
"error": ""
},
"blocklist_de": {
"state": "listed",
"source_name": "BlockList.de",
"source_url": "http://www.blocklist.de/",
"matched_value": "192.0.2.1",
"checked_value": "192.0.2.1",
"latency_ms": 0,
"data_age_sec": 3600,
"error": ""
}
},
"balance": 98
}
{
"status": false,
"error": "target_type must be ip, domain, url, or auto"
}
{
"status": false,
"error": "Insufficient blacklist credits"
}
API Reference
Blacklist Checker
Check an IP address, domain, or URL against global blacklists and spam databases.
GET
/
api
/
v1
/
blacklistchecker
curl "https://lookup.proweblook.com/api/v1/blacklistchecker?target=192.0.2.1&target_type=ip&api_key=YOUR_API_KEY"
curl "https://lookup.proweblook.com/api/v1/blacklistchecker?target=example.com&target_type=domain&api_key=YOUR_API_KEY"
curl "https://lookup.proweblook.com/api/v1/blacklistchecker?target=https://example.com/page&target_type=url&api_key=YOUR_API_KEY"
curl -X POST "https://lookup.proweblook.com/api/v1/blacklistchecker" \
-H "Content-Type: application/json" \
-d '{
"api_key": "YOUR_API_KEY",
"target": "192.0.2.1",
"target_type": "ip"
}'
curl "https://lookup.proweblook.com/api/v1/blacklistchecker?target=spammer.example.com&target_type=auto&api_key=YOUR_API_KEY"
const response = await fetch(
"https://lookup.proweblook.com/api/v1/blacklistchecker?" +
new URLSearchParams({
target: "192.0.2.1",
target_type: "ip",
api_key: "YOUR_API_KEY"
})
);
const data = await response.json();
if (data.listed) {
console.log(`Listed on ${data.listed_count} blacklists!`);
}
import requests
r = requests.get("https://lookup.proweblook.com/api/v1/blacklistchecker", params={
"target": "192.0.2.1",
"target_type": "ip",
"api_key": "YOUR_API_KEY"
})
data = r.json()
print(f"Listed: {data['listed']} on {data.get('listed_count', 0)} blacklists")
{
"status": true,
"target": "proweblook.com",
"target_type": "domain",
"listed": false,
"risk_score": 0,
"listed_count": 0,
"not_listed_count": 16,
"error_count": 0,
"checked_at": "2026-03-28T06:49:39+00:00",
"latency_ms": 700,
"sources": {
"spamhaus_zen": {
"state": "not_listed",
"source_name": "Spamhaus ZEN (SBL+XBL+PBL)",
"source_url": "https://www.spamhaus.org/",
"matched_value": "",
"checked_value": "159.89.170.136",
"latency_ms": 203,
"data_age_sec": null,
"error": ""
},
"barracuda": {
"state": "not_listed",
"source_name": "Barracuda",
"source_url": "http://www.barracudanetworks.com/",
"matched_value": "",
"checked_value": "159.89.170.136",
"latency_ms": 214,
"data_age_sec": null,
"error": ""
}
},
"balance": 99
}
{
"status": true,
"target": "192.0.2.1",
"target_type": "ip",
"listed": true,
"risk_score": 25,
"listed_count": 3,
"not_listed_count": 13,
"error_count": 0,
"checked_at": "2026-03-28T07:00:00+00:00",
"latency_ms": 4500,
"sources": {
"spamhaus_zen": {
"state": "listed",
"source_name": "Spamhaus ZEN (SBL+XBL+PBL)",
"source_url": "https://www.spamhaus.org/",
"matched_value": "127.0.0.2",
"checked_value": "192.0.2.1",
"latency_ms": 180,
"data_age_sec": null,
"error": ""
},
"barracuda": {
"state": "not_listed",
"source_name": "Barracuda",
"source_url": "http://www.barracudanetworks.com/",
"matched_value": "",
"checked_value": "192.0.2.1",
"latency_ms": 210,
"data_age_sec": null,
"error": ""
},
"blocklist_de": {
"state": "listed",
"source_name": "BlockList.de",
"source_url": "http://www.blocklist.de/",
"matched_value": "192.0.2.1",
"checked_value": "192.0.2.1",
"latency_ms": 0,
"data_age_sec": 3600,
"error": ""
}
},
"balance": 98
}
{
"status": false,
"error": "target_type must be ip, domain, url, or auto"
}
{
"status": false,
"error": "Insufficient blacklist credits"
}
Overview
The Blacklist Checker API verifies whether an IP address, domain, or URL appears in major public blacklists and spam databases. It checks across 16 active real-time DNSBL/DNS sources. Useful for email deliverability, fraud detection, and network security workflows. This endpoint supports bothGET and POST requests.
Coverage
All sources run live DNS lookups — no stale cached data.| Source | Identifier | Checks IPs | Checks Domains |
|---|---|---|---|
| Spamhaus ZEN (SBL+XBL+PBL) | spamhaus_zen | ✓ | ✓ |
| Spamhaus AuthBL | spamhaus_authbl | ✓ | ✓ |
| Spamhaus DBL (Domain Blocklist) | spamhaus_dbl | — | ✓ |
| Spamhaus ZRD (Zero Reputation) | spamhaus_zrd | — | ✓ |
| Barracuda | barracuda | ✓ | ✓ |
| Backscatterer | backscatterer | ✓ | ✓ |
| Blocked Servers | blocked_servers | ✓ | ✓ |
| EFnet RBL | efnet_rbl | ✓ | ✓ |
| GPF DNS Block List | gpf_dns | ✓ | ✓ |
| InterServer IP List | interserver | ✓ | ✓ |
| ISX.fr DNSBL | isx_fr | ✓ | ✓ |
| JustSpam | justspam | ✓ | ✓ |
| NordSpam | nordspam | ✓ | ✓ |
| Plonkatronix | plonkatronix | ✓ | ✓ |
| Passive Spam Block List (PSBL) | psbl | ✓ | ✓ |
| USTC IP BL | ustc_ip_bl | ✓ | ✓ |
Domain checking: Sources marked ✓ for domains check against the resolved IP of the domain (DNSBL lookup). Spamhaus DBL and ZRD check the domain name directly. When target_type=url, the domain is automatically extracted and checked.
Request Parameters
string
required
Your ProWebLook API key. See Authentication.
string
required
The IP address, domain, or URL to check against blacklists.Examples:
192.168.1.1, example.com, https://example.com/pathstring
required
The type of the target. Must be one of:
| Value | Description |
|---|---|
ip | Checks the target as an IPv4/IPv6 address |
domain | Checks the target as a domain name |
url | Checks the target as a full URL (domain is extracted internally) |
auto | Auto-detects the type based on the target format |
string
Optional. Comma-separated list of blacklist sources to check against. If omitted, all available sources are checked.
Response
boolean
true if the check completed successfully, false if an error occurred.string
The checked target (normalized form). For
url target type, this is the extracted domain.string
The resolved target type (
ip or domain). URL targets are resolved to domain.boolean
true if the target was found on one or more blacklists.integer
A numeric risk score from
0 to 100 based on the number and severity of blacklist matches. 0 means clean.integer
Number of sources on which the target is listed.
integer
Number of sources that confirmed the target is not listed.
integer
Number of sources that returned an error during the check.
string
ISO 8601 timestamp of when the check was performed (e.g.,
2026-03-28T06:49:39+00:00).integer
Total time in milliseconds to complete the check across all sources.
object
An object keyed by source identifier (e.g.,
spamhaus_zen, barracuda). Each entry contains:Show Source Entry Fields
Show Source Entry Fields
string
Check result state. One of:
not_listed, listed, or error.string
Human-readable name of the blacklist source (e.g.,
Spamhaus ZEN (SBL+XBL+PBL)).string
URL of the blacklist source website.
string
The value that matched this blacklist (e.g., a return code or reason). Empty string if not listed.
string
The actual value checked against this source — may be the domain, a resolved IP, or both depending on the source type.
integer
Time in milliseconds for this individual source check.
0 when result was served from the source cache.integer|null
Age in seconds of the cached data for this source, or
null if the check was performed in real time (e.g., DNS-based lookups).string
Error message if this source failed, empty string otherwise.
integer
Your remaining blacklist credits after this request. Credits are deducted for both fresh and cached responses.
Credit Cost
1 blacklist credit is deducted from yourblacklist_balance per successful check.
curl "https://lookup.proweblook.com/api/v1/blacklistchecker?target=192.0.2.1&target_type=ip&api_key=YOUR_API_KEY"
curl "https://lookup.proweblook.com/api/v1/blacklistchecker?target=example.com&target_type=domain&api_key=YOUR_API_KEY"
curl "https://lookup.proweblook.com/api/v1/blacklistchecker?target=https://example.com/page&target_type=url&api_key=YOUR_API_KEY"
curl -X POST "https://lookup.proweblook.com/api/v1/blacklistchecker" \
-H "Content-Type: application/json" \
-d '{
"api_key": "YOUR_API_KEY",
"target": "192.0.2.1",
"target_type": "ip"
}'
curl "https://lookup.proweblook.com/api/v1/blacklistchecker?target=spammer.example.com&target_type=auto&api_key=YOUR_API_KEY"
const response = await fetch(
"https://lookup.proweblook.com/api/v1/blacklistchecker?" +
new URLSearchParams({
target: "192.0.2.1",
target_type: "ip",
api_key: "YOUR_API_KEY"
})
);
const data = await response.json();
if (data.listed) {
console.log(`Listed on ${data.listed_count} blacklists!`);
}
import requests
r = requests.get("https://lookup.proweblook.com/api/v1/blacklistchecker", params={
"target": "192.0.2.1",
"target_type": "ip",
"api_key": "YOUR_API_KEY"
})
data = r.json()
print(f"Listed: {data['listed']} on {data.get('listed_count', 0)} blacklists")
{
"status": true,
"target": "proweblook.com",
"target_type": "domain",
"listed": false,
"risk_score": 0,
"listed_count": 0,
"not_listed_count": 16,
"error_count": 0,
"checked_at": "2026-03-28T06:49:39+00:00",
"latency_ms": 700,
"sources": {
"spamhaus_zen": {
"state": "not_listed",
"source_name": "Spamhaus ZEN (SBL+XBL+PBL)",
"source_url": "https://www.spamhaus.org/",
"matched_value": "",
"checked_value": "159.89.170.136",
"latency_ms": 203,
"data_age_sec": null,
"error": ""
},
"barracuda": {
"state": "not_listed",
"source_name": "Barracuda",
"source_url": "http://www.barracudanetworks.com/",
"matched_value": "",
"checked_value": "159.89.170.136",
"latency_ms": 214,
"data_age_sec": null,
"error": ""
}
},
"balance": 99
}
{
"status": true,
"target": "192.0.2.1",
"target_type": "ip",
"listed": true,
"risk_score": 25,
"listed_count": 3,
"not_listed_count": 13,
"error_count": 0,
"checked_at": "2026-03-28T07:00:00+00:00",
"latency_ms": 4500,
"sources": {
"spamhaus_zen": {
"state": "listed",
"source_name": "Spamhaus ZEN (SBL+XBL+PBL)",
"source_url": "https://www.spamhaus.org/",
"matched_value": "127.0.0.2",
"checked_value": "192.0.2.1",
"latency_ms": 180,
"data_age_sec": null,
"error": ""
},
"barracuda": {
"state": "not_listed",
"source_name": "Barracuda",
"source_url": "http://www.barracudanetworks.com/",
"matched_value": "",
"checked_value": "192.0.2.1",
"latency_ms": 210,
"data_age_sec": null,
"error": ""
},
"blocklist_de": {
"state": "listed",
"source_name": "BlockList.de",
"source_url": "http://www.blocklist.de/",
"matched_value": "192.0.2.1",
"checked_value": "192.0.2.1",
"latency_ms": 0,
"data_age_sec": 3600,
"error": ""
}
},
"balance": 98
}
{
"status": false,
"error": "target_type must be ip, domain, url, or auto"
}
{
"status": false,
"error": "Insufficient blacklist credits"
}
