v1

latestOpenAPI 3.0.32026-07-132615.7 KB

Search sex offender records

Search the national sex offender registry by name, address, zip code, GPS coordinates, or free-text query. For quick demos, GET with the key query parameter remains supported. For production, prefer POST with X-API-Key or Authorization: Bearer and JSON body fields. Send optional X-Request-Id for customer-side request correlation.

get/sexoffender

Query parameters

keystring

Your API key (required). If using POST, you can send it in X-API-Key or Authorization: Bearer instead.

firstNamestring

First name of offender

lastNamestring

Last name of offender

dobstring date

Date of birth (YYYY-MM-DD)

citystring

Residence city

statestring

Residence state (full name or 2-letter code)

zipcodestring

Residence zip code

addressstring

Street address search. Fuzzy by default; supports common address abbreviations and is billed at the fuzzy search rate (+$0.02/call). Do not combine with q or lat/lng. For mode=extensive, combine with firstName and lastName.

latnumber

Latitude for GIS radius search

lngnumber

Longitude for GIS radius search

radiusnumber

Radius in miles for GIS search (default 1, max 100)

mode'extensive'

Set to 'extensive' for alias search, state-level enrichment, and additional response fields (aliases, locations, stateData). +$0.05/call.

fuzzyboolean

Enable fuzzy name matching — handles typos, partial names, nicknames, hyphenated names, and address abbreviations. +$0.02/call.

qstring

Free-text search across names, aliases, address, city, and zip code. Use with fuzzy=true instead of firstName/lastName.

prefixMatch'firstName' | 'lastName'

Enable prefix matching on the specified name field

uuidstring

Pull a single record by UUID

personUuidstring

Pull a single record by Person UUID

faceIdstring

Face ID from Facial Search API

createdAtStartstring date

Filter by first appearance in system (YYYY-MM-DD)

createdAtEndstring date

Filter by first appearance in system (YYYY-MM-DD)

updatedAtStartstring date

Filter by last update in system (YYYY-MM-DD)

updatedAtEndstring date

Filter by last update in system (YYYY-MM-DD)

pageinteger

Page number for GIS search pagination. Each page is billed as a separate API call.

Headers

X-Request-Idstring

Optional opaque client correlation ID. Use a UUID or similar request ID; do not include names, emails, DOBs, member IDs, patient IDs, search values, or other sensitive data.

Response

Successful search

pageinteger

Current page (GIS only)

totalPagesinteger

Total pages (GIS only)

Example response

{
  "offenders": [
    {
      "name": "JOHN M DOE",
      "firstName": "JOHN",
      "lastName": "DOE",
      "dob": "1990-01-15T00:00:00.000Z",
      "dobPrecision": "exact",
      "address": "123 MAIN ST",
      "city": "RICHMOND",
      "state": "Virginia",
      "zipcode": "23219",
      "locations": [
        {
          "type": "RES (Primary)"
        }
      ],
      "sex": "Male",
      "age": "35",
      "eyeColor": "Brown",
      "hairColor": "Black",
      "height": "5 ft 10 in",
      "weight": "180 lbs.",
      "race": "White",
      "ethnicity": "Non-Hispanic",
      "marks": "TAT R ARM",
      "riskLevel": "Tier 3",
      "crime": "SEXUAL ASSAULT (01/15/2005)",
      "lat": 37.5407,
      "lng": -77.436,
      "jurisdiction": "VA",
      "sources": [
        {
          "id": "nsopw",
          "name": "National Sex Offender Public Website"
        }
      ],
      "stateData": {
        "status": "Active",
        "designation": "Sexually Violent Offender",
        "locations": [
          {
            "type": "RES (Primary)"
          }
        ]
      }
    }
  ]
}
All 2 operations