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

Nearby Search

GET /offenders/nearby

Find offenders within a specified radius of coordinates or address.

Query Parameters

ParameterTypeDescription
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

GET /statistics

Retrieve aggregate statistics for the registry.

Query Parameters

ParameterTypeDescription
state optional string Filter by state (omit for national stats)
group_by optional string Group results by: state, tier, offense, year

Alerts

POST /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 CodeDescription
200Success
400Bad Request - Invalid parameters
401Unauthorized - Invalid or missing API key
403Forbidden - Insufficient permissions
429Too Many Requests - Rate limit exceeded
500Internal Server Error