v1

latestOpenAPI 3.0.3CC BY 4.0 (data endpoints)2026-07-1318320227.3 KB
Detection

Detect active censorship

Is a domain blocked in a country, right now? Grounded in real per-domain OONI + CensoredPlanet measurements. Returns status (blocked/accessible/unknown), evidence count, blocking method, and calibrated confidence. Unmeasured domains return status=unknown rather than a guess. For many domains use POST /hydra/v1/detect/batch. Requires an API key (free at /api-keys; hydra_demo_key works for testing).

post/hydra/v1/detect

Request body

countrystring required

ISO 3166-1 alpha-2 country code

targetstring required

Domain to check

Example request

{
  "country": "CN",
  "target": "google.com"
}

Response

Detection result

countrystring required
targetstring required
status'blocked' | 'accessible' | 'unknown' required

unknown = no per-domain measurements (NOT confirmed-accessible)

blockedboolean required

True only when status=blocked; check status for unknown

confidencenumber required

0 when unmeasured

basis'measured' | 'known_list' | 'unmeasured' required
measuredboolean
evidenceCountinteger

underlying per-domain measurements

{"stackTrail":"components:schemas:DetectResponse:properties:blockingMethod","oasType":"schema","type":"unknown","description":"e.g. tcp-reset, dns-blocking, blockpage"}
methodsstring[]
sourcesstring[]
lastCheckedstring date-time
permalinkstring