← Is Dit Veilig — API
API · v1

Documentation

One endpoint for the check, one for your usage. Bearer-key authentication; every key has a burst limit and a monthly quota per tier.

POST /api/v1/check
curl -X POST https://isditveilig.nl/api/v1/check \
  -H 'Authorization: Bearer idv_live_…' \
  -H 'Content-Type: application/json' \
  -d '{"type":"url","value":"https://example.com"}'

type is url, phone or email. value is what you want checked.

{
  "data": {
    "type": "url",
    "value": "belast1ngd1enst.nl",
    "risk": { "level": "critical", "score": 9, "verdict": "Critical — known scam or abuse." },
    "signals": [
      { "code": "brandspoof", "weight": 6, "text": "Possible brand impersonation of 'belastingdienst'" },
      { "code": "no_ssl",     "weight": 2, "text": "No valid certificate" },
      { "code": "reach_error","weight": 1, "text": "Site did not respond" }
    ],
    "sources": [ "urlhaus", "spamhaus_dbl", "google_safe_browsing", "internal_safelist", "isditveilig_reports" ],
    "checked_at": "2026-09-21T14:30:00+00:00"
  },
  "meta": {
    "rate_limit": { "limit": 60, "remaining": 59, "reset": 1747408800 },
    "quota": { "limit": 2500, "used": 1, "period_ends": "2026-10-01T00:00:00+00:00" }
  }
}
GET /api/v1/usage

Returns your tier, this month’s usage and when the period ends.

curl https://isditveilig.nl/api/v1/usage -H 'Authorization: Bearer idv_live_…'
Limits
Free250 / month · 10/min · stops with 402 — no metered overage
Start2,500 / month · 60/min · stops with 402 — no metered overage
Pro10,000 / month · 120/min · €15 per 1,000 above that
Enterprise1,000,000 / month · 600/min · €8 per 1,000 above that

Over the burst limit you get 429 rate_limited. Out of quota on Free or Start gives 402 quota_exceeded — you move up a tier. On Pro the call is served and counts toward a block of 1,000; every response carries X-Quota-Remaining and, from 80%, an X-Quota-Warning.

Request access

We issue keys by hand to keep quality high. You usually have a key within one business day.

Request access