surveillance_spending
Data license: CC BY 4.0 · Data source: MyTown
1 row where state = "MA" and vendor = "ShotSpotter" sorted by amount descending
This data as json, CSV (advanced)
Suggested facets: spend_date (date)
| Link | rowid | vendor | city | state | spend_date | product | amount ▲ | quote | source_document | mytown_record | ledger | amount_type | dup_rank | geo_suspect | anomaly | state_norm |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3230 | 3230 | ShotSpotter | Worcester | MA | 2025-09-09 | gunshot detection subscription (renewal) | 528597.0 | Of the annual cost, $528,597 pays for ShotSpotter and $44,966 goes to Resource Router. | https://worcesterma.primegov.com/Public/CompiledDocument/8990 | https://mytown.theboringparts.com/city/worcesterma/2025/#m634666 | sv:gunshot:shotspotter | stated | 1 | 0 | 0 | MA |
Advanced export
JSON shape: default, array, newline-delimited
CREATE TABLE surveillance_spending ( vendor TEXT, city TEXT, state TEXT, spend_date TEXT, product TEXT, amount REAL, quote TEXT, source_document TEXT, mytown_record TEXT, ledger TEXT, amount_type TEXT, dup_rank INTEGER, geo_suspect INTEGER, anomaly INTEGER, state_norm TEXT); CREATE INDEX ix_surv_vendor ON surveillance_spending(vendor); CREATE INDEX ix_surv_state ON surveillance_spending(state); CREATE INDEX ix_surv_amount ON surveillance_spending(amount); CREATE INDEX ix_surv_ledger ON surveillance_spending(ledger);