Integrate millions of arrest records, sex offender data, court records, and address geocoding into your application in minutes
Simple REST API • JSON Responses • Multiple Endpoints • Complete Code Examples • Pay-As-You-Go Pricing
Get started in under 5 minutes with our copy-paste code examples. No complex setup, no SDKs to install - just make HTTP requests and get JSON responses.
Criminal Records search across 4 databases + Address Geocoding API. Query Sex Offender Registry, DOC, Arrest, and Court Records, plus validate and geocode addresses.
Just add your API key and secret to request headers. No OAuth flows, no tokens to manage - authentication is straightforward and secure.
No monthly fees or subscriptions. Pay $0.01 per API call (1 credit = 1 search). Scale up or down as needed with no commitment.
Detailed docs with examples in PHP, Python, JavaScript, and cURL. Every parameter explained, every response field documented.
100 requests per minute per API key. Need more? Contact us for enterprise rates. Built to handle high-volume applications.
Filter by name, state, city, age, or specify which databases to search. Control response size with limit parameters.
Track API usage, monitor remaining credits, and view call history in your dashboard. Know exactly how your API is being used.
Make API calls directly from browsers. Perfect for web applications, Chrome extensions, and client-side JavaScript apps.
Copy, paste, and start searching in seconds. Examples work right out of the box!
curl -X GET "https://unlimitedcriminalchecks.com/api-2.0/search.php?first_name=John&last_name=Smith&state=CA" \
-H "X-API-Key: your_api_key_here" \
-H "X-API-Secret: your_api_secret_here"
<?php
// Replace with your actual API credentials
$apiKey = 'your_api_key_here';
$apiSecret = 'your_api_secret_here';
// Search parameters
$params = [
'first_name' => 'John',
'last_name' => 'Smith',
'state' => 'CA',
'limit' => 100
];
// Initialize cURL
$ch = curl_init('https://unlimitedcriminalchecks.com/api-2.0/search.php?' . http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'X-API-Key: ' . $apiKey,
'X-API-Secret: ' . $apiSecret
]);
// Execute request
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
// Parse JSON response
$data = json_decode($response, true);
// Handle response
if ($httpCode === 200 && $data['success']) {
echo "Found {$data['results']['total']} total records\n";
echo "Credits remaining: {$data['credits']['remaining']}\n\n";
// Process results
foreach ($data['results']['sor']['records'] as $record) {
echo "{$record['NAME']} - {$record['CITY']}, {$record['STATE']}\n";
}
} else {
echo "Error: {$data['message']}\n";
}
?>
import requests
# Replace with your actual API credentials
api_key = 'your_api_key_here'
api_secret = 'your_api_secret_here'
# API endpoint
url = 'https://unlimitedcriminalchecks.com/api-2.0/search.php'
# Headers with authentication
headers = {
'X-API-Key': api_key,
'X-API-Secret': api_secret
}
# Search parameters
params = {
'first_name': 'John',
'last_name': 'Smith',
'state': 'CA',
'limit': 100
}
# Make API request
response = requests.get(url, headers=headers, params=params)
data = response.json()
# Handle response
if response.status_code == 200 and data['success']:
print(f"Found {data['results']['total']} total records")
print(f"Credits remaining: {data['credits']['remaining']}\n")
# Process results
for record in data['results']['sor']['records']:
print(f"{record['NAME']} - {record['CITY']}, {record['STATE']}")
else:
print(f"Error: {data['message']}")
// Replace with your actual API credentials
const apiKey = 'your_api_key_here';
const apiSecret = 'your_api_secret_here';
// Build query string
const params = new URLSearchParams({
first_name: 'John',
last_name: 'Smith',
state: 'CA',
limit: 100
});
// Make API request
fetch(`https://unlimitedcriminalchecks.com/api-2.0/search.php?${params}`, {
method: 'GET',
headers: {
'X-API-Key': apiKey,
'X-API-Secret': apiSecret
}
})
.then(response => response.json())
.then(data => {
if (data.success) {
console.log(`Found ${data.results.total} total records`);
console.log(`Credits remaining: ${data.credits.remaining}`);
// Process results
data.results.sor.records.forEach(record => {
console.log(`${record.NAME} - ${record.CITY}, ${record.STATE}`);
});
} else {
console.error(`Error: ${data.message}`);
}
})
.catch(error => {
console.error('Request failed:', error);
});
const axios = require('axios');
// Replace with your actual API credentials
const apiKey = 'your_api_key_here';
const apiSecret = 'your_api_secret_here';
// API configuration
const config = {
method: 'get',
url: 'https://unlimitedcriminalchecks.com/api-2.0/search.php',
headers: {
'X-API-Key': apiKey,
'X-API-Secret': apiSecret
},
params: {
first_name: 'John',
last_name: 'Smith',
state: 'CA',
limit: 100
}
};
// Make API request
axios(config)
.then(response => {
const data = response.data;
if (data.success) {
console.log(`Found ${data.results.total} total records`);
console.log(`Credits remaining: ${data.credits.remaining}\n`);
// Process results
data.results.sor.records.forEach(record => {
console.log(`${record.NAME} - ${record.CITY}, ${record.STATE}`);
});
} else {
console.error(`Error: ${data.message}`);
}
})
.catch(error => {
console.error('Request failed:', error.message);
});
Access 4 major databases in a single API call
Nationwide sex offender records with offense details, addresses, and physical descriptions
Prison and corrections records including inmate information, sentences, and release dates
Recent arrest data with charges, booking information, and mugshot photos
Public court filings, case information, and legal proceedings
Convert addresses to coordinates and get detailed location data
Address → Lat/Long
Standardized format
Parsed address data
/api-2.0/address-lookup.php?address=1600+Pennsylvania+Ave+Washington+DC
{
"success": true,
"version": "2.0",
"query": {
"first_name": "John",
"last_name": "Smith",
"state": "CA",
"city": null,
"age": null,
"feeds": ["sor", "doc", "arrest", "court"]
},
"results": {
"total": 45,
"sor": {
"count": 12,
"records": [
{
"NAME": "John Smith",
"AGE": 45,
"STATE": "CA",
"CITY": "Los Angeles",
"ADDRESS": "123 Main St",
"OFFENSE": "...",
"..."
}
]
},
"doc": { "count": 15, "records": [...] },
"arrest": { "count": 10, "records": [...] },
"court": { "count": 8, "records": [...] }
},
"credits": {
"used": 1,
"remaining": 9999
},
"meta": {
"execution_time_ms": 234,
"timestamp": "2025-11-20T10:30:45+00:00",
"api_key_name": "Production API"
}
}
1 Credit = 1 API Search
New accounts get 25 free credits to test the API
Join hundreds of developers using our API to power their applications
Questions? Contact our developer support team