API documentation
Base address: https://www.bastionblock.eu/v2. You include your key in the header Key.
The API only provides blocks that I have personally identified. I use lists from other parties internally, but I do not share them.
GET /v2/check
curl -H "Key: YOUR_KEY" "https://www.bastionblock.eu/v2/check?ip=1.2.3.4"
{"data": {"ipAddress": "1.2.3.4", "ipVersion": 4, "isListed": true,
"abuseConfidenceScore": 80, "totalReports": 112,
"firstSeenAt": "2026-10-13T06:25:05+00:00", "lastSeenAt": "2026-10-20T15:17:39+00:00",
"entries": [{"network": "1.2.3.4/32", "category": "web-attack", "score": 80,
"hits": 112, "expires": "2027-10-20T15:17:39+00:00", "active": true}]}}
This also works without a key, but with a low limit (20 questions per minute).
GET /v2/blacklist
curl -H "Key: …" "https://www.bastionblock.eu/v2/blacklist?confidenceMinimum=90" curl -H "Key: …" "https://www.bastionblock.eu/v2/blacklist?confidenceMinimum=90&plaintext=1"
| Parameter | |
|---|---|
confidenceMinimum | 0–100, default 75 |
limit | maximum number of lines (10000, max 100000) |
plaintext=1 | one address per line |
Categories
web-attack attacks on websites · mail-bruteforce guessing passwords on mail · manual manually added by me
Limits and error codes
Standard 60 questions per minute and 5,000 per day per key. 401 key invalid or missing · 422 invalid IP address · 429 limit reached; the Retry-After header indicates when space is available again