Offendersearch
API Reference · Map

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.app

Introduction

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/search returns.
  • Build before you pay. Test mode returns made-up people in the real response shape, with no plan.
A pin shows a registered address, not a person's current location. Every response carries this sentence in notice. Show it on the map.

The routes

RouteWhat it doesBilled
GET /v1/map/viewportOne map view: clusters, pins, or named pins.1 map request
POST /v1/map/areaThe 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/statusYour plan, rates, limits and this month’s usage.Free
POST /v1/map/enableTurn the Map API on.Charges the $300 monthly minimum
POST /v1/map/disableTurn 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.

What a view returns at each zoom.
ZoommodeReturned
3–12clustersA count for each grid cell, with its extent and a breakdown.
13–14pinsOne pin for each address: a position, with no name.
15+markersPins 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.

GET /v1/map/viewport
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=true

The 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.

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.

Turn on the Map API

No account yet? Create one. To build first, use test mode. The details are in Turn it on.

Product overview