API reference

Blacklist checker

Check an IP address or domain against DNS blacklists, and schedule recurring monitors. Each check counts against your plan's monthly blacklist-check allowance. Paths are relative to https://app.blacklistguard.com/api/v1.

Run a check

curl -X POST https://app.blacklistguard.com/api/v1/blacklist/check \
  -H "X-API-Key: efk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "target": "203.0.113.10" }'

The target can be an IP or a domain. Returns:

{
  "target": "203.0.113.10",
  "target_type": "ip",
  "total_checked": 40,
  "listed_count": 1,
  "results": [
    { "zone": "zen.spamhaus.org", "status": "listed", "description": "...", "delisting_info": "..." }
  ],
  "checked_at": "..."
}

Each result's status is listed, not_listed, skipped, timeout, or error. The response also includes your remaining allowance for the month.

Scheduled monitors

GET    /blacklist/monitors
POST   /blacklist/monitors        { "target", "frequency_minutes", "notify" }
GET    /blacklist/monitors/{id}
PATCH  /blacklist/monitors/{id}   { "frequency_minutes?", "notify?", "status?" }
DELETE /blacklist/monitors/{id}

A monitor re-checks a target on a schedule. Each row: { id, target, target_type, frequency_minutes, notify, status, last_checked_at, next_run_at, last_listed_count, last_listed_zones }. Set status to paused to stop it temporarily.

History

GET /blacklist/history?from&to&target&check_type&monitor_id&limit&offset

Past checks (manual and scheduled). Each row: { id, target, target_type, check_type, status, listed_count, total_checked, cost, created_at, result }, where result maps each zone to its status.