Perfect World

Surveillance procurement

How California Bought ALPR

Automated licence-plate readers arrive by a vote. This is the paper trail behind those votes across California — the original contracts, every renewal and amendment that followed, and the staff reports that were in front of the council when it decided. Where a staff report and the contract it accompanied describe different things, that comparison is set out here with both passages quoted.

18
Jurisdictions with a contract on file
51
Contracts and amendments
2018
Earliest contract found
$9,339,423
Committed in documents we hold
20 / 212
Portals swept

What we hold, jurisdiction by jurisdiction

JurisdictionPortalFirst contractDocumentsCamerasCommittedFindings
FresnoLegistar2020880$1,498,690
SacramentoLegistar20251
OaklandLegistar20252975
RiversideLegistar20186
StocktonLegistar20184118$3,241,700
Chula VistaLegistar20211
FontanaLegistar20241
SunnyvaleLegistar202425$213,500
Santa ClaraLegistar2021112
MurrietaLegistar2023340$1,315,500
TemeculaLegistar2021150
RialtoLegistar20224
San LeandroLegistar2022582$1,307,150
Newport BeachLegistar2024218$292,700
AlamedaLegistar2018435$319,633
MantecaLegistar2019350$1,150,550
LodiLegistar2023118
Culver CityLegistar20182

Where we have not found the record

A gap means the record was not found on the jurisdiction's public portal. It is not a statement that the record does not exist, and it is not a statement about whether the jurisdiction operates ALPR.

JurisdictionKindPortalStatus
Los AngelescityNo portal foundNot yet swept
San DiegocityNo portal foundNot yet swept
San JosecityLegistarNot yet swept
San FranciscocityNo portal foundNot yet swept
Long BeachcityLegistarNot yet swept
BakersfieldcityNo portal foundNot yet swept
AnaheimcitycivicclerkNot yet swept
Santa AnacityNo portal foundNot yet swept
IrvinecityNo portal foundNot yet swept
FremontcityGranicusNot yet swept
San BernardinocityLegistarNot yet swept
ModestocityNo portal foundNot yet swept
OxnardcitycivicclerkNot yet swept
Moreno ValleycityNo portal foundNot yet swept
Huntington BeachcityLegistarNot yet swept
GlendalecityNo portal foundNot yet swept
Santa ClaritacityNo portal foundNot yet swept
Garden GrovecityNo portal foundNot yet swept
OceansidecityGranicusNot yet swept
Santa RosacityLegistarSwept, nothing published
Rancho CucamongacityNo portal foundNot yet swept
OntariocityGranicusNot yet swept
Elk GrovecityNo portal foundNot yet swept
LancastercityNo portal foundNot yet swept
CoronacityLegistarNot yet swept
PalmdalecityNo portal foundNot yet swept
SalinascityLegistarNot yet swept
HaywardcityLegistarNot yet swept
PomonacityLegistarNot yet swept
EscondidocityNo portal foundNot yet swept
TorrancecityNo portal foundNot yet swept
OrangecityNo portal foundNot yet swept
PasadenacityCivicWebNot yet swept
FullertoncityLegistarNot yet swept
Thousand OakscityNo portal foundNot yet swept
VisaliacityLegistarNot yet swept
RosevillecitycivicclerkNot yet swept
Simi ValleycityNo portal foundNot yet swept
ConcordcityNo portal foundNot yet swept
VictorvillecityNo portal foundNot yet swept
VallejocitycivicclerkNot yet swept
BerkeleycityNo portal foundNot yet swept
El MontecityCivicEngageNot yet swept
DowneycityNo portal foundNot yet swept
Costa MesacityLegistarNot yet swept
InglewoodcityNo portal foundNot yet swept
CarlsbadcityNo portal foundNot yet swept
FairfieldcityNo portal foundNot yet swept
VenturacityNo portal foundNot yet swept
West CovinacityCivicEngageNot yet swept
RichmondcitycivicclerkNot yet swept
AntiochcitycivicclerkNot yet swept
NorwalkcityNo portal foundNot yet swept
Daly CitycitycivicclerkNot yet swept
BurbankcityNo portal foundNot yet swept
Santa MariacityNo portal foundNot yet swept
El CajoncityNo portal foundNot yet swept
San MateocityNo portal foundNot yet swept
CloviscitycivicclerkNot yet swept
Jurupa ValleycityGranicusNot yet swept
ComptoncityNo portal foundNot yet swept
VistacityNo portal foundNot yet swept
Mission ViejocityNo portal foundNot yet swept
South GatecityNo portal foundNot yet swept
VacavillecityNo portal foundNot yet swept
CarsoncityLegistarNot yet swept
Santa MonicacityNo portal foundNot yet swept
HesperiacityLegistarNot yet swept
WestminstercityLegistarNot yet swept
ReddingcityNo portal foundNot yet swept
Santa BarbaracityLegistarNot yet swept
San MarcoscityLegistarNot yet swept
ChicocityNo portal foundNot yet swept
WhittiercityNo portal foundNot yet swept
HawthornecityNo portal foundNot yet swept
Citrus HeightscityNo portal foundNot yet swept
LivermorecityGranicusNot yet swept
TracycityNo portal foundNot yet swept
AlhambracityCivicEngageNot yet swept
IndiocityCivicWebNot yet swept
MenifeecityNo portal foundNot yet swept
Buena ParkcityNo portal foundNot yet swept
HemetcityCivicWebNot yet swept
LakewoodcityNo portal foundNot yet swept
MercedcityNo portal foundNot yet swept
ChinocityLegistarNot yet swept
Redwood CitycityNo portal foundNot yet swept
Lake ForestcityNo portal foundNot yet swept
NapacityLegistarNot yet swept
TustincityNo portal foundNot yet swept
Mountain ViewcityLegistarSwept, nothing published
BellflowercityNo portal foundNot yet swept
Baldwin ParkcitycivicclerkNot yet swept
Chino HillscityNo portal foundNot yet swept
UplandcityNo portal foundNot yet swept
San RamoncitycivicclerkNot yet swept
PleasantoncitycivicclerkNot yet swept
FolsomcitycivicclerkNot yet swept
Union CitycityGranicusNot yet swept
PerriscityNo portal foundNot yet swept
LynwoodcityGranicusNot yet swept
Apple ValleycityNo portal foundNot yet swept
TurlockcitycivicclerkNot yet swept
RedlandscityNo portal foundNot yet swept
MilpitascitycivicclerkNot yet swept
Rancho CordovacitycivicclerkNot yet swept
Redondo BeachcityNo portal foundNot yet swept
Yorba LindacityNo portal foundNot yet swept
Walnut CreekcityNo portal foundNot yet swept
PittsburgcitycivicclerkNot yet swept
Palo AltocityNo portal foundNot yet swept
DaviscityNo portal foundNot yet swept
South San FranciscocityNo portal foundNot yet swept
CamarillocityNo portal foundNot yet swept
Yuba CitycitycivicclerkNot yet swept
San ClementecityLegistarNot yet swept
Laguna NiguelcityNo portal foundNot yet swept
Pico RiveracityNo portal foundNot yet swept
MontebellocitycivicclerkNot yet swept
MaderacityNo portal foundNot yet swept
Santa CruzcityNo portal foundNot yet swept
La HabracityCivicEngageNot yet swept
EncinitascityNo portal foundNot yet swept
TularecityNo portal foundNot yet swept
Monterey ParkcitycivicclerkNot yet swept
CupertinocityNo portal foundNot yet swept
GardenacityNo portal foundNot yet swept
National CitycityNo portal foundNot yet swept
RocklincityGranicusNot yet swept
PetalumacityNo portal foundNot yet swept
San RafaelcityNo portal foundNot yet swept
Huntington ParkcitycivicclerkNot yet swept
La MesacityNo portal foundNot yet swept
ArcadiacityNo portal foundNot yet swept
Lake ElsinorecityNo portal foundNot yet swept
Fountain ValleycitycivicclerkNot yet swept
WoodlandcityCivicWebNot yet swept
Diamond BarcitycivicclerkNot yet swept
SanteecityNo portal foundNot yet swept
EastvalecityGranicusNot yet swept
PortervillecitycivicclerkNot yet swept
BrentwoodcityNo portal foundNot yet swept
ParamountcityNo portal foundNot yet swept
HanfordcitycivicclerkNot yet swept
RosemeadcityNo portal foundNot yet swept
HighlandcitycivicclerkNot yet swept
NovatocityNo portal foundNot yet swept
ColtoncitycivicclerkNot yet swept
Cathedral CitycityLegistarNot yet swept
YucaipacityNo portal foundNot yet swept
WatsonvillecityNo portal foundNot yet swept
DelanocityNo portal foundNot yet swept
PlacentiacityNo portal foundNot yet swept
DublincityLegistarNot yet swept
GilroycitycivicclerkNot yet swept
GlendoracityNo portal foundNot yet swept
Palm DesertcityNo portal foundNot yet swept
Aliso ViejocityNo portal foundNot yet swept
West SacramentocityLegistarNot yet swept
CerritoscityNo portal foundNot yet swept
PowaycityNo portal foundNot yet swept
Rancho Santa MargaritacityNo portal foundNot yet swept
La MiradacityNo portal foundNot yet swept
CypresscityNo portal foundNot yet swept
CovinacityCivicWebNot yet swept
AzusacityNo portal foundNot yet swept
CerescitycivicclerkNot yet swept
San Luis ObispocityNo portal foundNot yet swept
Palm SpringscityLegistarNot yet swept
San JacintocityNo portal foundNot yet swept
LincolncityGranicusNot yet swept
NewarkcityLegistarNot yet swept
LompoccityNo portal foundNot yet swept
El CentrocitycivicclerkNot yet swept
DanvillecityNo portal foundNot yet swept
CoachellacitycivicclerkNot yet swept
Bell GardenscityNo portal foundNot yet swept
Rancho Palos VerdescityNo portal foundNot yet swept
San BrunocityNo portal foundNot yet swept
Rohnert ParkcityNo portal foundNot yet swept
BreacityNo portal foundNot yet swept
Morgan HillcityLegistarNot yet swept
CampbellcityCivicEngageNot yet swept
BeaumontcityNo portal foundNot yet swept
La PuentecitycivicclerkNot yet swept
San GabrielcityNo portal foundNot yet swept
CalexicocitycivicclerkNot yet swept
La QuintacityNo portal foundNot yet swept
StantoncityNo portal foundNot yet swept
PacificacityNo portal foundNot yet swept
OakleycityGranicusNot yet swept
MontclaircityGranicusNot yet swept
MartinezcityNo portal foundNot yet swept
MonroviacityNo portal foundNot yet swept

Documents are archived copies of what the jurisdiction published, kept because municipal portals do not use permanent links. Every figure shown is either quoted from a document or marked as not stated. A dash means the record does not say, which is never the same as zero.