# FBI Most Wanted List Scraper (`parseforge/fbi-wanted-list-scraper`) Actor

Scrape the FBI public wanted persons API. Get name, aliases, description, charges, reward, photos, ethnicity, hair, eyes, scars, last seen and field office. No API key required.

- **URL**: https://apify.com/parseforge/fbi-wanted-list-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Business, News, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $26.93 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🚨 FBI Most Wanted List Scraper

> 🚀 **Export the FBI public wanted persons database in seconds.** Filter the **Ten Most Wanted**, ECAP child alerts, kidnappings, fugitives, and victims by field office, status, or free-text keyword. No API key, no registration, no manual page scraping.

> 🕒 **Last updated:** 2026-05-13 · **📊 47 fields** per record · **🚨 Live FBI feed** · **🇺🇸 56 field offices**

The **FBI Most Wanted List Scraper** wraps the official FBI public wanted persons API (`api.fbi.gov/wanted/v1/list`) and returns one row per person with **47 fields**, including name, aliases, charges, reward, status, ethnicity, hair and eyes, scars and marks, last-seen location, field office, and image URLs. The underlying feed is published by the **Federal Bureau of Investigation**, the principal federal investigative agency of the United States Department of Justice.

Coverage includes every public poster category. **Ten Most Wanted Fugitives**, the **ECAP** (Endangered Child Alert Program), Kidnappings and Missing Persons, Seeking Information, ViCAP Unidentified Persons, and Most Wanted Terrorists. Status filters include captured, recovered, located, surrendered, and deceased. This Actor returns structured records ready to download as CSV, Excel, JSON, or XML.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Journalists, OSINT analysts, true-crime researchers, public-safety apps, academic criminologists, fact-checking newsrooms, government compliance teams | Crime-tracking dashboards, OSINT investigations, true-crime content research, civic transparency, KYC/sanctions cross-checks, missing-persons aggregators |

---

### 📋 What the FBI Wanted Scraper does

One unified extraction workflow across the full public wanted catalog:

- 🚨 **Top Ten Most Wanted.** The headline fugitive list with rewards up to $5,000,000.
- 👶 **ECAP alerts.** Endangered Child Alert Program posters seeking the public's help identifying unknown adults connected to child sexual exploitation.
- 🔍 **Kidnappings and Missing Persons.** Active cases including AMBER-eligible disappearances and Indian Country missing persons.
- 🕵️ **Seeking Information.** Bank robbers, hijackers, and persons of interest the FBI is actively pursuing.
- 🧬 **ViCAP Unidentified Persons.** Cold-case Jane / John Doe records with facial reconstructions.
- 🌐 **Most Wanted Terrorists.** Federal indictments related to terrorism.

Filter by keyword (matches title, description, aliases, charges), poster category, person role (Main suspect or Victim), FBI field office slug (atlanta, chicago, losangeles, miami, newyork, billings, etc.), and case status. Pagination is automatic across the full result set.

> 💡 **Why it matters:** the FBI feed is the gold standard for U.S. wanted-persons data, but the public website surfaces only one poster at a time. This Actor returns the entire dataset in a single run, deduplicated and normalized, so you can build dashboards, OSINT pipelines, or compliance checks without scraping HTML pages.

---

### 🎬 Full Demo

_🚧 Coming soon: a 3-minute walkthrough showing how to filter by field office and export a full dataset._

---

### ⚙️ Input

<table>
<thead>
<tr><th>Input</th><th>Type</th><th>Default</th><th>Behavior</th></tr>
</thead>
<tbody>
<tr><td><code>keyword</code></td><td>string</td><td><code>""</code></td><td>Free-text search across titles, descriptions, aliases, charges.</td></tr>
<tr><td><code>maxItems</code></td><td>integer</td><td><code>10</code></td><td>Records to return. Free plan caps at 10, paid plan at 1,000,000.</td></tr>
<tr><td><code>posterCategory</code></td><td>enum</td><td><code>""</code></td><td><code>ten</code> for Top Ten Most Wanted, <code>ecap</code> for the Endangered Child Alert Program, empty for all.</td></tr>
<tr><td><code>personClassification</code></td><td>enum</td><td><code>""</code></td><td><code>Main</code> for wanted subjects, <code>Victim</code> for case victims, empty for all.</td></tr>
<tr><td><code>fieldOffice</code></td><td>string</td><td><code>""</code></td><td>FBI field office slug. Examples: <code>atlanta</code>, <code>chicago</code>, <code>losangeles</code>, <code>miami</code>, <code>newyork</code>, <code>billings</code>.</td></tr>
<tr><td><code>status</code></td><td>enum</td><td><code>""</code></td><td><code>na</code> = no arrest, <code>captured</code>, <code>recovered</code>, <code>located</code>, <code>surrendered</code>, <code>deceased</code>.</td></tr>
</tbody>
</table>

**Example: every active Top Ten Most Wanted fugitive.**

```json
{
    "posterCategory": "ten",
    "status": "na",
    "maxItems": 20
}
````

**Example: every Los Angeles field-office case where someone has been captured.**

```json
{
    "fieldOffice": "losangeles",
    "status": "captured",
    "maxItems": 100
}
```

> ⚠️ **Good to Know:** the FBI surfaces both wanted persons and case victims under the same feed. Use `personClassification: "Main"` to limit to wanted subjects. Free-text keyword search is case-insensitive and applies to titles, descriptions, aliases, and charges.

***

### 📊 Output

Each record contains **47 fields** with optional fields omitted when unavailable. Download the dataset as CSV, Excel, JSON, or XML.

#### 🧾 Schema (selected fields)

| Field | Type | Example |
|---|---|---|
| 🖼️ `imageUrl` | string | null | `"https://www.fbi.gov/wanted/kidnap/roland-plainfeather/@@images/image"` |
| 📛 `title` | string | `"ROLAND PLAINFEATHER"` |
| 🆔 `uid` | string | `"2e3067a9450449cb80b783a64a43f78f"` |
| 🔗 `url` | string | `"https://www.fbi.gov/wanted/kidnap/roland-plainfeather"` |
| 🏷️ `status` | string | null | `"na"` |
| 📝 `description` | string | null | `"April 19, 2026\r\nPryor, Montana"` |
| 🏷️ `subjects` | string\[] | `["Kidnappings and Missing Persons", "Indian Country"]` |
| 👤 `personClassification` | string | null | `"Main"` |
| 🚨 `posterClassification` | string | null | `"missing"` |
| ⚥ `sex` | string | null | `"Male"` |
| 🌍 `race` | string | null | `"native"` |
| 🎂 `ageMin` / `ageMax` | integer | null | `null` |
| 📏 `heightMin` / `heightMax` | integer | null | `70` (inches) |
| ⚖️ `weight` | string | null | `"170 pounds"` |
| 👁️ `eyes` | string | null | `"brown"` |
| 💇 `hair` | string | null | `"gray"` |
| 🩹 `scarsAndMarks` | string | null | `"Tattoo on right forearm"` |
| 💰 `rewardMin` / `rewardMax` | number | `0` |
| 📝 `rewardText` | string | null | `"Up to $100,000"` |
| ⚠️ `warningMessage` | string | null | `"SHOULD BE CONSIDERED ARMED AND DANGEROUS"` |
| 📄 `details` | string | null | `"<p>Long-form HTML case description...</p>"` |
| 🏢 `fieldOffices` | string\[] | `["billings"]` |
| 📅 `publication` | ISO 8601 | null | `"2026-04-29T10:32:00"` |
| 🕒 `modified` | ISO 8601 | null | `"2026-05-11T13:48:55+00:00"` |
| 🖼️ `imageCount` | integer | `1` |
| 🖼️ `imageUrls` | string\[] | `["https://www.fbi.gov/wanted/.../image"]` |
| 🕒 `scrapedAt` | ISO 8601 | `"2026-05-12T21:30:38.645Z"` |

Additional optional fields when present: `ethnicity`, `nationality`, `ageRange`, `weightMin`, `weightMax`, `build`, `complexion`, `occupations`, `languages`, `placeOfBirth`, `datesOfBirthUsed`, `ncic`, `remarks`, `caution`, `additionalInformation`, `suspects`, `possibleCountries`, `possibleStates`, `locations`, `legatNames`, `raceRaw`, `eyesRaw`, `hairRaw`.

#### 📦 Sample records

<details>
<summary><strong>🚨 Active missing-persons case: Roland Plainfeather (Billings field office)</strong></summary>

```json
{
    "imageUrl": "https://www.fbi.gov/wanted/kidnap/roland-plainfeather/@@images/image",
    "title": "ROLAND PLAINFEATHER",
    "uid": "2e3067a9450449cb80b783a64a43f78f",
    "url": "https://www.fbi.gov/wanted/kidnap/roland-plainfeather",
    "status": "na",
    "description": "April 19, 2026\r\nPryor, Montana",
    "subjects": ["Kidnappings and Missing Persons", "Indian Country"],
    "personClassification": "Main",
    "posterClassification": "missing",
    "sex": "Male",
    "race": "native",
    "heightMin": 70,
    "heightMax": 70,
    "weight": "170 pounds",
    "eyes": "brown",
    "hair": "gray",
    "datesOfBirthUsed": ["August 5, 1954"],
    "fieldOffices": ["billings"],
    "publication": "2026-04-29T10:32:00",
    "modified": "2026-05-11T13:48:55+00:00",
    "imageCount": 1,
    "scrapedAt": "2026-05-12T21:30:38.645Z"
}
```

</details>

<details>
<summary><strong>🧬 ViCAP Unidentified Persons: Medford Jane Doe</strong></summary>

```json
{
    "imageUrl": "https://www.fbi.gov/wanted/vicap/unidentified-persons/jane-doe---medford-new-york/@@images/image",
    "title": "JANE DOE - MEDFORD, NEW YORK",
    "uid": "8047423326854f4082604c1111320665",
    "status": "na",
    "subjects": ["ViCAP Unidentified Persons"],
    "personClassification": "Main",
    "sex": "Female",
    "race": "white",
    "ageMin": 20,
    "ageMax": 30,
    "heightMin": 60,
    "heightMax": 60,
    "weight": "104 pounds",
    "eyes": "brown",
    "hair": "brown",
    "scarsAndMarks": "She had a scar in the center of her right calf, and a tattoo of a heart with a banner and the name Adrian on her upper left shoulder.",
    "publication": "2026-05-11T09:42:00",
    "imageCount": 2,
    "scrapedAt": "2026-05-12T21:30:38.645Z"
}
```

</details>

***

### ✨ Why choose this Actor

| | Capability |
|---|---|
| 🚨 | **Full feed.** Every public poster on the FBI wanted list, not just the Top Ten. |
| 🎯 | **Multi-dimensional filters.** Category, role, field office, status, and free-text keyword combine freely. |
| 📊 | **47 fields per record.** Names, aliases, charges, physical description, scars and marks, photos, last-seen, rewards. |
| 🖼️ | **All photos.** Every image URL surfaced, not just the cover photo. |
| 🏢 | **Field-office routing.** Filter by any of the 56 FBI field-office slugs. |
| ⚡ | **Fast.** 10 posters in under 5 seconds, the full active dataset in under a minute. |
| 🚫 | **No authentication.** FBI publishes the data publicly. No API key needed. |

> 📊 The FBI wanted feed is the canonical source for U.S. fugitive and missing-persons data. The API is the source, this Actor turns it into rows.

***

### 📈 How it compares to alternatives

| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| **⭐ FBI Wanted Scraper** *(this Actor)* | $5 free credit, then pay-per-use | **Full public feed** | **Live per run** | category, role, office, status, keyword | ⚡ 2 min |
| Manual browsing of fbi.gov/wanted | Free | One poster at a time | On demand | Limited UI filters | 🐢 Slow, no automation |
| HTML scrapers | Free | Subset, fragile | Variable | Custom | 🛠️ Hours, breaks on layout changes |
| Commercial OSINT platforms | $$$$ | Multi-source aggregation | Vendor cadence | Vendor-specific | ⏳ Days |

Pick this Actor when you want a programmable interface to the official FBI public feed.

***

### 🚀 How to use

1. 📝 **Sign up.** [Create a free account with $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp) (takes 2 minutes).
2. 🌐 **Open the Actor.** Go to the FBI Most Wanted List Scraper page on the Apify Store.
3. 🎯 **Set filters.** Pick a poster category, field office, or keyword. Leave everything blank for the full feed.
4. 🚀 **Run it.** Click **Start** and let the Actor collect your data.
5. 📥 **Download.** Grab your results in the **Dataset** tab as CSV, Excel, JSON, or XML.

> ⏱️ Total time from signup to downloaded dataset: **3-5 minutes.** No coding required.

***

### 💼 Business use cases

<table>
<tr>
<td width="50%" valign="top">

#### 📰 Investigative Journalism

- Track active fugitive cases by field office
- Build true-crime story databases with cited sources
- Monitor newly added posters via scheduled runs
- Cross-reference suspects against public court records

</td>
<td width="50%" valign="top">

#### 🛡️ Compliance & KYC

- Cross-check customer onboarding against the public wanted feed
- Adverse-media flags for high-risk jurisdictions
- Automated daily refresh into compliance dashboards
- Alert pipelines for newly published posters

</td>
</tr>
<tr>
<td width="50%" valign="top">

#### 🕵️ OSINT & Threat Intelligence

- Aggregate wanted persons with geographic context
- Field-office focus for region-specific monitoring
- Photo and physical-description analysis for investigations
- Cross-correlation with social-media signals

</td>
<td width="50%" valign="top">

#### 🎓 Academic Criminology

- Longitudinal datasets for crime-pattern research
- Comparative studies across field offices and case types
- ECAP and ViCAP cold-case research projects
- Public-safety dashboards for university courses

</td>
</tr>
</table>

***

### 🔌 Automating FBI Wanted Scraper

Control the scraper programmatically for scheduled runs and pipeline integrations:

- 🟢 **Node.js.** Install the `apify-client` NPM package.
- 🐍 **Python.** Use the `apify-client` PyPI package.
- 📚 See the [Apify API documentation](https://docs.apify.com/api/v2) for full details.

The [Apify Schedules feature](https://docs.apify.com/platform/schedules) lets you trigger this Actor on any cron interval. Hourly, daily, or weekly refreshes keep downstream databases in sync automatically.

***

### 🌟 Beyond business use cases

The same structured records support research, education, civic projects, and personal initiatives.

<table>
<tr>
<td width="50%">

#### 🎓 Research and academia

- Criminology theses backed by cited FBI data
- ViCAP cold-case forensic studies
- Public-safety coursework with reproducible datasets
- Indian Country missing-persons research

</td>
<td width="50%">

#### 🎨 Personal and creative

- True-crime podcast research with current cases
- Civic-tech side projects mapping local cases
- Visualization portfolios on public-safety data
- Family-history searches for cold-case relatives

</td>
</tr>
<tr>
<td width="50%">

#### 🤝 Non-profit and civic

- Missing-persons advocacy dashboards
- Public-interest journalism on regional case patterns
- ECAP awareness campaigns with current posters
- Community-safety mapping with field-office context

</td>
<td width="50%">

#### 🧪 Experimentation

- Train NLP models on case-description text
- Validate OSINT product hypotheses with real cases
- Prototype LLM agents for case-summarization
- Test dashboard concepts with live public feeds

</td>
</tr>
</table>

***

### 🤖 Ask an AI assistant about this scraper

Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:

- 💬 [**ChatGPT**](https://chat.openai.com/?q=How%20do%20I%20use%20the%20FBI%20Most%20Wanted%20List%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🧠 [**Claude**](https://claude.ai/new?q=How%20do%20I%20use%20the%20FBI%20Most%20Wanted%20List%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🔍 [**Perplexity**](https://perplexity.ai/search?q=How%20do%20I%20use%20the%20FBI%20Most%20Wanted%20List%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🅒 [**Copilot**](https://copilot.microsoft.com/?q=How%20do%20I%20use%20the%20FBI%20Most%20Wanted%20List%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)

***

### ❓ Frequently Asked Questions

#### 🧩 How does it work?

The Actor hits the public FBI wanted persons API at `api.fbi.gov/wanted/v1/list`, paginates through all results, and returns one structured record per person. No HTML scraping, no captcha, no setup.

#### 🚨 Is the Top Ten Most Wanted included?

Yes. Set `posterCategory: "ten"` to return only the Top Ten. Leave it empty to include every poster category (Top Ten, ECAP, kidnappings, seeking information, ViCAP, etc.).

#### 👤 What is the difference between Main and Victim?

The FBI feed includes both wanted subjects (the people the FBI is pursuing) and case victims (people connected to active cases such as kidnappings or homicides). Set `personClassification: "Main"` to limit results to wanted subjects only.

#### 🏢 How do I filter by field office?

Use the `fieldOffice` input with the lowercase slug of the field office. Examples: `atlanta`, `chicago`, `losangeles`, `miami`, `newyork`, `billings`, `phoenix`. The full list of 56 field offices is published on fbi.gov/contact-us/field-offices.

#### 📅 How often is the dataset refreshed?

The FBI updates the public feed continuously as cases are added, modified, or closed. Every run of this Actor fetches the latest snapshot in real time.

#### ⏰ Can I schedule regular runs?

Yes. Use Apify Schedules to run this Actor on any cron interval (hourly, daily, weekly) and keep a downstream database in sync.

#### ⚖️ Is this data legal to use?

Yes. The FBI publishes the wanted feed for public use specifically to enlist civilian help. The data is in the public domain. Review the specific use case for any platform-specific terms before commercial redistribution.

#### 💼 Can I use this data commercially?

Yes. Public FBI wanted records are public information and can be used in commercial products. Be respectful of the people in the records, including victims. The FBI status changes (captured, recovered, located) so refresh regularly.

#### 💳 Do I need a paid Apify plan to use this Actor?

No. The free Apify plan is enough for testing and small runs (10 records per run). A paid plan lifts the limit to 1,000,000 records.

#### 🔁 What happens if a run fails?

Apify automatically retries transient errors. If a run still fails, you can inspect the log in the Runs tab, fix the input, and re-run. Partial datasets from failed runs are preserved.

#### 🌍 Does it include Most Wanted Terrorists?

Yes. The Most Wanted Terrorists list is part of the same public feed. Filter by keyword or leave all filters blank to include every category.

#### 🆘 What if I need help?

Our support team is here to help. Contact us through the Apify platform or use the Tally form linked below.

***

### 🔌 Integrate with any app

FBI Wanted Scraper connects to any cloud service via [Apify integrations](https://apify.com/integrations):

- [**Make**](https://docs.apify.com/platform/integrations/make) - Automate multi-step workflows
- [**Zapier**](https://docs.apify.com/platform/integrations/zapier) - Connect with 5,000+ apps
- [**Slack**](https://docs.apify.com/platform/integrations/slack) - Get poster alerts in your channels
- [**Airbyte**](https://docs.apify.com/platform/integrations/airbyte) - Pipe wanted data into your warehouse
- [**GitHub**](https://docs.apify.com/platform/integrations/github) - Trigger runs from commits and releases
- [**Google Drive**](https://docs.apify.com/platform/integrations/drive) - Export datasets straight to Sheets

You can also use webhooks to trigger downstream actions when a run finishes. Alert your team in Slack when a new poster matching a watchlist is published.

***

### 🔗 Recommended Actors

- [**🎓 FINRA BrokerCheck Scraper**](https://apify.com/parseforge/finra-brokercheck-scraper) - U.S. financial advisor disclosures
- [**✈️ FAA Aircraft Registry Scraper**](https://apify.com/parseforge/faa-aircraft-registry-scraper) - U.S. civil aircraft registrations and owners
- [**🏗️ California State Licensed Contractor CSLB Scraper**](https://apify.com/parseforge/cslb-california-scraper) - California licensed-contractor registry
- [**🏢 GSA eLibrary Scraper**](https://apify.com/parseforge/gsa-elibrary-scraper) - U.S. federal contract vehicles
- [**🗺️ Nominatim OSM Scraper**](https://apify.com/parseforge/nominatim-osm-scraper) - Geocode last-seen addresses via OpenStreetMap

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for more reference-data scrapers.

***

**🆘 Need Help?** [**Open our contact form**](https://tally.so/r/BzdKgA) to request a new scraper, propose a custom data project, or report an issue.

***

> **⚠️ Disclaimer:** this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the Federal Bureau of Investigation or the U.S. Department of Justice. All trademarks mentioned are the property of their respective owners. Only publicly available data from the official FBI public wanted persons API is collected. Use the data responsibly and respect the privacy of victims.

# Actor input Schema

## `keyword` (type: `string`):

Free-text search across titles, descriptions, aliases, charges.

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## `posterCategory` (type: `string`):

Filter to a specific FBI poster category. Only values returning live alerts are listed.

## `personClassification` (type: `string`):

Whether the person is the wanted subject (Main) or the victim associated with a case.

## `fieldOffice` (type: `string`):

FBI field office slug (e.g. atlanta, chicago, losangeles, miami, newyork). Leave blank for all.

## `status` (type: `string`):

na = no arrest. captured = arrested. recovered = body or evidence recovered. located = located/identified.

## Actor input object example

```json
{
  "keyword": "",
  "maxItems": 10,
  "posterCategory": "",
  "personClassification": "",
  "fieldOffice": "",
  "status": ""
}
```

# Actor output Schema

## `overview` (type: `string`):

Overview of scraped data

## `fullData` (type: `string`):

Complete dataset

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keyword": "",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/fbi-wanted-list-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keyword": "",
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/fbi-wanted-list-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keyword": "",
  "maxItems": 10
}' |
apify call parseforge/fbi-wanted-list-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/fbi-wanted-list-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "FBI Most Wanted List Scraper",
        "description": "Scrape the FBI public wanted persons API. Get name, aliases, description, charges, reward, photos, ethnicity, hair, eyes, scars, last seen and field office. No API key required.",
        "version": "0.0",
        "x-build-id": "xOwQ1tNaCWccQVTTQ"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~fbi-wanted-list-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-fbi-wanted-list-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~fbi-wanted-list-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-fbi-wanted-list-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~fbi-wanted-list-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-fbi-wanted-list-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "keyword": {
                        "title": "Keyword",
                        "type": "string",
                        "description": "Free-text search across titles, descriptions, aliases, charges.",
                        "default": ""
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    },
                    "posterCategory": {
                        "title": "FBI poster category",
                        "enum": [
                            "",
                            "ten",
                            "ecap"
                        ],
                        "type": "string",
                        "description": "Filter to a specific FBI poster category. Only values returning live alerts are listed.",
                        "default": ""
                    },
                    "personClassification": {
                        "title": "Person role",
                        "enum": [
                            "",
                            "Main",
                            "Victim"
                        ],
                        "type": "string",
                        "description": "Whether the person is the wanted subject (Main) or the victim associated with a case.",
                        "default": ""
                    },
                    "fieldOffice": {
                        "title": "Field office",
                        "type": "string",
                        "description": "FBI field office slug (e.g. atlanta, chicago, losangeles, miami, newyork). Leave blank for all.",
                        "default": ""
                    },
                    "status": {
                        "title": "Status",
                        "enum": [
                            "",
                            "na",
                            "captured",
                            "recovered",
                            "located",
                            "surrendered",
                            "deceased"
                        ],
                        "type": "string",
                        "description": "na = no arrest. captured = arrested. recovered = body or evidence recovered. located = located/identified.",
                        "default": ""
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
