BOP Federal Inmate Locator Scraper
Pricing
from $0.50 / 1,000 results
BOP Federal Inmate Locator Scraper
Search source-native Federal Bureau of Prisons inmate records by exact name or BOP register number for public-records research, legal workflows, facility lookup, and custody-status monitoring.
Pricing
from $0.50 / 1,000 results
Rating
0.0
(0)
Developer
Dmitriy Gyrbu
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
BOP Inmate Locator Scraper
The BOP Inmate Locator Scraper is a production-ready Apify Actor that allows you to retrieve detailed information about inmates from the official Federal Bureau of Prisons (BOP) inmate locator.
This tool is ideal for legal research, prisoner tracking, market research, and automation of public data collection from the BOP database.
🚀 Features
- Advanced Search: Find inmates by first name and last name.
- Optional Filters: Narrow down results using middle name, race, age, and sex.
- Direct Lookup: Quickly retrieve a specific inmate record using their register number (IRN), DCDC number, FBI number, or INS number.
- Facility Details: Extract the facility name, code, type, and official URL where the inmate is currently located or was last held.
- Normalized Data: All output is cleaned and normalized into a structured JSON format, ready for export to CSV, JSON, or Excel.
- Robust Infrastructure: Built-in support for Apify proxies, automatic retries, and impersonation to ensure stable scraping.
🛠 How to Use
The Actor supports probe, search, and item. The safe default is probe; legacy callers that provide person-search fields without operation remain supported.
The Actor intentionally does not prefill a person name. Only submit personal identifiers when you deliberately intend to query that public BOP record.
0. Probe Operation
probe checks whether the public BOP Inmate Locator landing page is reachable. It performs no person search and writes no Dataset rows.
{"operation":"probe","proxy_mode":"direct"}
1. Search Operation
To search for inmates, provide the following:
first_name(Required): The exact first name of the inmate.last_name(Required): The exact last name of the inmate.middle_name(Optional): Middle name or initial.race(Optional): Filter by race (I, A, B, W).age(Optional): Filter by exact age.sex(Optional): Filter by sex (M, F).limit(Optional): Maximum number of results to return (1-100).
Example Input:
{"operation": "search","first_name": "ZZZQXNONEXISTENTTEST","last_name": "ZZZQXNONEXISTENTTEST","limit": 1}
2. Item Lookup Operation
To retrieve a specific record, provide:
inmate_num(Required): The identification number (e.g., BOP Register Number).inmate_num_type(Optional): The type of ID used (IRN,DCDC,FBI, orINS). Defaults toIRN.
Example Input:
{"operation": "item","inmate_num": "00000-000","inmate_num_type": "IRN"}
📊 Output Fields
The actor returns a dataset where each item contains:
id: Unique register number.full_name: Combined first, middle, last name and suffix.first_name,middle_name,last_name,suffix.sex,race,age.release_status: Human-readable status (e.g., "Located At", "Deceased").release_date: The actual or projected release date.facility: Object containingname,code,type, andurl.in_custody: Boolean indicating if the inmate is currently in custody.source_url: Link to the source search page.
🌐 Proxy Configuration
- Direct (Recommended): Verified working default; no paid proxy.
- Auto: Compatibility alias that starts direct.
- Apify: Explicit opt-in Apify proxy diagnostics.
- Custom: Provide your own proxy URL.
⚠️ Limitations & Notes
- Exact Matching: The BOP system requires exact name matches for searches; partial name searches are not supported by the source API.
- Disclaimer: This scraper is an unofficial tool and is not affiliated with, endorsed by, or sponsored by the Federal Bureau of Prisons (BOP) or any government agency.
🏷 Categories
AUTOMATION, DEVELOPER_TOOLS
Ready-to-run use cases
The Actor includes bounded Saved Tasks that can be copied and adapted:
- Search BOP inmates by name — returns matching source-native BOP records for an exact first and last name.
- Look up an inmate by BOP register number — returns one record using the official BOP identifier.
The examples above are deliberately synthetic and are expected to return no person. Replace them only when you intentionally need a specific public-record lookup.
Search results can contain different people with the same name. Use the BOP register number (id / inmate_num) as the record identifier and verify important decisions against the official source URL.
Use with n8n, Make, Google Sheets, or a CRM
- Start the Actor or a Saved Task through the Apify API.
- Wait until the run reaches
SUCCEEDED. - Read the default Dataset items.
- Send new rows to Google Sheets, Telegram, a case-management system, or your CRM.
Start a run:
curl -X POST "https://api.apify.com/v2/acts/dromb~bop-inmate-locator-scraper/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"operation":"search","first_name":"ZZZQXNONEXISTENTTEST","last_name":"ZZZQXNONEXISTENTTEST","limit":1}'
After the run finishes, fetch its Dataset:
$curl "https://api.apify.com/v2/datasets/DATASET_ID/items?clean=true&format=json"
In n8n or Make, use one HTTP step to start the run, a polling step for run status, and a final HTTP step for Dataset items. Keep the BOP register number as the deduplication key.
Error and billing semantics
Only real inmate records are written to the default Dataset. Invalid input, upstream errors, CAPTCHA responses, and not-found item lookups are reported in OUTPUT and do not create error Dataset rows. Apify platform pricing is authoritative.