Government — entry 028 of 90

FBI Wanted

Verified Jul 2026

The FBI Wanted API returns structured records for the Bureau's public Wanted lists — fugitives, missing persons, seeking-information subjects, and the Ten Most Wanted — including photos, physical descriptions, and field-office assignments. It's fully keyless and returns JSON; the live endpoint answers normally even on occasions when the developer documentation page itself trips Cloudflare's bot-fight challenge for automated clients. It's read-only, mirroring the same listings shown on fbi.gov/wanted.

The FBI Wanted API serves structured JSON records for every list on fbi.gov/wanted — fugitives, missing persons, seeking-information subjects, and the Ten Most Wanted — including photos, physical descriptions, reward text, and field-office assignments, with no account or key required.

law-enforcementgovernment-dataus-federalpublic-safety
AuthenticationNone requiredCall it straight away — no key, no signup.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreeNo paid tier — free for the documented use case.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score74out of 100
Authentication25/25No authentication required
Pricing20/20Free to use
Docs0/20No docs or spec available
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 74 on greatapis.com
<a href="https://greatapis.com/api/fbi-wanted/"><img src="https://greatapis.com/badge/fbi-wanted.svg" alt="Scored 74 on greatapis.com"></a>

Auth quickstart

  1. No API key required — requests are public and keyless. Note that `fbi.gov/wanted/api`, the FBI's own documentation page, returned a 403 to an automated request when checked on 2026-07-26 (Cloudflare's bot-fight gate on the docs page, not the API), while `api.fbi.gov` itself answered normally — the API and its docs page sit behind different protections.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

List wanted persons, one per page

GEThttps://api.fbi.gov/wanted/v1/list?pageSize=1

200 application/json

{
  "total": 1214,
  "items": [
    {
      "uid": "9627161690684c62ada3daa4dee61645",
      "title": "ELAINE ANGENE ESCOE",
      "subjects": ["Most Wanted Fraudster"],
      "status": "captured",
      "field_offices": ["miami"],
      "sex": "Female",
      "race": "black",
      "nationality": "Jamaican",
      "reward_text": "The FBI is offering a reward of up to $150,000 for information leading to the arrest and conviction of Elaine Angene Escoe.",
      "publication": "2025-09-02T10:30:00",
      "modified": "2026-07-25T20:17:29+00:00",
      "url": "https://www.fbi.gov/wanted/most-wanted-fraudsters/elaine-angene-escoe",
      "images": [
        { "original": "https://www.fbi.gov/wanted/most-wanted-fraudsters/elaine-angene-escoe/@@images/image" }
      ]
    }
  ],
  "page": 1
}

Developer reference

Base URLhttps://api.fbi.gov/wanted/v1

Gotchas & limits

  • A single full item is roughly 4 KB — most of it a long HTML `caution` field, `images` with three URL variants each (`thumb`/`large`/`original`), and about a dozen null fields for attributes the record doesn't have. Trim the response to the fields you need rather than storing every item whole.
  • `status` isn't limited to "wanted" — confirmed live on 2026-07-26, the default listing returned a `captured` record, so filter or check `status` client-side if you only want subjects still at large.
  • Free-text search isn't a separate endpoint: pass `title=` (matched against the person's name) directly on `/wanted/v1/list`, e.g. `?title=escoe&pageSize=1` — confirmed live to return a 2-record match.
  • CORS is fully open — a live OPTIONS preflight returned `access-control-allow-origin: *`, `access-control-allow-methods: GET, POST` — but the response is also gated by Cloudflare bot-management cookies (`__cf_bm`, `_cfuvid`) set on every call, which browser `fetch` handles transparently but some HTTP clients need to carry across requests.
  • There's no documented rate limit or key-based higher tier — the API is entirely anonymous, so build in your own client-side throttling if polling frequently.