We are going to provide you an API service for IP/domain black list checking to maintain and monitor your reputation across the black list monitoring services.As you have already used our black list checker so you know our reliability.
We will provide you two API endpoints to check your IPv4, IPv6 and domains/web urls for black list checking.
It gives you listing data of SpamCop,Spamhaus,Barracudacentral,senderscore,server ip address and PTR records of your given Ip addresses to check your Ip reputations and email spam reporting service.
Second end point for domains/urls checking that gives you ability to checking these data are A-records,Spamhaus,Hostkarmer,SpamCop,Stearns,Outblaze,Abusebtler,Joewein and URIBl.
| Lookups | API Calls | Limit per call | IPv4/IPv6 Lookup | Domain lookup | Pricing Monthly |
|---|---|---|---|---|---|
| 10,000 | 1000 | 10 | Yes | Yes | |
| 30,000 | 1,500 | 20 | Yes | Yes | |
| 50,000 | 2,500 | 20 | Yes | Yes | |
| 100,000 | 4,000 | 25 | Yes | Yes | |
| 200,000 | 8,000 | 25 | Yes | Yes | |
| 300,000 | 10,000 | 30 | Yes | Yes | |
| 500,000 | 10,000 | 50 | Yes | Yes |
Example: You have 50,000 Lookups package
So that, it will be work like this
20 X 2,500 = 50,000 Lookups
Note: Limit per call is the number of IP/domain you can send in your request if you send any number according to your package limit, it will be count as 1 API call.
IP responses include a senderscore field and a
senderscore_status field.
| senderscore | senderscore_status | Meaning |
|---|---|---|
| a number (0-100) | ok | Score fetched |
"pending" | queued | We are fetching it in the background. Retrieve it later for free using the polling endpoint (see below). Usually ready in under a minute. |
"pending" | refresh_queued | You asked for refresh=1. A fresh score is being fetched. Poll again for free to retrieve it. |
"NA" | not_listed | This IP does not have a SenderScore (not listed by senderscore.org). |
refresh=1 parameter
Force a fresh fetch even if a cached score exists.
Example:
GET /backend/ipdomain_api.php?apiKey=YOUR_KEY&ips=1.2.3.4&refresh=1
This always returns senderscore_status: "refresh_queued" first;
poll the free endpoint to retrieve the new score. refresh=1 still consumes 1 credit
per call (same as a normal lookup).
/backend/senderscore_poll.php
If any IP in your response came back as "pending", your
response also includes a top-level _poll block with a ready-made
poll_url. Hit that URL to retrieve the score once the background
fetch has finished. Polling is free — it does not consume credits.
Usage: GET /backend/senderscore_poll.php?apiKey=YOUR_KEY&ips=1.2.3.4,5.6.7.8
Limits: up to 200 IPs per poll, max 300 polls per minute per API key.
Availability: a score is pollable while it is in cache (up to 24 hours after the billed call that triggered the fetch). After that, a fresh billed call is required to trigger a new fetch.
Entitlement: you can only poll IPs that your own API key looked up via the billed ipdomain_api.php within the last 24 hours. IPs your key never queried return status: "unauthorized" with a null score — this stops the endpoint from being used as an unbilled bulk SenderScore lookup.
Returns: only senderscore for each IP — no DNSBL, PTR, or A-record data. For fresh blacklist status, use the billed ipdomain_api.php.
Per-IP status values in the poll response:
ok — score is ready; the number is in senderscore.pending — you are entitled, but the background fetch hasn't finished yet. Poll again in a few seconds.unauthorized — your API key never looked up this IP (or it's been >24h). Call ipdomain_api.php with this IP first.invalid_ip — the IP failed basic validation.
{
"response": "success",
"message": "Successfully completed request.",
"data": [
{
"result": 1,
"ip": "1.2.3.4",
"PTR_records": "example.com",
"spamcop": false,
"spamhaus": false,
"barracudacentral": false,
"senderscore": "pending",
"senderscore_status": "queued"
}
],
"_poll": {
"pending_ips": ["1.2.3.4"],
"poll_url": "/backend/senderscore_poll.php?apiKey=YOUR_KEY&ips=1.2.3.4",
"hint": "Poll the above URL to retrieve pending SenderScores once ready. Polling does not consume credits."
}
}
ipdomain_api.php call — 1 credit per call (same as before).ipdomain_api.php with refresh=1 — 1 credit, bypasses SenderScore cache.senderscore_poll.php call — 0 credits, always.