Home › Sources › datasf_police_stop_data
DataSF Police Department Stop Data
Source ID datasf_police_stop_data. Use source caveats and join keys before treating context records as court facts.
Source overview
| Source ID | datasf_police_stop_data |
| Name | DataSF Police Department Stop Data |
| Owner | San Francisco Police Department / DataSF |
| Layer | stop_enforcement_context |
| Coverage | RIPA-style stop records from 2018-07-01 through 2026-03-31 in profile query; the prototype now loads a checkpointed 1,000-row recent sync slice from 2026-03-22 through 2026-03-31 plus the original 5-row bounded sample into police_stops. |
| Formats | JSON API, CSV, GeoJSON |
| Join keys | doj_record_id, lea_record_id, agency_ori, stop_datetime, location, citation_off_statute, cust_arrest_off_statute |
| Caveats | Contains perceived-demographic variables; expose as source-labeled aggregate/context data, not identity facts. |
Linked cases
0 matching cases for this source filter.
No matching cases.
Source artifacts
| Artifact ID | Source ID | Artifact Type | Path | URL | Captured At |
|---|---|---|---|---|---|
| - | datasf_police_stop_data | socrata_dataset | - | - | - |
Full source record
| Access Mode | socrata_api |
| Cadence | open-data refresh; data_as_of observed 2026-05-28 |
| Coverage | RIPA-style stop records from 2018-07-01 through 2026-03-31 in profile query; the prototype now loads a checkpointed 1,000-row recent sync slice from 2026-03-22 through 2026-03-31 plus the original 5-row bounded sample into police_stops. |
| Government Level | local_police |
| ID | datasf_police_stop_data |
| Layer | stop_enforcement_context |
| Name | DataSF Police Department Stop Data |
| Owner | San Francisco Police Department / DataSF |
| Profile Status | promoted_recent_police_stop_sync_slice |
| Canonical Records | police_stop, agency_action, place_context, source_record |
| Caveats | Contains perceived-demographic variables; expose as source-labeled aggregate/context data, not identity facts. |
| Evidence | artifacts/source-discovery/datasf-police-stops-ripa.profile.json, artifacts/source-discovery/datasf-police-stops-ubqf-aqzw.view.json, artifacts/source-discovery/datasf-police-stops-ubqf-aqzw.sample.json, artifacts/source-discovery/datasf-police-stops-ubqf-aqzw.profile-query.json, data/police_stops_raw/police_stops.json, data/police_stops_raw/manifest.json, scripts/sync_datasf_police_stops.py |
| Formats | JSON API, CSV, GeoJSON |
| Join Keys | doj_record_id, lea_record_id, agency_ori, stop_datetime, location, citation_off_statute, cust_arrest_off_statute |
| Known Endpoints | Socrata /resource/ubqf-aqzw.json |
| Rate Limit Notes | Use Socrata paging/checkpoints; avoid per-request live joins. |
| Source Urls | https://data.sfgov.org/Public-Safety/Police-Department-Stop-Data/ubqf-aqzw |
Get this page with API
Rendered from the bluedoor SF Superior Court API. Reproduce it:
GET https://api.bluedoor.sh/sf-superior-court/v1/sources/datasf_police_stop_dataJSONGET https://api.bluedoor.sh/sf-superior-court/v1/case-search?source_id=datasf_police_stop_data&division=criminal&limit=25&include_facets=trueJSONGET https://api.bluedoor.sh/sf-superior-court/v1/source-artifactsJSON