Interpol Red Notice & Wanted Persons Search
Search Interpol's public database of Red Notices and wanted persons. Filter by nationality, age, sex, and charge keywords.
Maintenance Pulse
78/100Cost Estimate
How many results do you need?
Pricing
Pay Per Event model. You only pay for what you use.
| Event | Description | Price |
|---|---|---|
| result-returned | Charged per result returned. | $0.04 |
Example: 100 events = $4.00 · 1,000 events = $40.00
Documentation
Search Interpol's public Red Notice database for wanted persons worldwide. This Apify actor queries the official Interpol REST API to retrieve structured data on individuals subject to Red Notices -- including biographical details, physical descriptions, arrest warrant charges, issuing countries, and thumbnail photographs. Filter by name, nationality, sex, age range, or free text, and receive clean JSON output ready for compliance screening, journalism, research, or integration into security workflows.
Why use Interpol Red Notice Search?
Accessing Interpol's public API directly requires managing pagination, proxy rotation, rate limiting, retry logic on transient failures, and normalizing the raw response format into usable data structures. This actor handles all of that complexity for you. Provide your search filters, click Start (or call the API), and receive clean, camelCase JSON with every field normalized and ready for analysis. No code to write, no infrastructure to maintain, no edge cases to debug.
Running on Apify's cloud platform gives you automatic proxy rotation (residential with datacenter fallback), scheduled runs for continuous monitoring, built-in dataset storage with export to JSON, CSV, and Excel, and one-click integrations with Google Sheets, Slack, Zapier, Make, and hundreds of other services. For compliance teams, this means automated daily or weekly screening against the Red Notice database. For journalists and researchers, it means bulk extraction that would take hours through Interpol's manual web interface completed in under a minute.
Key features
- Flexible search filters -- Search by family name, first name, nationality (two-letter ISO country code), sex (M/F), minimum and maximum age, or free text across all notice fields
- Comprehensive detail output -- Returns 17 structured fields per person including full name, date of birth, nationalities, physical description, arrest warrant charges, issuing countries, thumbnail URL, and direct Interpol page link
- Automatic pagination -- Seamlessly fetches results across multiple API pages, returning up to 500 notices in a single run
- Concurrent detail fetching -- Retrieves individual notice details in parallel batches of 5 for fast execution, with built-in delays to respect API rate limits
- Residential proxy support -- Automatically uses residential proxies (US exit nodes) with datacenter fallback to ensure reliable access even under CDN protections
- Retry with exponential backoff -- Handles transient HTTP errors with up to 2 automatic retries using exponential backoff (1s, 2s delays)
- Clean camelCase JSON -- All output fields are normalized to camelCase for consistent, developer-friendly integration
- Arrest warrant details -- Each notice includes the specific criminal charge and the country that issued the warrant, extracted from Interpol's full notice detail endpoint
- No API key required -- Queries Interpol's public REST API directly, with no authentication credentials or third-party subscriptions needed
How to use
Using Apify Console
- Navigate to the Interpol Red Notice Search actor page on the Apify Store and click Try for free.
- On the Input tab, enter your search criteria. All fields are optional -- leave them blank to retrieve the most recent Red Notices, or combine filters to narrow your search.
- Set Max Results to control how many records to return (default is 20, maximum is 500).
- Click Start to run the actor.
- Once the run finishes, open the Dataset tab to view, filter, and export results as JSON, CSV, or Excel. You can also connect the dataset to integrations like Google Sheets.
Using the API
Call the actor programmatically using the Apify REST API, official client libraries, or cURL:
cURL:
curl "https://api.apify.com/v2/acts/A5qfeUw5yBCtcdhn4/runs" \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"nationality": "US",
"sexId": "M",
"maxResults": 50
}'
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
name | String | No | -- | Family name / surname to search for |
forename | String | No | -- | First name / forename to search for |
nationality | String | No | -- | Two-letter ISO 3166-1 alpha-2 country code (e.g., US, GB, DE, FR, RU) |
sexId | Select | No | -- | Filter by sex: M (Male) or F (Female) |
ageMin | Integer | No | -- | Minimum age of wanted person |
ageMax | Integer | No | -- | Maximum age of wanted person |
freeText | String | No | -- | Free text search across all notice fields (names, charges, marks, etc.) |
maxResults | Integer | No | 20 | Maximum number of results to return (1--500) |
Example input
{
"name": "SMITH",
"nationality": "GB",
"sexId": "M",
"ageMin": 30,
"ageMax": 60,
"maxResults": 25
}
Tips
- All fields are optional. Running the actor with no input returns the most recent Red Notices from the database.
- Combine filters for precision. Setting
nationalitytoDEandsexIdtoMreturns only male individuals with German nationality. - Use
freeTextfor broad searches. The free text parameter searches across all fields in a notice, making it useful when you are not sure which field contains the information you need. - Country codes follow ISO 3166-1 alpha-2. Common examples:
US(United States),GB(United Kingdom),DE(Germany),FR(France),RU(Russia),CN(China),BR(Brazil),IN(India). - Set
maxResultsappropriately. Start with a smaller number (20--50) for exploratory searches. Increase up to 500 when you need comprehensive coverage.
Output
Each result in the dataset contains the following structure:
{
"entityId": "2024/12345",
"name": "SMITH",
"forename": "JOHN",
"dateOfBirth": "1985/03/15",
"nationalities": ["US"],
"sexId": "M",
"eyeColor": "BRO",
"hairColor": ["BLA"],
"height": 1.82,
"weight": 85,
"distinguishingMarks": "Tattoo on left forearm",
"placeOfBirth": "NEW YORK",
"countryOfBirth": "US",
"languagesSpoken": ["ENG", "SPA"],
"arrestWarrants": [
{
"charge": "Fraud and money laundering",
"issuingCountry": "US"
}
],
"thumbnailUrl": "https://ws-public.interpol.int/notices/v1/red/2024-12345/images/12345678",
"interpolUrl": "https://www.interpol.int/en/How-we-work/Notices/View/Red#2024/12345"
}
Output fields
| Field | Type | Description |
|---|---|---|
entityId | String | Unique Interpol entity identifier for the notice |
name | String | Family name / surname (typically uppercase) |
forename | String | First name / given name |
dateOfBirth | String or null | Date of birth in YYYY/MM/DD format |
nationalities | String[] | Array of nationality codes (ISO 3166-1 alpha-2) |
sexId | String or null | Sex identifier -- M (Male) or F (Female) |
eyeColor | String or null | Eye color code (e.g., BRO for brown, BLU for blue, GRE for green, BLA for black) |
hairColor | String[] | Array of hair color codes (e.g., BLA for black, BRO for brown, BLO for blonde, GRE for grey) |
height | Number or null | Height in meters (e.g., 1.82 means 182 cm) |
weight | Number or null | Weight in kilograms |
distinguishingMarks | String or null | Free-text description of scars, tattoos, birthmarks, or other identifying marks |
placeOfBirth | String or null | City or region of birth |
countryOfBirth | String or null | Country of birth (ISO 3166-1 alpha-2 code) |
languagesSpoken | String[] | Array of language codes (ISO 639-3, e.g., ENG, SPA, ARA, FRA) |
arrestWarrants | Object[] | Array of arrest warrants, each with charge (description of the criminal charge) and issuingCountry (country code that issued the warrant) |
thumbnailUrl | String or null | Direct URL to the person's thumbnail photograph on Interpol's servers |
interpolUrl | String | Direct link to the person's Red Notice page on the Interpol website |
Use cases
- Compliance screening -- Screen customers, counterparties, and business partners against the Red Notice database as part of KYC (Know Your Customer) and AML (Anti-Money Laundering) due diligence workflows
- Journalism and investigations -- Research specific individuals or browse Red Notices by nationality, age, or gender for investigative reporting on international crime
- Academic research -- Study patterns in international law enforcement, cross-border crime trends, or the demographics of wanted persons using structured bulk data
- Security applications -- Feed Red Notice data into security platforms, watchlist systems, or screening tools for enhanced person verification
- Continuous monitoring -- Schedule daily or weekly runs to detect when new Red Notices matching your criteria are published
- Cross-referencing -- Combine Interpol data with OFAC sanctions, FBI Most Wanted, OpenSanctions, or other watchlists for comprehensive person screening
- Law enforcement technology -- Build dashboards, alerting systems, or intelligence tools that surface relevant Red Notice data alongside other data sources
- Risk assessment -- Evaluate country-level risk by analyzing the volume and nature of Red Notices by nationality or issuing country
- Open-source intelligence (OSINT) -- Integrate Red Notice data into OSINT workflows for threat intelligence and investigative analysis
API & Integration
Python
from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run_input = {
"nationality": "US",
"sexId": "M",
"maxResults": 50,
}
run = client.actor("A5qfeUw5yBCtcdhn4").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
warrants = item.get("arrestWarrants", [])
charges = ", ".join(w["charge"] for w in warrants)
print(f"{item['forename']} {item['name']} -- {charges}")
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "YOUR_API_TOKEN" });
const run = await client.actor("A5qfeUw5yBCtcdhn4").call({
nationality: "US",
sexId: "M",
maxResults: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) {
const charges = item.arrestWarrants.map((w) => w.charge).join(", ");
console.log(`${item.forename} ${item.name} -- ${charges}`);
}
cURL
# Start a run
curl "https://api.apify.com/v2/acts/A5qfeUw5yBCtcdhn4/runs" \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{"nationality": "RU", "maxResults": 20}'
# Fetch dataset results (use defaultDatasetId from the run response)
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?format=json" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Integrations
Connect Interpol Red Notice Search to your existing tools and workflows:
- Google Sheets -- Automatically export results to a spreadsheet for team review and record-keeping
- Slack / Email -- Get notified when new Red Notices match your criteria using Apify webhooks
- Zapier / Make -- Route data to CRMs, databases, case management systems, or hundreds of other third-party apps
- REST API -- Fetch results programmatically from any language or platform using the Apify dataset API
- Scheduled runs -- Set up Apify schedules to run daily, weekly, or monthly screenings automatically
- Webhooks -- Trigger downstream actions (notifications, database writes, alerts) whenever a run completes
How it works
The actor follows a two-phase pipeline to retrieve complete Red Notice data from Interpol's public API:
- Proxy initialization -- Configures a residential proxy (US exit node, RESIDENTIAL group) for reliable access. Falls back to datacenter proxy if residential is unavailable, or uses a direct connection as a last resort.
- Paginated search -- Sends search parameters to
https://ws-public.interpol.int/notices/v1/redwith pagination (up to 160 results per page). Iterates through pages until the requestedmaxResultscount is reached or no more results are available. - Detail fetching -- For each notice summary collected in the search phase, fetches the full notice detail from the individual notice endpoint. Details are fetched in concurrent batches of 5, with a 300ms delay between batches.
- Retry handling -- Each HTTP request is retried up to 2 times with exponential backoff (1 second after the first failure, 2 seconds after the second) to handle transient errors.
- Data transformation -- Raw Interpol API responses (snake_case fields) are transformed into clean camelCase output records. Arrest warrants are simplified to
{charge, issuingCountry}pairs. - Dataset push -- The final array of transformed records is pushed to the Apify dataset for export and integration.
Input Filters
|
v
[Paginated Search] ---> Collect notice summaries (up to 500)
|
v
[Batch Detail Fetch] ---> 5 concurrent requests per batch, 300ms between batches
|
v
[Transform to camelCase] ---> Normalize fields, simplify warrants
|
v
[Push to Apify Dataset] ---> JSON, CSV, Excel export
Performance & cost
| Scenario | Results | Approx. duration | Memory | Estimated cost |
|---|---|---|---|---|
| Quick lookup (1 person) | 1--5 | 5--10 seconds | 128 MB | < $0.001 |
| Default search | 20 | 15--30 seconds | 128 MB | ~$0.002 |
| Medium search | 100 | 30--60 seconds | 128 MB | ~$0.005 |
| Large search | 250 | 1--2 minutes | 128 MB | ~$0.010 |
| Maximum search | 500 | 2--4 minutes | 256 MB | ~$0.020 |
- The actor makes lightweight JSON API calls only -- no browser rendering or heavy crawling.
- Residential proxy traffic adds a small additional cost but ensures reliable access.
- Apify's free tier includes $5/month of platform credits, which covers hundreds of typical runs.
- Cost scales primarily with the number of detail requests (one per notice).
- Scheduled runs for daily monitoring of a specific name or nationality are very economical.
Limitations
- Maximum 500 results per run -- The actor caps output at 500 notices per execution. For broader coverage, run multiple searches with different filter combinations.
- Interpol API availability -- Results depend on Interpol's public API being accessible. The API occasionally experiences downtime or rate limiting, which the actor handles with retries, but prolonged outages will cause the run to fail.
- Public data only -- The actor retrieves only information that Interpol makes publicly available through their website and API. Some Red Notices are not published publicly at the requesting country's discretion.
- Physical description codes -- Eye color, hair color, and language fields use Interpol's internal codes (e.g.,
BROfor brown,BLAfor black,ENGfor English). These are not expanded to full names in the output. - No historical data -- The API returns only currently active Red Notices. Withdrawn or expired notices are not available through this endpoint.
- Photograph availability -- Not all notices include a thumbnail image. The
thumbnailUrlfield will be null when no image is available. - Name transliteration -- Names may appear in transliterated Latin characters from the original script. Searching for variant spellings may be necessary to find specific individuals.
Responsible use
A Red Notice is NOT an international arrest warrant. It is a request from Interpol to law enforcement worldwide to locate and provisionally arrest a person pending extradition, surrender, or similar legal action. The issuance of a Red Notice does not mean the individual has been convicted of a crime -- it means a member country has requested international cooperation in locating and detaining the individual.
- Treat data with appropriate context. Red Notice subjects are wanted by national authorities, not convicted by an international court. The legal status of each case varies by jurisdiction. Always consider the legal context of the issuing country before drawing conclusions.
- Compliance screening context. When using this data for compliance or KYC purposes, Red Notice data should be one component of a broader screening program -- not the sole basis for decisions. Pair with sanctions lists (OFAC, EU, UN), PEP databases, and other watchlists for comprehensive coverage.
- Privacy and data handling. Although this data is publicly available through Interpol's official channels, it pertains to identified individuals. Handle the data responsibly and in accordance with applicable privacy laws and regulations in your jurisdiction (including GDPR where applicable).
- No automated decision-making. Do not use Red Notice data as the sole input for automated decisions that affect individuals (e.g., denying services, blocking accounts). Human review should always be part of any decision process involving wanted persons data.
- Verify through official channels. For any law enforcement, legal, or high-stakes compliance action, verify information directly through official Interpol channels or the relevant national law enforcement authority. This actor provides a data access convenience layer, not an authoritative legal determination.
FAQ
What is an Interpol Red Notice? A Red Notice is a request to law enforcement worldwide to locate and provisionally arrest a person pending extradition, surrender, or similar legal action. It is issued by Interpol at the request of a member country's national central bureau. It is not an international arrest warrant -- arrest authority remains with individual countries.
Is this data publicly available?
Yes. This actor accesses only Interpol's public-facing REST API at ws-public.interpol.int, which serves the same data available through the search interface on interpol.int. No authentication, API key, or special access is required.
How current is the data? Interpol updates their Red Notice database continuously as notices are issued, modified, or withdrawn. Each run of the actor fetches live data from the API, so results reflect the current state of the database at the time of execution.
Can I search for a specific person by name?
Yes. Use the name field for the surname and forename for the first name. Add nationality to further narrow results. For example, name: "PETROV", forename: "IVAN", nationality: "RU" searches for a specific individual.
What do the physical description codes mean?
Interpol uses short codes for physical attributes. Common eye/hair color codes include: BLA (black), BRO (brown), BLU (blue), GRE (green/grey), BLO (blonde), RED (red). Height is in meters (e.g., 1.75 = 175 cm) and weight is in kilograms.
What does it mean if no results are found? Zero results means no currently active, publicly available Red Notices match your search criteria. The person may not have a Red Notice, the notice may have been withdrawn, or the notice may exist but not be published publicly.
Can I get the person's photograph?
Yes. Each result includes a thumbnailUrl field linking directly to the person's photograph hosted on Interpol's servers. Not all notices include an image -- the field will be null when no photo is available.
Is there a rate limit on the Interpol API? The actor manages rate limiting internally with 300ms delays between page requests and between detail-fetch batches, plus automatic retries with exponential backoff. You do not need to manage rate limits yourself.
How does the actor handle API errors? Each HTTP request is retried up to 2 times with exponential backoff (1 second, then 2 seconds). If a detail request fails after all retries, it is skipped and a warning is logged, but the rest of the results are still returned.
Can I schedule recurring searches? Yes. Use Apify's built-in scheduler to run the actor daily, weekly, or at any custom interval. Combine with webhooks or integrations to get notified when new results appear.
What is the difference between name and freeText?
The name field searches specifically against the family name / surname field in the database. The freeText parameter searches across all fields in the notice -- names, charges, marks, and other text -- making it broader but less precise.
Can I use this for compliance screening? Yes, but Red Notice data should be one part of a comprehensive compliance program. Pair it with sanctions lists (OFAC, EU, UN), PEP databases, and adverse media screening. Always include human review in your compliance workflow. Consult with compliance professionals for your specific regulatory requirements.
Related actors
| Actor | Description | Link |
|---|---|---|
| OFAC Sanctions Search | Search the US Treasury OFAC SDN list for sanctioned individuals, companies, vessels, and aircraft. Pair with Interpol data for comprehensive screening. | apify.com/ryanclinton/ofac-sanctions-search |
| FBI Most Wanted Search | Search the FBI's Most Wanted database for fugitives, terrorists, and wanted persons. Combine with Interpol data for broader US law enforcement coverage. | apify.com/ryanclinton/fbi-wanted-search |
| OpenSanctions Search | Search the OpenSanctions aggregated database covering sanctions, watchlists, and PEPs from multiple international jurisdictions (EU, UN, UK, and more). | apify.com/ryanclinton/opensanctions-search |
| UK Police Crime Data | Search UK police crime reports, street-level crime data, and neighbourhood statistics for law enforcement and community safety research. | apify.com/ryanclinton/uk-police-crime-data |
| SEC Insider Trading | Monitor SEC insider trading filings (Form 4) for compliance screening, investment research, and corporate governance analysis. | apify.com/ryanclinton/sec-insider-trading |
How it works
Configure
Set your parameters in the Apify Console or pass them via API.
Run
Click Start, trigger via API, webhook, or set up a schedule.
Get results
Download as JSON, CSV, or Excel. Integrate with 1,000+ apps.
Use cases
Sales Teams
Build targeted lead lists with verified contact data.
Marketing
Research competitors and identify outreach opportunities.
Data Teams
Automate data collection pipelines with scheduled runs.
Developers
Integrate via REST API or use as an MCP tool in AI workflows.
Related actors
Bulk Email Verifier
Verify email deliverability at scale. MX record validation, SMTP mailbox checks, disposable and role-based detection, catch-all flagging, and confidence scoring. No external API costs.
GitHub Repository Search
Search GitHub repositories by keyword, language, topic, stars, forks. Sort by stars, forks, or recently updated. Returns metadata, topics, license, owner info, URLs. Free API, optional token for higher limits.
Website Content to Markdown
Convert any website to clean Markdown for RAG pipelines, LLM training, and AI apps. Crawls pages, strips boilerplate, preserves headings, tables, and code blocks. GFM support.
Website Tech Stack Detector
Detect 100+ web technologies on any website. Identifies CMS, frameworks, analytics, marketing tools, chat widgets, CDNs, payment systems, hosting, and more. Batch-analyze multiple sites with version detection and confidence scoring.
Ready to try Interpol Red Notice & Wanted Persons Search?
Start for free on Apify. No credit card required.
Open on Apify Store