VANCOUVER CRIME OBSERVATORY

Public API

All endpoints return aggregated data only. No PII, no authentication required for read. Rate-limited to roughly 60 requests per minute per IP. For higher volume or commercial use, contact the maintainer.

Privacy guarantees

  • Individual-level data is never returned — locations are grid-aggregated (500m×500m).
  • Forbidden fields (name, DOB, address, case_number, photo, etc.) are stripped server-side.
  • Counts below 5 are suppressed on sensitive layers.

Spatial data (GeoJSON)

GET/api/crime-points
Individual crime points (aggregated coords, no PII).
bboxminLng,minLat,maxLng,maxLatOptional viewport bbox.
categoriescomma listproperty, other (VPD GeoDASH limits).
limitintegerDefault 5000, max 50000.
startYYYY-MMMonth range start.
endYYYY-MMMonth range end.
/api/crime-points?bbox=-123.27,49.20,-122.98,49.32&categories=property&limit=2500
GET/api/services
NGO and service site locations with taxonomy.
/api/services
GET/api/crisis-signals
311 crisis reports (encampments, graffiti, needles).
startYYYY-MMOptional start month.
endYYYY-MMOptional end month.
GET/api/overdose-deaths
Aggregated overdose deaths (neighborhood grid).
GET/api/businesses
Crime-adjacent business licences (liquor, cannabis).
GET/api/crashes
ICBC vehicle crashes.
GET/api/costs
Estimated social cost overlay per grid cell.

Narrative / summary

GET/api/stats
Site-wide stats (totals, YoY, baseline, services).
GET/api/neighborhood-story
Multi-year trend for a single neighborhood.
neighborhoodstringRequired (exact match).
yearsintegerYears back. Default 5.
/api/neighborhood-story?neighborhood=Strathcona&years=5
GET/api/neighborhood-index
Composite index (crime + crisis + overdose + service) per neighborhood.
GET/api/news-crimes
News-extracted crime mentions (NLP-filtered).

Export

GET/api/export
CSV / GeoJSON export for a chosen layer.
layerenumincidents, services, overdoses, crisis, businesses.
formatenumcsv or geojson.

Embeddable widgets

/embed
Full interactive map (accepts URL state: start, end, cats, n, lng, lat, zoom).
/embed/stats
Four-stat summary card (incidents, YoY, overdose deaths, 311 signals).
/embed/neighborhood/{name}
Neighborhood trend card with insights.
Drop any embed into an iframe. The map embed accepts the same URL state as crimeflark.com/.

Terms

  • Attribute data to Vancouver Crime Observatory + the underlying source (VPD, StatCan, etc.).
  • Do not attempt to re-identify individuals or bypass aggregation.
  • No SLA on the free tier. Availability is best-effort.