API Documentation
Integrate PedoScans data into your applications. Our RESTful API provides access to the national sex offender registry database.
Introduction
The PedoScans API allows developers to access sex offender registry data programmatically. Use this API to build safety applications, integrate with neighborhood watch systems, or create custom alerting solutions.
Base URL: https://api.pedoscans.com/v1
All API responses are returned in JSON format. Requests must include your API key in the header.
Authentication
All API requests require authentication using an API key. Include your key in the request header:
Authorization: Bearer YOUR_API_KEY
🔑 Get Your API Key
Enter your email to receive an API key. Free tier includes 1,000 requests/month.
Rate Limits
API requests are rate-limited based on your plan:
| Plan | Requests/Month | Requests/Second | Price |
|---|---|---|---|
| Free | 1,000 | 1 | $0 |
| Developer | 50,000 | 10 | $49/mo |
| Professional | 500,000 | 50 | $199/mo |
| Enterprise | Unlimited | 100 | Contact us |
Search Offenders
Search the offender database with various filters.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
name optional |
string | Search by offender name (partial match) |
state optional |
string | Two-letter state code (e.g., CA, TX) |
city optional |
string | City name |
zip optional |
string | 5-digit ZIP code |
tier optional |
integer | Risk tier (1, 2, or 3) |
limit optional |
integer | Results per page (default: 25, max: 100) |
offset optional |
integer | Pagination offset |
Example Request
curl -X GET "https://api.pedoscans.com/v1/offenders/search?state=TX&tier=3&limit=10" \ -H "Authorization: Bearer YOUR_API_KEY"
Example Response
{
"success": true,
"total": 15678,
"limit": 10,
"offset": 0,
"data": [
{
"id": "TX-2019-45678",
"name": "[REDACTED]",
"tier": 3,
"city": "Houston",
"state": "TX",
"zip": "77001",
"offense": "Sexual Assault",
"registered": "2019-03-15",
"compliant": true
},
// ... more results
]
}
Nearby Search
Find offenders within a specified radius of coordinates or address.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
lat required* |
float | Latitude coordinate |
lng required* |
float | Longitude coordinate |
address required* |
string | Street address (alternative to lat/lng) |
radius optional |
float | Search radius in miles (default: 5, max: 50) |
* Either lat/lng OR address is required
Example Request
curl -X GET "https://api.pedoscans.com/v1/offenders/nearby?lat=29.7604&lng=-95.3698&radius=5" \ -H "Authorization: Bearer YOUR_API_KEY"
Statistics
Retrieve aggregate statistics for the registry.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
state optional |
string | Filter by state (omit for national stats) |
group_by optional |
string | Group results by: state, tier, offense, year |
Alerts
Create a new alert subscription for a location.
Request Body
{
"email": "[email protected]",
"address": "123 Main St, Houston, TX 77001",
"radius": 5,
"tiers": [2, 3]
}
Error Handling
The API uses standard HTTP status codes. All errors return a JSON response with details:
{
"success": false,
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "You have exceeded your rate limit. Please upgrade your plan."
}
}
| Status Code | Description |
|---|---|
| 200 | Success |
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Invalid or missing API key |
| 403 | Forbidden - Insufficient permissions |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Internal Server Error |