icrimewatch.net APIicrimewatch.net ↗
Access sex offender registry data via the iCrimeWatch API. Search offenders by name, retrieve full profiles with offenses and physical descriptions, and list agencies by state.
curl -X GET 'https://api.parse.bot/scraper/b0be788a-9bc4-4b4f-9dec-8bb8ea4c1417/search_offenders?page=1&agency_id=%3Cagency_id%3E&last_name=SMITH' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for offenders in a specific agency jurisdiction. Returns paginated list of offenders with basic info. At least a last_name filter is recommended for meaningful results.
| Param | Type | Description |
|---|---|---|
| city | string | City to filter by |
| page | integer | Page number for pagination |
| agency_idrequired | string | The unique ID of the agency/jurisdiction (from list_agencies endpoint) |
| last_name | string | Last name to filter by (at least 2-3 characters recommended) |
| first_name | string | First name to filter by |
{
"type": "object",
"fields": {
"page": "integer current page number",
"agency_id": "string agency ID used in the query",
"offenders": "array of offender objects with offender_id, name, address, city, zip, detail_url",
"total_found": "integer total number of matching offenders"
},
"sample": {
"data": {
"page": 1,
"agency_id": "54068",
"offenders": [
{
"zip": "62704",
"city": "Springfield",
"name": "John Doe",
"address": "123 Main St",
"detail_url": "https://www.icrimewatch.net/offenderdetails.php?OfndrID=10694602&AgencyID=54068",
"offender_id": "10694602"
}
],
"total_found": 175
},
"status": "success"
}
}About the icrimewatch.net API
The iCrimeWatch API provides access to sex offender registry data across U.S. jurisdictions through 4 endpoints backed by OffenderWatch. The search_offenders endpoint queries a specific agency by agency_id and returns paginated results including offender name, address, and a detail URL. Companion endpoints expose full profiles — physical characteristics, offense history, and date of birth — as well as a state-level agency directory to discover valid jurisdiction IDs.
Agency Discovery and Jurisdiction IDs
All search and detail endpoints require an agency_id that identifies a specific law enforcement jurisdiction. The list_agencies endpoint accepts a two-letter state code (e.g., LA, TX, MS) and returns an array of agency objects, each containing agency_id, name, and url. These IDs are the entry point for every other call in the API.
Searching Offenders Within a Jurisdiction
search_offenders accepts agency_id (required) plus optional filters: last_name, first_name, city, and page for pagination. Each result in the offenders array includes offender_id, name, address, city, zip, and detail_url. The total_found integer tells you how many records matched. Providing at least 2–3 characters in last_name is recommended to get meaningful results rather than the full registry list.
Full Offender Profiles
get_offender_detail takes an agency_id and offender_id and returns a complete profile: age, sex, race, height, weight, hair, eyes, address, and offenses (a string containing offense descriptions, dates, and details). If you need profiles for multiple offenders without chaining calls, get_offenders_with_details merges the search and detail steps into one request, returning the same profile shape for up to limit offenders. Note that higher limit values increase response time proportionally.
Coverage Scope
The API covers agencies registered in the OffenderWatch network. Not every U.S. county or municipality participates, so availability varies by state. The list_agencies response for a given state reflects only the jurisdictions currently indexed.
- Build a neighborhood safety tool that checks registered offenders near a given city using
search_offenderswith acityfilter - Aggregate offense history data across multiple agencies in a state by iterating
list_agenciesand callingget_offender_detail - Generate alerts when new offenders appear in a specific jurisdiction by comparing
total_foundcounts over time - Populate a background-check workflow with physical description fields (height, weight, hair, eyes, race) from
get_offender_detail - Map offender addresses within a county by geocoding the
addressfield returned in search results - Bulk-fetch detailed profiles for a jurisdiction using
get_offenders_with_detailswith a controlledlimitto avoid long response times
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does iCrimeWatch.net have an official developer API?+
What does `get_offender_detail` return beyond what `search_offenders` provides?+
search_offenders returns name, address, city, zip, and a detail URL. get_offender_detail adds age, sex, race, height, weight, hair color, eye color, and the full offense history string including offense descriptions and dates. Both endpoints require an agency_id.Does the API cover all U.S. states and counties?+
list_agencies endpoint shows which jurisdictions are available for a given state, and not every county or municipality will appear. You can fork this API on Parse and revise it to add supplemental data sources for jurisdictions not currently covered.Can I retrieve a photo or mugshot for an offender?+
How does pagination work in `search_offenders`?+
page integer parameter to step through results. The response includes a total_found count so you can calculate how many pages exist. If no page is specified, the first page is returned by default.