Introduction
The Criminal Record Check service allows you to verify individuals against comprehensive criminal databases in USA. It provides access to U.S. public criminal record information, including arrests, criminal cases, warrants, traffic offenses, and sex offender records, subject to jurisdictional availability. By integrating this API, you can automate background screening and enhance your onboarding due diligence.
Getting Started
To begin your integration, ensure you have the required credentials. These can be provided by your Account Manager:
- API Endpoint: https://api.trulioo.com/v3/verifications/criminalrecordcheck
- API Key: Your unique authentication token.
- Package ID: The specific ID for your Criminal Record Check configuration.
Required Fields
To process the request to verify if an individual of interest is listed in the US Criminal databases, you will need to provide one of the following
- Name and Social Security Number (SSN): Provide their full legal name and their Social Security Number
- Name, Date of Birth, and State of Residence: If SSN is unavailable, provide their full legal name, complete date of birth and the state where they currently reside. The state of residence helps narrow the search for the individual
Verification Request
All requests must be sent to the API endpoint using POST method with the request body formatted in JSON. A sample of the request is shown below.
{
"VerificationType": "Demo",
"PackageId": "fbd06659-7258-46ce-a560-d5067a30d44c",
"CountryCode": "US",
"AcceptTruliooTermsAndConditions": true,
"CleansedAddress": false,
"FuzzyMatch": "False",
"DataFields": {
"PersonInfo": {
"FirstGivenName": "String",
"FirstSurName": "String",
"DayOfBirth": "String",
"MonthOfBirth": "String",
"YearOfBirth": "String",
"AdditionalFields": {}
},
"NationalIds": [
{
"Type": "String",
"Number": "String"
}
],
"Location": {
"City": "String",
"StateProvinceCode": "String",
"PostalCode": "String",
"AdditionalFields": {
"Address1": "String"
},
"BuildingNumber": "String",
"BuildingName": "String",
"UnitNumber": "String",
"StreetName": "String",
"StreetType": "String",
"Suburb": "String",
"County": "String",
"Country": "String",
"POBox": "String"
}
}
}
Verification Response
{
"TransactionID": "e3f3a303-d98e-4850-96b6-90aaeaba7a03",
"UploadedDt": "2026-01-26T20:52:40.428000",
"CompletedDt": "2026-01-26T20:52:44.337000",
"CountryCode": "US",
"ProductName": "Identity Verification",
"Record": {
"TransactionRecordID": "20d38839-e123-b27d-5fb6-6b6e154c6ce3",
"RecordStatus": "match",
"DatasourceResults": [
{
"DatasourceName": "Criminal Record Search",
"DatasourceFields": [
{ "FieldName": "FirstSurName", "Status": "match" },
{ "FieldName": "FirstGivenName", "Status": "match" },
{ "FieldName": "Address1", "Status": "nomatch" },
{ "FieldName": "StateProvinceCode", "Status": "nomatch" },
{ "FieldName": "PostalCode", "Status": "missing" },
{ "FieldName": "DayOfBirth", "Status": "match" },
{ "FieldName": "MonthOfBirth", "Status": "match" },
{ "FieldName": "YearOfBirth", "Status": "match" },
{ "FieldName": "socialservice", "Status": "nomatch" },
{ "FieldName": "City", "Status": "nomatch" },
{ "FieldName": "FirstInitial", "Status": "match" },
{ "FieldName": "MiddleName", "Status": "missing" }
],
"AppendedFields": [
{ "FieldName": "FirstName", "Data": "String" },
{ "FieldName": "LastName", "Data": "String" },
{ "FieldName": "SocialSecurityNumber", "Data": "String" },
{ "FieldName": "NameDetails", "Data": "String" },
{ "FieldName": "IdentificationDetails", "Data": "String" },
{ "FieldName": "YearOfBirth", "Data": "String" },
{ "FieldName": "MonthOfBirth", "Data": "String" },
{ "FieldName": "DayOfBirth", "Data": "String" },
{ "FieldName": "MilitaryBackground", "Data": "String" },
{ "FieldName": "PhysicalDescriptors", "Data": "String" },
{ "FieldName": "PersonDetails", "Data": "String" },
{ "FieldName": "Address1", "Data": "String" },
{ "FieldName": "City", "Data": "String" },
{ "FieldName": "State", "Data": "String" },
{ "FieldName": "AddressDetails", "Data": "String" },
{ "FieldName": "CaseDetails", "Data": "String" },
{ "FieldName": "OffenseDetails", "Data": "String" },
{ "FieldName": "ImageDetails", "Data": "String" },
{ "FieldName": "OffenseCounts", "Data": "String" }
],
"Errors": [],
"FieldGroups": []
}
],
"Errors": [],
"Rule": {
"RuleName": "RuleScript - Category3KYC_v18",
"Note": "String"
},
"SupplementaryRules": []
},
"Errors": []
}Handling the Response
The API will return a JSON containing the status of the search. The structure of this response mirrors the datasource response that would be returned for a verify request, including the same rulescript controls and error codes.
More information regarding verify requests and responses can be found here https://developer.trulioo.com/reference/post_v3-verifications-verify
Status Codes
- 200 OK: Request processed successfully. Check the
RecordStatusin the body. - 400 Bad Request: Missing required fields or malformed JSON.
- 401 Unauthorized: Invalid API Key or expired credentials.

