Location monitoring
Watch a radius around an address, with sex-offender coverage live and criminal records coming.
Livehttps://api.offendersearch.appSandboxhttps://sandbox.offendersearch.appWatch a radius around an address
A location monitor stands watch over a place rather than a person. You give it a centre and a radius, and each day it evaluates which records fall inside that radius — alerting you as records move in (new), change while inside it (changed), or move out or come off a registry (removed).
{
"product": "sex-offender",
"type": "location",
"location": { "address": "100 Main St, Austin, TX 78701",
"lat": 30.2711, "lng": -97.7437, "radiusMiles": 1 },
"channels": { "email": "alerts@example.com" }
}The radius is evaluated around lat/lng, so send the coordinates. On its own, a ZIP code or “City, ST” as address is placed at its centre; a street address without coordinates is refused with a 422, so a monitor is never created that cannot be evaluated. address is stored with the monitor and names it on a removed line of the alert email when you set no label. radiusMiles defaults to 3 and accepts any value above 0 up to 100.
{
"product": "sex-offender",
"type": "location",
"location": { "lat": 30.2711, "lng": -97.7437, "radiusMiles": 2 },
"channels": { "email": "alerts@example.com", "webhookUrl": "https://example.com/hooks/os" }
}The LocationCriteria object — location monitor request fields
The centre and radius a location monitor watches: location on POST /v1/monitors. Returned on the monitor as location.
Returned or accepted by POST /v1/monitors.
| Field | Type | Description |
|---|---|---|
| address optional | string or null | A street address or area, stored with the monitor as you sent it (trimmed). On its own, a ZIP code or "City, ST" is placed at its centre; a street address must come with lat and lng or the request is a 422. The radius is evaluated around the coordinates.Example "100 Main St, Austin, TX 78701" |
| lat optional | number or null | Latitude of the centre, in decimal degrees. Example 30.2711 |
| lng optional | number or null | Longitude of the centre, in decimal degrees. Example -97.7437 |
| radiusMiles optional · default 3 | number | Radius in miles. Greater than 0 and at most 100; outside that range is a 422.Example 1 |
Coverage
| product | type: "location" |
|---|---|
sex-offender | Live. Sex-offender location monitoring is available today. |
criminal | Coming soon. See below. |
Criminal location monitoring is coming soon
Criminal-record location monitoring will arrive as location coverage across criminal records expands. It is documented here so you can plan for it, but it is not billable yet. A POST /v1/monitors with product: "criminal" and type: "location" does not error — it returns a not_yet_available acknowledgement, so your integration can handle the transition without special-casing an error path.
// POST /v1/monitors {"product":"criminal","type":"location", …}
{
"status": "not_yet_available",
"message": "Location monitoring for criminal records is coming soon — it activates as location coverage across criminal records expands. Person monitoring is available for criminal records today."
}200 acknowledgement, not a 4xx. No monitor is created and nothing is billed. Treat status: "not_yet_available" as a signal to hold that watch until the product is live.The address you register
The centre of a location monitor is the subscriber’s own input. It is stored encrypted at rest and isolated to your account, and it is used to evaluate proximity each day and to name the monitor in its own alerts. See Access, keys & data handling.
Not a consumer report
A location monitor’s alerts are not a consumer report and may not be used for any FCRA-covered decision. Every alert email carries that notice in its footer.