FOR YOUR TERMINAL · 5 MIN READ
Useful Answers. Copyable Commands.
A command-line request to the home page returns your connection IP and one newline. Diagnostic reports use a separate JSON endpoint.
MXBLACKLIST reads DNS and existing blocklist data. It does not submit spam reports, upload messages, request new listings or send removal requests. Any review request is your own action on the provider’s website.
curl
Just the domain. No parameters.
curl mxblacklist.infoThe bare command uses HTTP. Use HTTPS for an encrypted connection:
curl -fsS https://mxblacklist.infoA Stable Plain-text Path
/ip returns plain text regardless of user agent. It identifies the source of this web request—not necessarily an outbound mail server.
curl -fsS https://mxblacklist.info/ipIPv4 or IPv6
Your connection must support the chosen family.
curl -4 -fsS https://mxblacklist.info/ipcurl -6 -fsS https://mxblacklist.info/ipPowerShell and wget
(Invoke-RestMethod -Uri 'https://mxblacklist.info/ip').Trim()wget -qO- https://mxblacklist.info/ipIP JSON
curl -fsS https://mxblacklist.info/api/ip{"ip":"192.0.2.25","version":4}Inspect Mail DNS
Use exactly one mode and one target parameter. Domains use ASCII DNS labels; enter punycode for internationalized names. No email addresses or URLs.
curl -fsS "https://mxblacklist.info/api/check?mode=domain&target=mxblacklist.info"$report = Invoke-RestMethod -Uri 'https://mxblacklist.info/api/check?mode=domain&target=mxblacklist.info'
$report.cards | Select-Object title, label, detailInspect a Sending IP
Replace the placeholder below with a public sending-server IP from your own logs. Private, local and documentation ranges are not accepted.
curl -fsS --get 'https://mxblacklist.info/api/check' --data-urlencode 'mode=ip' --data-urlencode 'target=YOUR_PUBLIC_SENDING_IP'IPv4 runs SpamCop and PTR checks. IPv6 receives PTR only, with its SpamCop state explicitly unsupported. This is not a bulk-query endpoint.
Read the Report, Not Just HTTP 200
Reports include mode, target, checkedAt, completedAt, resolver, lookupUnits, scope and cards. Each card has a state, label, detail and available records or query data.
States include info, review, listed, clear, unknown and unsupported. HTTP 200 can contain incomplete checks. Only clear means the one checked blocklist returned an unlisted response; other states must not be collapsed into “clean.”
Two Shared Allowances
The server allows 60 HTTP requests per source IP, per site, in any rolling 60 seconds. Pages, assets, HEAD requests and endpoints share that allowance. It also permits 6 diagnostic lookup units per IP in a rolling minute: Mail DNS reserves 3, IPv4 reserves 4, and IPv6 PTR reserves 1. Failed lookups still consume reserved units. Both limits apply, and people behind one public IP share them.
X-RateLimit-Limit and X-RateLimit-Remaining expose the HTTP budget. Diagnostic requests also expose X-LookupLimit-Limit and X-LookupLimit-Remaining after reservation. Responses are non-cacheable.
Handle Failures Deliberately
HTTP 400 means invalid input; 405 means the method is unsupported; 429 means wait for the Retry-After seconds; 503 can indicate that the configured lookup budget is too small for the selected mode. A 502 is a processing failure. Do not retry in a tight loop. Concurrency, response sizes and upstream timeouts are bounded.
Free endpoints have no uptime commitment. A supported connected browser agent may run the same visible diagnostic action when you ask it to; it uses the same validation and budgets, not an alternate path around them.