Batch search (row-in / row-out bulk lookups)
Runs many queries in one call — offenders.io CSV-batch parity (one row = one call in, one result out). Each row goes through the SAME engine as /v1/search (served from the current snapshot), with bounded server-side concurrency, and results come back in input order. Send either a JSON array of query objects, a JSON envelope { "queries": [...], ...batch-wide options } (the non-queries keys — jurisdictions, freshness, match, recordTypes, locationScoped, include — apply to every row), or a text/csv body whose header row names Query fields (firstName,lastName,state,dob,city,zipcode,address,age,q). A row that fails is reported with status: error in place; it never aborts the batch. Max 1000 rows. Accepts an API key OR a session token.
Billing — per search, NOT per request. A batch is one HTTP call but contains N searches, and each search in the batch is billed as one search (at the graduated per-call rate). A batch of 100 rows = 100 billable searches. Batch is cache-only (Regular): the retired freshness tier no longer applies, and live re-verification is not offered per row.
Request
- Base URL: https://api.offendersearch.app
- URL: https://api.offendersearch.app/v1/batch
- Auth: one of:
- API key in header X-API-Key
- HTTP bearer
Request body
Example request
[
{
"firstName": "John",
"lastName": "Smith",
"dob": "1985-06-14",
"age": 39,
"city": "Chicago",
"state": "IL",
"zipcode": "60614",
"lat": 41.9,
"lng": -87.65
}
]Response
Per-row results, in input order.
Example response
{
"results": [
{
"records": [
{
"recordId": "rec_ab12cd34ef56gh78ij90",
"uuid": "IL:X24A0926",
"matchDetail": {
"strategies": {
"lastName": "exact",
"firstName": "nickname"
},
"fieldsPresent": [
"lastName",
"firstName",
"dob"
]
},
"nicknames": [
"john",
"johnny",
"jack"
],
"birthYear": 1976,
"marks": "Tattooed Arm, left upper; Scar on Chest; Pierced ear, left",
"addresses": [
{
"type": "residence"
}
],
"registrationState": "FL",
"addressStates": [
"FL",
"GA"
],
"stateData": {
"shoeSize": "10½",
"build": "Large",
"shoeWidth": "D"
},
"source": {
"jurisdiction": "IL"
},
"sources": [
{
"jurisdiction": "IL"
}
]
}
]
}
]
}Changes
No recorded changes to this operation across all 1 revision of this API.