Offender Map API
Your map, our data: clusters when zoomed out, pins closer in, names close up, and the full record when one is opened.
Base URL https://api.offendersearch.appIntroduction
The Map API puts registered sex offenders on a map that you draw. Your app sends the view the map is showing. We return what to draw for it: clusters when zoomed out, pins closer in, names close up, and the complete record when one is opened.
- Your map, any library. The response is plain JSON or GeoJSON. There are complete examples for MapLibre, Leaflet and Google Maps.
- Any size of view. A whole country or one street is one map request. The zoom decides how much detail comes back.
- The same data as search. The map covers the same 58 registries as the Sex Offender API, and an opened record is the same record object
POST /v1/searchreturns. - Build before you pay. Test mode returns made-up people in the real response shape, with no plan.
notice. Show it on the map.The routes
| Route | What it does | Billed |
|---|---|---|
GET /v1/map/viewport | One map view: clusters, pins, or named pins. | 1 map request |
POST /v1/map/area | The same answer for a drawn shape: a polygon, or a route with a buffer. | 1 map request |
GET /v1/map/groups/{groupId} | The people behind a many-people pin or an approximate-area pin. | 1 map request per page |
GET /v1/map/records/{markerId} | The complete record behind a marker or a saved reference. | 1 record open |
GET /v1/map/status | Your plan, rates, limits and this month’s usage. | Free |
POST /v1/map/enable | Turn the Map API on. | Charges the $300 monthly minimum |
POST /v1/map/disable | Turn it off. | Free |
Base URL: https://api.offendersearch.app. Send your key in the X-API-Key header. See Access & keys.
Three detail levels
The zoom of the view picks what comes back. The response says which in mode.
| Zoom | mode | Returned |
|---|---|---|
| 3–12 | clusters | A count for each grid cell, with its extent and a breakdown. |
| 13–14 | pins | One pin for each address: a position, with no name. |
| 15+ | markers | Pins with a name label and basic fields. |
See The viewport request for the exact rules and Clusters & markers for every field.
Price
$2.00 per 1,000 map requests and $0.015 per record opened, with a $300 monthly minimum applied toward usage.
Clusters and pins are never charged per person. A view that has not changed (HTTP 304), the status route and test mode are free. See Billing for worked months.
A first request
This runs with any key, before the plan is on, because it is in test mode.
curl -G https://api.offendersearch.app/v1/map/viewport \
-H "X-API-Key: $OFFENDERSEARCH_KEY" \
-d bbox=-83.2,39.8,-82.8,40.1 \
-d zoom=10 \
-d sandbox=trueThe Quickstart takes it from here.
Documentation
Each section below is its own page, with worked examples and a markdown alternate at /docs/map/{section}.md.
A first request in test mode, the response, turning it on, and drawing it.
GET /v1/map/viewportTurn it onWho can turn it on, what is charged when you do, and what turning it off does.
POST /v1/map/enable · POST /v1/map/disable · GET /v1/map/statusAccess & keysA secret key from your server, a browser key for your own sites, and phone apps.
POST /v1/keys · PUT /v1/keys/{id}/originsTest modeMade-up people in the real response shape. No plan needed, never billed.
Every parameter, how zoom picks the detail level, and the caching headers.
GET /v1/map/viewportClusters & markersField tables for every object in a response, plus the GeoJSON form.
GET /v1/map/groups/{groupId}The click sequenceEach thing a person does on the map, the call it makes, and what it costs.
Open a recordThe record route, when an open is charged, marker id life, and saved links.
GET /v1/map/records/{markerId}A centre and a radius instead of a box, distances, and a count with no pins.
GET /v1/map/viewportDrawn areas & routesEveryone inside a polygon, or within a set distance of a route.
POST /v1/map/areaFilters & listsHousing and precision filters, the breakdown, and a list beside the map.
GET /v1/map/viewport · GET /v1/map/groups/{groupId}Turn it on
Any paying account can turn the Map API on. Turning it on charges the $300 minimum that day, and it covers the rest of that calendar month.
No account yet? Create one. To build first, use test mode. The details are in Turn it on.