Comment on page
Police Department Stop Data
Published 9/15/23
The Racial and Identity Profiling Act (RIPA), or California Assembly Bill (AB)953 was signed into law in October 2015. The bill requires law enforcement agencies to collect specific information on each stop, including elements of the stop, circumstances and the perceived identity characteristics of the individual(s) stopped. The information obtained by officers is reported to the California Department of Justice. Collection of these data begun on July 1st 2018 and is ongoing.
This dataset includes information about police stops that occurred, including stop date, time, duration, and general location, as well as some details about the person(s) stopped, why the person was stopped, and what happened during the stop. Each row is a person stopped with a record identifier for the stop and a unique identifier for the person. A single stop may involve multiple people and may produce more than one associated unique identifier for the same record identifier (e.g.: A vehicle stop with a driver and three passengers.) See below for an example of a stop involving 4 persons:

An example of a single stop with 4 persons stopped.
The information collected by officers can be used to help understand the number, location, reason for and outcomes of stops conducted by the San Francisco Police Department (SFPD). Geographic information is anonymized and provided to help understand stops conducted across neighborhoods, police and supervisorial districts. Provision of date information allows for analysis of data trends over time. Reasons for stop, search, and seizure, along with outcomes of any stop, search, or seizure, allow for additional analysis against time, geographic and perceived demographic data.
The department’s stop dataset provides counts of stops by type, date, time, and location. Department officers collect perceived detailed demographic information during pedestrian and traffic stops as required by the Racial and Identity Profiling (RIPA) Act of 2015 and associated stop data regulations. View the stop data regulations, which guide data collection and define the elements included in the data set.
Dataset users should review the RIPA stop data categories of information an officer must collect for each stop to help assist with analysis. It is important to note that an officer’s perception of a person’s demographic identifiers (race/ethnicity, gender, LGBTQ, etc.) may differ from how the person self-identifies as officers are prohibited from asking the person stopped to self-identify their characteristics.
The SFPD conducts several transformations of this data to ensure privacy, accuracy and compliance with State law and regulation. These data transformations occur after data submission and includes data geocoding, PII cleaning processes and data transformations and joins for ease of use and readability.
By the end of each shift, officers enter all stop data into a Stop Data Collection System. The address fields are manually cleaned for mapping suitability. Addresses are geocoded to the nearest intersection. Instead of the uncoded free text that makes up the location in raw stops data, the Department has geocoded and added Location and District fields to this dataset. The location field will provide an anonymized location of the stop while the district field provides the police district of the stop location. Users are reminded that geographic information is anonymized and provided to help understand stops conducted across neighborhoods, police and supervisorial districts. A certain percentage of stops have stop information that can’t be geocoded. This may be due to errors in data input at the officer level (typos in entry or providing an address that doesn't exist). More often, this is due to officers providing a level of detail that isn't codable to a geographic coordinate - most often at the Airport (ie: Terminal 3, door 22.) In these cases, the location of the stops is coded as unknown.
After the geocoding process is complete, the stops data file is formatted, and personally identifiable information is redacted from the narrative fields. Each narrative field is reviewed for names, addresses and juvenile terms.
The dataset has also had readability and ease of use transformations applied to make the data easier and more useful to end users. These changes include:
- The dataset itself is 'de-pivoted' and 're-pivoted' to create a dataset that contains a single stopped individual per row. This is unlike the state dataset, in which a single row of data is a stop with all stopped individuals involved in a single row.
- The addition of a person number, unique id, perceived age group, neighborhood, CJIS offence code text, statute and type, traffic violation code text, statute and type, custodial arrest code text, statute and type, lat, long and point geocoding, data load time, data as of, and supervisor district columns.
- Fields in which more than one data element can be entered are delimited with a "|". See below

3 selected basis for search in one search
- The coding from numeral code to English as many columns as practical, to include perceived race/ethnicity, perceived gender, reason for stop, CJIS codes associated with stops, searches, and arrests, and others.
- Numerical coding is included in the data with columns ending in _code.
- The Agency name field was removed because all stops listed were conducted by SFPD officers.
- A certain percentage of stops have stop information that can’t be geocoded. This may be due to errors in data input at the officer level (typos in entry or providing an address that doesn't exist). More often, this is due to officers providing a level of detail that isn't codeable to a geographic coordinate - most often at the Airport (ie: Terminal 3, door 22.) In these cases, the location of the stops is coded as unknown.
The SFPD seeks to mirror the CA DOJ’s release standards for RIPA data. The Reason for Stop Narrative, Basis for Stop Narrative, and personally identifiable information of officers is not published in the CA DOJ RIPA data and is also not included in this dataset.
The Agency name and the K-12 School name are fields published in the CA DOJ’s RIPA report but are not provided in this dataset. The K-12 School name is a field populated by the K-12 School Code field. Users may search the CA Department of Education’s School Directory for a corresponding California school by using the K-12 School Code in the dataset.
- Most, but not all, stops or individuals stopped are captured in this data. Various exceptions to data entry are outlined in the RIPA regulations, noted here.
- Demographic information pertaining to individual identity is based on officer perception rather than self-identification, and includes race/ethnicity, gender, age, LGBT identity, English fluency, and disability.
- This dataset does not include any personally identifiable information of officers conducting stops or of suspects stopped.
- The order in which actions are taken are not specifically captured. When multiple reasons for stop, search, etc are selected, these data do not delineate if all reasons occurred at the outset of the stop, or were developed over the course of the stop.
- This dataset does not capture other law enforcement agency stops within San Francisco (BART PD, US Park Police, for example.)
The release of this data must balance the need for disclosure to the public against the risk of violating the privacy of those individuals present within the dataset. All incident locations are shown at the intersection or 100 block level only. Some stops occur outside SFPD districts. These will be marked as “Out of SF” or “Unknown”. Per AB 953, law enforcement agencies are prohibited from reporting unique identifying information on persons stopped. Per GOV 12525.5, officer badge numbers and other Unique Identifying Information and are withheld from the dataset.
The release of de-identified stop data on juveniles is included and is consistent with CA DOJ RIPA data releases.
The SFPD utilizes the RIPA program definitions under AB953: The Racial and Identity Profiling Act of 2015; a ‘stop’ is defined as 1) any detention, as defined in regulations, by a peace officer of a person or 2) any peace officer interaction with a person in which the officer conducts a search as defined in regulation. Stops include Traffic Stops, Pedestrian Detentions, and may be Self-Initiated or Dispatched. There are some exceptions to this definition, as noted in the regulations.
Yes. During a single encounter, multiple persons may be stopped. When multiple persons are stopped during one encounter, relevant information will be submitted for each person within the single report only under certain circumstances. For vehicle stops, for example, the following must be met for a passenger to be entered: (A): the passenger is observed or suspected of violating the Vehicle Code or any other applicable law or ordinance; or (B): excluding “Vehicle Impound” and “None”, the passenger is subjected to any data value actions identified in section 999.226, subdivision (a)(12)(A), “Actions Taken by Officer During Stop.”
Criminal Justice Information System (CJIS) offense codes are a table of all state level offenses maintained by the California Department of Justice. These codes are used across multiple criminal justice applications, to standardize data entry for some data fields. Copies of the latest CJIS offense code tables can be found here: Law Enforcement Code Tables | State of California - Department of Justice - Office of the Attorney General. This dataset utilizes the RIPA code table, posted at the above link.
Where data fields contain multiple datapoints due to officers having the option of picking more than one value, data is pipe delimited, ie: "|"
Data field | Description/ Definition | Data values |
DOJ Record ID | A unique system- generated incident identification number. | Alpha-numeric |
Person Number | System generated person identification number without DOJ record ID appended to it. | Alpha-numeric |
Unique Identifier | DOJ Record ID and the system-generated person identification number | Alpha-numeric |
Stop data record status | Status of stop data record in SDCS system | 1 In-progress 2 Pending Review 3 Returned for Edits 4 Re-submitted to Reviewer 5 Completed – Successful Submission 6 Submitted with Errors/Incomplete 7 No Further Information Available 8 Deleted 9 Ready for Submission |
lea_record_id | Local agency system tracking number (not used when utilizing state data system) | Alpha-numeric |
Agency ORI | The number for the reporting Agency | Nine digit alpha-numeric |
NFIA Flag | No Further Information Available Flag - this flag with “Y” value is only for those records that have been submitted with errors before (status 6) and the user wants to indicate that the records cannot be updated any further. That will change the status of the record to "7" or “No further information available” and no further updates will be applied/accepted to the record. | Y or blank |
Stop Datetime | Date and time of stop | YYYY/MM/DD HH:MM:SS AM/PM |
Duration of Stop | Duration of stop in minutes | Minute format |
Is Stop Made in Response to Call for Service | Stop made in response to a call for Service | Y/N |
Location | Location of stop (intersection, 100 block) | Alpha-numeric |
District | Location of stop, by police district | Alpha-numeric |
City | City location of stop | Alpha-numeric |
Is Location a K-12 Public School | Stop on K-12 school grounds | Yes or Blank |
K-12 School Code | School code | Fourteen-digit alpha-numeric
Blank |
Perceived Race or Ethnicity | Perceived Race or Ethnicity of individual | One or more of the following: 1 = Asian
2 = Black/African American
3 = Hispanic/Latino(a)
4 = Middle Eastern or South Asian
5 = Native American
6 = Pacific Islander
7 = White
Any combination = Multi Racial Blank = Unknown |
Perceived Gender | Perceived gender description of person stopped. | 1 = Male
2 = Female
3 = Transgender Man/Boy
4 = Transgender Woman/Girl 5 = Gender nonconforming
Blank = Unknown |
Is LGBT | Person stopped perceived to be LGBT | No
Yes |
Perceived Age | Perceived age of person stopped | Alpha-numeric |
Perceived Age Group | Perceived age of person stopped categorized into groups | 0 - Under 18 18 - 29 30 - 39 40 - 49 50 - 59 60 or over |
Person had Limited or No English Fluency | Person stopped has limited or no English fluency | No
Yes |
Perceived or Known Disability | Perceived or known disability of person stopped. | 1 =Deafness or difficulty hearing, 2 = Speech Impairment or limited use of language, 3 = Blind or limited vision, 4 = Mental Health Condition, 5 = Intellectual or developmental disability, including dementia, 6 = Other, 7 = Hyperactivity or impulsive behavior, 8 = None Any combination = Multiple Disability |
If K-12 School, Is Stop of a Student | Stop of student | No
Yes |
Reason for Stop | Reason for stop: description | 1 = Traffic violation 2 = Reasonable suspicion that the person was engaged in criminal activity 3 = Known to be on parole/probation/PRCS/mandatory supervision 4 = Knowledge of outstanding arrest warrant/wanted person 5 = Investigation to determine if person is truant 6 = Consensual encounter and search 7 = Possible conduct warranting discipline under Education Code 8 = Determine if student violated school policy |
Traffic Violation Type | Type of traffic violation | 1 = Moving
2 = Equipment violation
3 = Non-moving, including registration
Blank |
Traffic Violation - CJIS Offense Code | CJIS code related to traffic violation | CJIS offense table code
Blank |
Traffic Violation Offense Code Text | Short text description of the CJIS code | CJIS offense table description
Blank |
Traffic Violation Offense Statute | Statute linked to the CJIS Code | CJIS offense table violation statute
Blank |
Traffic Violation Offense Type Statute Code | Traffic Offense Statute Type Code | 2 letter code
(PC=Penal Code, VC=Vehicle Code, etc)
Blank |
Traffic Violation Offense Type Charge | Charge Type per Statute Violation | F - Felony
M - Misdemeanor I - Infraction X - Other Blank |
Suspicion CJIS Offense Code | If known, code for suspicion | CJIS offense table code
Blank |
Suspicion Offense Code Text | Short text description of the offense code | CJIS offense table description
Blank |
Suspicion Offense Statute | Statute linked to the CJIS Code | CJIS offense table description
Blank |
Suspicion Statute Type Code | Suspicion Statute Type Code | 2 letter code
(PC=Penal Code, VC=Vehicle Code, etc)
Blank |
Suspicion Type Charge | Charge Type per Statute Violation | F - Felony
M - Misdemeanor I - Infraction X - Other Blank |
Suspicion Sub-Type | Reasonable suspicion/Basis of Suspicion | 1 Officer witnessed commission of a crime
2 Matched suspect description
3 Witness or victim identification of suspect at the scene
4 Carrying suspicious object
5 Actions indicative of casing a victim or location
6 Suspected of acting as a lookout
7 Actions indicative of a drug transaction
8 Actions indicative of engaging in a violent crime
9 Other reasonable suspicion of a crime
Blank |
Education Code section | Section Code | 1 48900 - Suspension or expulsion (select subsection)
2 48900.2 - Suspension or expulsion for sexual harassment
3 48900.3 - Suspension or expulsion for hate violence
4 48900.4 - Suspension or expulsion for harassment, threats or intimidation
5 48900.7 - Suspension or expulsion for terroristic threats
Blank |
Education Code Subdivision | When EC 48900 is selected, specify the subdivision | 1 48900(a)(1) - Caused/ attempted/ threatened to cause injury
2 48900(a)(2) - Used force or violence upon person
3 48900(b) - Possessed/sold/furnished a firearm, knife, explosive, etc.
4 48900(c) - Possessed/used/sold/furnished/under influence of intoxicant
5 48900(d) - Offered/arranged/negotiated to sell an intoxicant
6 48900(e) - Committed or attempted to commit robbery/extortion
7 48900(f) - Caused or attempted to cause damage to property
8 48900(g) - Stole or attempted to steal property
9 48900(h) - Possessed or used tobacco, or nicotine products
10 48900(i) - Committed an obscene act or engaged in profanity
11 48900(j) - Possess/offer/arrange/negotiate to sell drug paraphernalia
12 48900(k)(1) - Disrupted activities or willfully defied authority
13 48900(l) - Knowingly received stolen property
14 48900(m) - Possessed an imitation firearm
15 48900(n) - Commit/attempt sexual assault or sexual battery
16 48900(o) - Harassed, threatened, or intimidated a witness
17 48900(p) - Offered/arranged/negotiated to sell, or sold Soma
18 48900(q) - Engaged in, or attempted hazing
19 48900(r) - Engaged in bullying
Blank |
Actions Taken | Action taken by officer during stop: | 1 Person removed from vehicle by order
2 Person removed from vehicle by physical contact
3 Field sobriety test
4 Curbside detention
5 Handcuffed or flex cuffed
6 Patrol car detention
7 Canine removed search
8 Firearm pointed at person
9 Firearm discharged or used
10 Electronic device used
11 Impact projectile discharged or used (e.g. blunt impact projectile, rubber bullets, bean bags)
12 Canine bit or held person
13 Baton or other impact weapon used
14 Chemical spray use (pepper spray, mace, tear gas, or other chemical irritants)
15 Other physical or vehicle contact
16 Person photographed
17 Asked for consent to search person, Consented or did not consent
18 Search of person was conducted
19 Asked for consent to search property Consented or did not consent 20 Search of property was conducted
21 Property was seized
22 Vehicle impound
23 Admission or written statement obtained from student
24 None |
Basis for Search | Basis of Search Description | 1 Consent given
2 Officer safety/safety of others
3 Search warrant
4 Condition of parole/probation/PRCS/mandatory supervision
5 Suspected weapons
6 Visible contraband
7 Odor of contraband
8 Canine detection
9 Evidence of crime
10 Incident to arrest
11 Exigent circumstances
12 Vehicle inventory (for search property only)
13 Suspected violation of school policy
Blank |
Basis for Property Seizure | Basis for Property Seizure Description | 1 Safekeeping as allowed by law/statute
2 Contraband
3 Evidence
4 Impound of vehicle
5 Abandoned property
6 Suspected violation of school policy
Blank |
Type of Property Seized | Type of Property Seized Description | 1 Firearm
2 Ammunition
3 Weapon other than firearm
4 Drugs/narcotics
5 Alcohol
6 Money
7 Drug paraphernalia
8 Stolen property
9 Cellphone
10 Vehicle
11 Other contraband
Blank |
Contraband or Evidence | Contraband or Evidence Discovered, if any | 1 None
2 Firearm
3 Ammunition
4 Weapon
5 Drugs/narcotics
6 Alcohol
7 Money
8 Drug paraphernalia
9 Stolen property
10 Cell phone or electronic device
11 Other contraband or evidence
Blank |
Results of Stop | Results of Stop | 1 No action
2 Warning (verbal or written)
3 Citation
4 In field cite and release
5 Custodial pursuant to outstanding warrant
6 Custodial arrest without warrant
7 Field interview card completed
8 Noncriminal transport or caretaking transport (including transport by officer, transport by ambulance, or transport by another agency)
9 Contacted parent/legal guardian or other person responsible for minor
10 Psychiatric hold
11 Referred to US Department of Homeland Security (ICE)
12 Referral to school administrator
13 Referral to school counselor or other support staff
Blank |
Warning CJIS Offense Code(s) | CJIS code(s) selected for warning | Five digit alpha-numeric
Blank |
Warning Offense Code Text | Short text description of the offense code | CJIS offense table description
Blank |
Warning Offense Code Statute | Statute linked to the CJIS Code | CJIS offense table description
Blank |
Warning Offense Type Statute Code | Warning Statute Type Code | 2 letter code
(PC=Penal Code, VC=Vehicle Code, etc)
Blank |
Warning Type Charge | Charge Type per Statute Violation | F - Felony
M - Misdemeanor I - Infraction X - Other Blank |
Citation CJIS Offense Code(s) | CJIS code(s) selected for citation | Five digit alpha-numeric
Blank |
Citation Offense Code Text | Short text description of the offense code | CJIS offense table description
Blank |
Citation Offense Code Statute | Statute linked to the CJIS Code | CJIS offense table description
Blank |
Citation Offense Type Statute Code | Citation Statute Type Code | 2 letter code
(PC=Penal Code, VC=Vehicle Code, etc)
Blank |
Citation Type Charge | Charge Type per Statute Violation | F - Felony
M - Misdemeanor I - Infraction X - Other Blank |
In-field cite and release CJIS Offense Code(s) | CJIS Code(s) selected for cite and release | Five digit alpha-numeric
Blank |
In-field cite and release Offense Code Text | Short text description of the offense code | CJIS offense table description
Blank |
In-field cite and release Offense Type Statute | Statute linked to the CJIS Code | CJIS offense table description
Blank |
In-field cite and release Type Statute Code | In-Field cite and release Statute Type Code | 2 letter code
(PC=Penal Code, VC=Vehicle Code, etc)
Blank |
In-Field cite and release Type Charge | Charge Type per Statute Violation | F - Felony
M - Misdemeanor I - Infraction X - Other Blank |
Custodial arrest CJIS Offense Code(s) | CJIS code(s) selected for a Custodial Arrest | Five digit alpha-numeric
Blank |
Custodial Arrest Offense Code Text | Short text description of the offense code | CJIS offense table description
Blank |
Custodial Arrest Offense Type Statute | Statute linked to the CJIS Code | CJIS offense table description
Blank |
Custodial Arrest Type Statute Code | Custodial Arrest Statute Type Code | 2 letter code
(PC=Penal Code, VC=Vehicle Code, etc)
Blank |
Custodial Arrest Type Charge | Charge Type per Statute Violation | F - Felony
M - Misdemeanor I - Infraction X - Other Blank |
Data as of | Date data last changed | Date
Blank |
Data Loaded At | Date/time data was loaded | YYYYMMDD HHMMSS AM/PM |
Longitude | Longitude coordinate | Numeric
Blank |
Latitude | Latitude coordinate | Numeric
Blank |
Point | Point coordinate values | Numeric
Blank |
Supervisor District | Supervisorial district of location | Numeric (1 - 11)
Blank |
Analysis Neighborhoods | Neighborhood | Text |
Stop Data Record Status Code | Code for perceived race or ethnicity of person stopped | 1 In-progress 2 Pending Review 3 Returned for Edits 4 Re-submitted to Reviewer 5 Completed – Successful Submission 6 Submitted with Errors/Incomplete 7 No Further Information Available 8 Deleted 9 Ready for Submission |
Perceived Race Ethnicity Code | Code for perceived gender description of person stopped | One or more of the following: 1 = Asian
2 = Black/African American
3 = Hispanic/Latino(a)
4 = Middle Eastern or South Asian
5 = Native American
6 = Pacific Islander
7 = White Blank = Unknown |
Perceived Gender Code | Code for perceived gender description of person stopped | 1 = Male
2 = Female
3 = Transgender Man/Boy
4 = Transgender Woman/Girl 5 = Gender nonconforming
Blank = Unknown |
Perceived or Known Disability Code | Code for perceived or known disability of person stopped | 1 Deafness or difficulty hearing, 2 Speech Impairment or limited use of language, 3 Blind or limited vision, 4 Mental Health Condition, 5 Intellectual or developmental disability, including dementia, 6 Other, 7 Hyperactivity or impulsive behavior, 8 None |
Reason for Stop Code | Code for reason for stop | 1 = Traffic violation 2 = Reasonable suspicion that the person was engaged in criminal activity 3 = Known to be on parole/probation/PRCS/mandatory supervision 4 = Knowledge of outstanding arrest warrant/wanted person 5 = Investigation to determine if person is truant 6 = Consensual encounter and search 7 = Possible conduct warranting discipline under Education Code 8 = Determine if student violated school policy |
Traffic Violation Type Code | Code for type of traffic violation | 1 = Moving
2 = Equipment violation
3 = Non-moving, including registration
Blank |
Actions Taken Code | Code for actions taken by an officer during a stop | 1 Person removed from vehicle by order
2 Person removed from vehicle by physical contact
3 Field sobriety test
4 Curbside detention
5 Handcuffed or flex cuffed
6 Patrol car detention
7 Canine removed search
8 Firearm pointed at person
9 Firearm discharged or used
10 Electronic device used
11 Impact projectile discharged or used (e.g. blunt impact projectile, rubber bullets, bean bags)
12 Canine bit or held person
13 Baton or other impact weapon used
14 Chemical spray use (pepper spray, mace, tear gas, or other chemical irritants)
15 Other physical or vehicle contact
16 Person photographed
17 Asked for consent to search person, Y = yes / N = No
18 Search of person was conducted
19 Asked for consent to search property Y = yes / N = No 20 Search of property was conducted
21 Property was seized
22 Vehicle impound
23 Admission or written statement obtained from student
24 None |
Basis for Search Code | Code for basis for property seizure description | 1 Consent given
2 Officer safety/safety of others
3 Search warrant
4 Condition of parole/probation/PRCS/mandatory supervision
5 Suspected weapons
6 Visible contraband
7 Odor of contraband
8 Canine detection
9 Evidence of crime
10 Incident to arrest
11 Exigent circumstances
12 Vehicle inventory (for search property only)
13 Suspected violation of school policy
Blank |
Basis for Property Seizure Code | Code for basis for property seizure description | 1 Safekeeping as allowed by law/statute
2 Contraband
3 Evidence
4 Impound of vehicle
5 Abandoned property
6 Suspected violation of school policy
Blank |
Type of Property Seized Code | Code for type of property seized description | 1 Firearm
2 Ammunition
3 Weapon other than firearm
4 Drugs/narcotics
5 Alcohol
6 Money
7 Drug paraphernalia
8 Stolen property
9 Cellphone
10 Vehicle
11 Other contraband
Blank |
Contraband or Evidence Code | Code for contraband or evidence discovered, if any | 1 None
2 Firearm
3 Ammunition
4 Weapon
5 Drugs/narcotics
6 Alcohol
7 Money
8 Drug paraphernalia
9 Stolen property
10 Cell phone or electronic device
11 Other contraband or evidence
Blank |
Suspicion Sub Type Code | Code for reasonable suspicion/ basis of suspicion | 1 Officer witnessed commission of a crime
2 Matched suspect description
3 Witness or victim identification of suspect at the scene
4 Carrying suspicious object
5 Actions indicative of casing a victim or location
6 Suspected of acting as a lookout
7 Actions indicative of a drug transaction
8 Actions indicative of engaging in a violent crime
9 Other reasonable suspicion of a crime
Blank |
Results of Stop Code | Code for results of stop | 1 No action
2 Warning (verbal or written)
3 Citation
4 In field cite and release
5 Custodial pursuant to outstanding warrant
6 Custodial arrest without warrant
7 Field interview card completed
8 Noncriminal transport or caretaking transport (including transport by officer, transport by ambulance, or transport by another agency)
9 Contacted parent/legal guardian or other person responsible for minor
10 Psychiatric hold
11 Referred to US Department of Homeland Security (ICE)
12 Referral to school administrator
13 Referral to school counselor or other support staff
Blank |