Try any of 919 endpoints — live.
Pick an endpoint, load a working example, tweak the params, and send — no signup to try. Results render the way the data deserves; raw JSON, headers & code are one tab away.
Screen up to 100 names in one call (in-memory → cheap). Each item is a string or {name,type?,country?,dob?,threshold?}; per-item options override call defaults.
Up to 100 names to screen in one call. Each item is a string OR an object {name, type?, country?, dob?, threshold?}. Per-item options override the call-level defaults. Screening is in-memory so a batch is cheap.
Optional entity type. When set, ONLY same-type list records are compared (a person query never matches a vessel record) — the single biggest precision lever. Omit to screen across all types.
Optional country/nationality descriptor. A match on the record's country / nationality / place-of-birth adds 'country' to matched_fields and boosts the score. A mismatch does NOT exclude (lists are sparsely populated) — it is simply not corroborated.
Minimum match score (0-1) to surface a candidate. Default 0.85. Lower → higher recall (more false positives); raise toward 0.95 for high-precision exact screening. Scores >= 0.95 are reported as status 'match', between threshold and that as 'possible_match'. (0.62–1)
Max matches to return per name (1-100, default 20), highest score first. (1–100)
Optional comma-separated list of source ids to restrict screening to: ofac_sdn, ofac_consolidated, uk_ofsi. Omit to screen ALL reachable sources (recommended).
curl -X POST https://api.reefapi.com/sanctions/v1/batch \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"names":"[\"Ismail Haniya\",\"Bank of Kunlun\"]"}'Hit Send to run this endpoint live.