Public-records data, structured
498,500+ surveillance records aggregated across 183 countries from FLOCK (Ringmast4r), EFF Atlas of Surveillance, OpenStreetMap, DeFlock, and 20+ government open-data feeds. CCTV, ALPR, facial recognition, speed cameras, and more. Query by location, type, or country via REST API.
Acceptable use
Access is reviewed and restricted to journalism, civic oversight, academic security research, and public-interest analysis. The API is not sold to surveillance vendors, law-enforcement enrichment buyers, or any party whose use would meaningfully advantage a hostile actor over a citizen, journalist, or oversight body. Requests that do not fit are declined.
API Endpoints
/v1/cameras Search cameras by location, type, and country.
GET /v1/cameras?lat=48.8566&lng=2.3522&radius=1000&type=alpr,cctv
{
"data": [
{
"id": 42891,
"latitude": 48.8571,
"longitude": 2.3515,
"type": "cctv",
"operator": "Prefecture de Police de Paris",
"jurisdiction": "Paris",
"country": "FR",
"confidence": "high"
}
],
"meta": { "count": 127, "limit": 100 }
} /v1/cameras/stats Surveillance density statistics for any location.
GET /v1/cameras/stats?lat=51.5074&lng=-0.1278&radius=5000
{
"data": {
"total": 1847,
"density": 23.5,
"rating": "A",
"by_type": [
{ "type": "cctv", "count": 1203 },
{ "type": "alpr", "count": 412 },
{ "type": "speed_camera", "count": 232 }
]
}
} /v1/exposure-report Surveillance exposure analysis from aggregated public records, by coordinates.
GET /v1/exposure-report?lat=40.7128&lng=-74.0060
{
"data": {
"exposure_level": "high",
"rings": [
{ "radius_meters": 250, "total": 12 },
{ "radius_meters": 500, "total": 34 },
{ "radius_meters": 1000, "total": 89 },
{ "radius_meters": 5000, "total": 412 }
]
}
} /v1/countries Coverage statistics by country.
GET /v1/countries
{
"data": [
{ "country": "US", "camera_count": 142581, "type_count": 10 },
{ "country": "FR", "camera_count": 60983, "type_count": 2 },
{ "country": "IT", "camera_count": 12120, "type_count": 2 }
],
"meta": { "total_countries": 104 }
} /v1/route-score Analyze surveillance exposure along a commute or travel route.
GET /v1/route-score?waypoints=49.28,-123.12,49.27,-123.10&corridor=200
{
"data": {
"route_length_meters": 1847,
"corridor_meters": 200,
"total_cameras": 23,
"cameras_per_km": 12.5,
"grade": "D",
"by_type": { "cctv": 15, "alpr": 6, "speed_camera": 2 },
"segments": [
{ "start": { "lat": 49.28, "lng": -123.12 }, "cameras": 14 },
{ "start": { "lat": 49.27, "lng": -123.10 }, "cameras": 9 }
]
}
} Access
There are no paid plans. The data is aggregated from public sources, and it stays open to the journalists, researchers, and oversight bodies who use it to hold surveillance to account. Approved access includes the full record set, source and licensing fields, country statistics, and bulk export.
Access is reviewed against the acceptable-use terms above. Rate limits keep the service fair; legitimate public-interest work that needs more is granted on request.
Data Coverage
Data aggregated from government open data (Caltrans, TfL London, DriveBC, 511 networks), OpenStreetMap community mapping, EFF Atlas of Surveillance, and public records. All sources are public. Updated monthly.
Get early access
The Sentinel API is launching soon, free for public-interest use. Request access and we'll be in touch.
Request Access