Public API

Palestinian Prisoners Data

A read-only, machine-readable API over documented records of Palestinian prisoners and detainees in Israeli custody. Every table is an HTTP endpoint that returns JSON or CSV.

Quick start

The API is served by PostgREST. Send the public key with every request as an apikey header. The key is safe to use in client-side code — access is governed by the database, which only ever returns published rows to it.

BASE="https://nbuwoujnljvihdqhiyyw.supabase.co/rest/v1"
KEY="sb_publishable_kFUwkD9S4RsycDmf3JO0zg_KF_pcY38"

# Five most recent recorded deaths in custody
curl "$BASE/prisoners?select=name_en,date_of_death,cause_of_death&order=date_of_death.desc&limit=5" \
  -H "apikey: $KEY"
Records are added through an editorial review queue and are not exposed here until a human marks them published — so this endpoint reflects reviewed data only. Read the methodology →

Resources

Each is available at BASE/<resource>.

EndpointContents
/prisonersPeople — deceased-in-custody records and living detainees
/facilitiesPrisons, interrogation and detention centers
/organizationsHuman-rights organizations and publishers
/testimoniesIndividual survivor / released-detainee accounts
/sourcesCitations behind the records (reports included)

Querying

PostgREST exposes filtering, ordering and pagination as URL parameters.

# Choose columns
?select=name_en,date_of_death,residence

# Filter (operators: eq, neq, gt, gte, lt, lte, like, ilike, in, is)
?status=eq.administrative_detainee
?date_of_death=gte.2023-10-07
?name_en=ilike.*khan*
?status=in.(sentenced,detainee)

# Order & paginate
?order=date_of_death.desc&limit=50&offset=100

CSV instead of JSON

Add an Accept: text/csv header to any endpoint:

curl "$BASE/prisoners?select=name_en,date_of_death" \
  -H "apikey: $KEY" -H "Accept: text/csv" > prisoners.csv

Full operator reference is in the interactive API reference.

What's public

The public key reads only published rows. Draft and in-review records — including newly imported or partially documented ones — are never returned. This is enforced by the database, not by the application, so the guarantee holds for every consumer.

A record's verification field describes corroboration, not truth: single_source corroborated disputed unverified.

Fields

The most-used columns. See the reference for the complete, current schema of every resource.

prisoners

name_en / name_arName; primary transliteration and Arabic
aliasesOther spellings (array)
residence, regionOrigin (West Bank, Gaza, '48, Jerusalem)
statusadministrative_detainee, sentenced, detainee, citizen_of_israel, unknown
is_deceased, date_of_death, cause_of_deathDeath-in-custody details
body_withheld, body_returned_onWhether the body is held by Israel
charges, location_of_arrestArrest context (living detainees)
detention_start, detention_end, times_arrestedDetention period and history
narrativeSource narrative paragraph

Other resources

facilities (name, aliases, type, region) · organizations (name, website, telegram) · testimonies (testifier_name, full_text, detention_facility, classification) · sources (type, title, url, published_on). Full details in the reference.