Appearance
Instant Criminal Search API
The Instant Criminal Search API performs a real-time search of criminal records across national and state-level databases.
Authentication
All requests require an API key passed as a header:
X-API-Key: your-api-keyEndpoint
POST /instantcrim/searchRequest Body
The request body is a JSON object with the following top-level fields:
| Field | Type | Required | Description |
|---|---|---|---|
clientRequestId | String (≤36 chars) | No | Client-supplied correlation ID included in the response |
subject | Object | Yes | The person to search for. See Subject Parameters |
options | Object | No | Search behavior options. See Search Options |
profile | String | No | Optional profile identifier for pre-configured search settings |
Subject Parameters
| Field | Type | Required | Description |
|---|---|---|---|
subject.name.firstName | String | Yes | Subject's first name |
subject.name.lastName | String | Yes | Subject's last name — required |
subject.name.middleName | String | No | Subject's middle name |
subject.name.suffix | String | No | Name suffix (e.g., Jr, Sr, III) |
subject.birthDate.year | Integer (4-digit) | No | Birth year |
subject.birthDate.month | Integer (1–12) | No | Birth month |
subject.birthDate.day | Integer (1–31) | No | Birth day |
subject.alias | Array of name objects | No | Additional names/aliases to search. Each alias has the same structure as subject.name |
subject.ssn | String | No | Social Security Number |
Search Options
Name Matching
| Field | Type | Default | Description |
|---|---|---|---|
options.firstNameExactMatch | Boolean | false | When true, only returns records where the first name is an exact match |
options.lastNameExactMatch | Boolean | false | When true, only returns records where the last name is an exact match |
options.middleNameMatchOnInitial | Boolean | false | When true, matches middle name by initial only |
Birth Date Options
| Field | Type | Default | Description |
|---|---|---|---|
options.birthDate.includeIncomplete | Boolean | false | Include records with an incomplete (partial) date of birth |
options.birthDate.includePartial | Boolean | false | Include records where only some DOB components match |
options.birthDate.includeNull | Boolean | false | Include records that have no date of birth |
options.birthDate.excludeNullStates | Array of strings | null | State codes where null-DOB records should be excluded even when includeNull is true |
options.birthDate.yearRange | Integer | 0 | Number of years +/- to match around the subject's birth year |
Geographic & Source Filtering
| Field | Type | Description |
|---|---|---|
options.states | Array of strings | Limit results to specific state codes (e.g., ["NY", "CA", "TX"]) |
options.sources.include | Array of strings | Include only these source type identifiers |
options.sources.exclude | Array of strings | Exclude these source type identifiers |
options.sources.sourceId | Array of strings | Target specific data source IDs directly |
Response
The response is a JSON object containing the original request and a paginated set of results.
Top-Level Response Fields
| Field | Type | Description |
|---|---|---|
request | Object | Echo of the submitted request |
result.offset | Integer | Pagination offset (default: 0) |
result.limit | Integer | Maximum records returned (default: 500) |
result.hasMore | Boolean | Whether additional records exist beyond this page |
result.size | Integer | Number of records in this response |
result.data | Array | Array of criminal result objects |
Criminal Result Fields
Each object in result.data includes:
| Field | Type | Description |
|---|---|---|
sourceId | String | Identifier of the data source |
sourceTitle | String | Display name of the data source |
subCountry | String | State or sub-country code for this source |
offenderId | String | Unique offender identifier within the source |
name | Object | Matched name (firstName, lastName, middleName, suffix) |
birthDate | Object | Matched birth date components |
matchQuality | Object | Quality of match. See Match Quality |
offender | Object | Full offender record from the source. See Offender Fields |
offenses | Array | List of offense records. See Offense Fields |
Match Quality
| Field | Type | Description |
|---|---|---|
isExactNameMatch | Boolean | Both first and last name matched exactly |
isExactBirthDateMatch | Boolean | All provided DOB components matched exactly |
isPartialBirthDateMatch | Boolean | Some but not all DOB components matched |
isExactMatch | Boolean | Computed — true when both name and birth date are exact matches |
description | String | Human-readable summary of match quality |
Offender Fields
The offender object contains the raw record from the source database. Common fields include:
| Field | Type | Description |
|---|---|---|
offenderId | String | Source offender ID |
fullName | String | Full name as stored in source |
firstName, middleName, lastName, suffix | String | Name components |
dob | String | Date of birth as stored in source |
age | Integer | Age |
address1, city, state, zip | String | Address information |
race | String | Race |
sex | String | Sex |
hair, eye, height, weight | String | Physical description |
TIP
The offender object may contain many additional source-specific fields depending on the jurisdiction and data source.
Offense Fields
Each object in offenses may include:
| Field | Type | Description |
|---|---|---|
caseNum | String | Case number |
caseType | String | Type of case |
court | String | Court name |
courtDate | String | Date of court proceeding |
offenseDate | String | Date of offense |
offenseCode | String | Offense code |
arrestDate | String | Date of arrest |
convictionDate | String | Date of conviction |
sentenceDate | String | Date of sentencing |
disposition | String | Case disposition |
Validation
| Validation | Details |
|---|---|
subject.name.lastName is required | Returns an error if omitted: "The subject's Last Name is required" |
Examples
Basic Name Search
bash
curl -X POST "https://api.infocusinfo.com/instantcrim/search" \
-H "Content-Type: application/json" \
-H "X-API-Key: your-api-key" \
-d '{
"subject": {
"name": {
"firstName": "John",
"lastName": "Smith"
}
}
}'http
POST https://api.infocusinfo.com/instantcrim/search
Content-Type: application/json
X-API-Key: your-api-key
{
"subject": {
"name": {
"firstName": "John",
"lastName": "Smith"
}
}
}Search with Date of Birth and State Filter
bash
curl -X POST "https://api.infocusinfo.com/instantcrim/search" \
-H "Content-Type: application/json" \
-H "X-API-Key: your-api-key" \
-d '{
"clientRequestId": "req-abc-123",
"subject": {
"name": {
"firstName": "John",
"middleName": "Q",
"lastName": "Smith"
},
"birthDate": {
"year": 1985,
"month": 6,
"day": 15
}
},
"options": {
"lastNameExactMatch": true,
"birthDate": {
"includePartial": true,
"yearRange": 1
},
"states": ["NY", "NJ", "CT"]
}
}'http
POST https://api.infocusinfo.com/instantcrim/search
Content-Type: application/json
X-API-Key: your-api-key
{
"clientRequestId": "req-abc-123",
"subject": {
"name": {
"firstName": "John",
"middleName": "Q",
"lastName": "Smith"
},
"birthDate": {
"year": 1985,
"month": 6,
"day": 15
}
},
"options": {
"lastNameExactMatch": true,
"birthDate": {
"includePartial": true,
"yearRange": 1
},
"states": ["NY", "NJ", "CT"]
}
}Example Response
json
{
"request": {
"clientRequestId": "req-abc-123",
"subject": {
"name": {
"firstName": "John",
"lastName": "Smith"
},
"birthDate": {
"year": 1985,
"month": 6,
"day": 15
}
}
},
"result": {
"offset": 0,
"limit": 500,
"hasMore": false,
"size": 1,
"data": [
{
"sourceId": "ny-statewide",
"sourceTitle": "New York Statewide Criminal",
"subCountry": "NY",
"offenderId": "NY12345678",
"name": {
"firstName": "JOHN",
"lastName": "SMITH"
},
"birthDate": {
"year": 1985,
"month": 6,
"day": 15
},
"matchQuality": {
"isExactNameMatch": true,
"isExactBirthDateMatch": true,
"isPartialBirthDateMatch": false,
"isExactMatch": true,
"description": "Exact name and birth date match"
},
"offender": {
"offenderId": "NY12345678",
"fullName": "JOHN QUINCY SMITH",
"firstName": "JOHN",
"middleName": "QUINCY",
"lastName": "SMITH",
"dob": "1985-06-15",
"age": 40,
"city": "BROOKLYN",
"state": "NY",
"race": "WHITE",
"sex": "M"
},
"offenses": [
{
"caseNum": "2010-CR-001234",
"caseType": "FELONY",
"offenseDate": "2010-03-22",
"convictionDate": "2010-09-14",
"disposition": "CONVICTED"
}
]
}
]
}
}