Skip to content
BlacklistMonitoring
Developers

Blacklist monitoring API and webhooks

The Scale plan includes a REST API and signed webhooks. Add and remove assets from your own systems, read listings and findings, and receive events the moment something changes.

Authentication

Create a token under API in your workspace settings. Send it as a bearer token. Tokens are scoped to one workspace and can be revoked at any time.

curl https://blacklistmonitoring.com/api/v1/assets \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

Assets

An asset is a domain, an IP address or, on Scale, a CIDR range.

MethodPathWhat it does
GET/api/v1/assetsList assets with score and listed count
POST/api/v1/assetsAdd a domain, IP or range
GET/api/v1/assets/{id}One asset with its latest check
POST/api/v1/assets/{id}/checkRe-check now
DELETE/api/v1/assets/{id}Stop monitoring
POST /api/v1/assets
{ "value": "198.51.100.0/24", "label": "Customer 4410", "tags": ["msp", "eu"] }

Listings

GET /api/v1/listings?status=open returns every open listing in the workspace with the list, return code, its meaning, when it started and the removal page.

Findings

GET /api/v1/assets/{id}/findings returns the Domain Health findings, each with severity, a code, the sentence you see in the dashboard and the fix.

Webhooks

Webhooks are sent as JSON POST requests for listing.opened, listing.closed, finding.opened and finding.resolved. Every request carries an X-Signature header, an HMAC SHA-256 of the raw body with your webhook secret.

{
  "event": "listing.opened",
  "asset": { "id": 812, "value": "185.62.14.20", "type": "ip" },
  "list": { "name": "Barracuda BRBL", "zone": "b.barracudacentral.org" },
  "return_code": "127.0.0.2",
  "removal_url": "https://www.barracudacentral.org/rbl/removal-request",
  "detected_at": "2026-10-11T03:12:08Z"
}

Rate limits

120 requests per minute per token. Responses over the limit return HTTP 429 with a Retry-After header.

See the Scale plan