Pre-run requirements & feasibility: page · PDF
Dashboards: Project 1 · Project 2
Non-technical review PDFs: Project 1 (Crime x $5M Homes) · Project 2 (Permits) · combined: Sauron_Data_Sources_Review.pdf | Interactive API docs (Swagger, live "Try it out"): Project 1 · Project 2 · combined
k7nn-b2ep, bi-weekly refresh, no zip field → join on lat/lon). Legacy 2020→present dataset is frozen. Beverly Hills (90210) has no open crime API; West Hollywood is LASD, not LAPD.(Roll_LandValue+Roll_ImpValue)>5M in 90272 returns 795 parcels. Assessed value ≠ market value (Prop 13), so expect misses.All endpoints below were hit live on 2026-09-02 and returned data unless noted.
| Current dataset | LAPD NIBRS Offenses (2024→present), refreshed bi-weekly (not weekly) |
| Portal | https://data.lacity.org/Public-Safety/LAPD-NIBRS-Offenses-Dataset-2026-to-Present/k7nn-b2ep |
| API (SODA, no auth) | https://data.lacity.org/resource/k7nn-b2ep.json |
| Companion | LAPD NIBRS Victims dataset (same portal) |
| Legacy dataset | "Crime Data from 2020 to Present" 2nrs-mtv8 — frozen / no longer updated (LAPD retired legacy RMS in 2024). Historical only. |
| Key fields | date_occ, nibr_description, crime_against, premis_desc, area_name, rpt_dist_no, hndrdth_loc_chk (hundred-block address), hndrdth_lat/lon |
Gotchas
- No zip code field. Locations are given to the nearest hundred block + lat/lon. Need to spatially join to zip polygons (or filter by area_name: Pacific Palisades & Brentwood = "West LA"; Bel Air = "West LA"; parts of 90046 = "Hollywood").
- Jurisdiction gap: LAPD only covers the City of LA. Two of the five target zips are not LAPD:
- Beverly Hills (90210) → Beverly Hills PD (separate city). No open-data API found; crime stats published as PDFs/CrimeMapping.com.
- West Hollywood (90046) → 90046 is split: the City of West Hollywood is patrolled by LA County Sheriff (LASD) — https://data-lasd.opendata.arcgis.com/ (ArcGIS Hub, incident-level). The Hollywood Hills portion of 90046 is LAPD.
- Many crime types in the brief (porch piracy, casing, door tampering, prowling, suspicious person/vehicle) are not NIBRS offense codes — they're calls-for-service, not reported crimes. Map to the closest NIBRS codes (Burglary 220, Theft 23x, Motor Vehicle Theft 240, Robbery 120, Assault 13x, Vandalism 290, Arson 200, Stalking/Intimidation 13C, Trespass 90J).
| Portal | https://cde.ucr.cjis.gov/ |
| API | https://api.usa.gov/crime/fbi/cde — requires free api.data.gov key |
| Docs | https://cde.ucr.cjis.gov/LATEST/webapp/#/pages/docApi |
Annual, agency-level aggregates only — not useful for weekly address-level targeting. Only value is context / sales-collateral stats. Recommend dropping from the pipeline.
| Parcel API (ArcGIS REST, no auth) | https://public.gis.lacounty.gov/public/rest/services/LACounty_Cache/LACounty_Parcel/MapServer/0/query |
| Also | https://assessor.gis.lacounty.gov/assessor/rest/services/PAIS/pais_parcels/MapServer |
| Bulk download | LA County Open Data Hub — "Assessor Parcels Data 2006 thru Present" (https://data.lacounty.gov) |
| Per-parcel lookup | https://portal.assessor.lacounty.gov/ (owner name shown per parcel, UI only) |
Verified query — $5M+ parcels in 90272:
where=SitusZIP LIKE '90272%' AND (Roll_LandValue+Roll_ImpValue)>5000000 → 795 parcels
Fields available: AIN, SitusFullAddress, SitusZIP, UseDescription (SFR/condo/etc.), Roll_LandValue, Roll_ImpValue, Roll_HomeOwnersExemp (>0 ⇒ owner-occupied, good proxy for "person" vs "business"), YearBuilt1, SQFTmain1, Bedrooms1, CENTER_LAT/LON.
Gotchas - Owner name is NOT in the open dataset (Assessor excludes it from bulk data). Options: per-parcel scrape of portal.assessor.lacounty.gov, or a commercial provider (ATTOM, PropStream, Regrid, Melissa). - Assessed value ≠ market value (Prop 13). A long-held Palisades home assessed at $1.5M may be worth $8M+. Use AVM from ATTOM/PropStream or filter on land value + sqft instead of raw roll value. - Homeowner email / phone are not in any public source — requires a skip-trace / contact-append vendor (PropStream, BatchSkipTracing, Tracerfy, Melissa, PDL).
Not a single source. Options: NewsAPI.org, GDELT (free), Google News RSS, or scrape LA Times / KTLA / Patch (Palisades, Beverly Hills, Brentwood, WeHo editions). Citizen app also surfaces incidents but has no public API.
| City of LA (LADBS) — SODA API | https://data.lacity.org/resource/pi9x-tg5x.json (Permits Issued 2020→present) — verified |
| Older/alt dataset | hbkd-qubn (LADBS-Permits) |
| LA County unincorporated (EPIC-LA) | ArcGIS: https://dpw.gis.lacounty.gov/dpw/rest/services/ (EpicLA_* services) + portal https://epicla.lacounty.gov |
| Fields | permit_nbr, primary_address, zip_code, apn, permit_type, permit_sub_type, use_desc, issue_date, status_desc, valuation, lat/lon |
Note: Beverly Hills and West Hollywood issue their own permits (separate city portals, no open API found).
| Building Permits | https://data.sfgov.org/resource/i98e-djp9.json — verified |
| Permits since 2013 | https://data.sfgov.org/resource/p4e4-a5a7.json |
| Data dictionary | https://sfdigitalservices.gitbook.io/dataset-explainers/dbi-building-permits-and-permit-addenda-data |
| ArcGIS REST (last 3 yrs, weekly refresh) | https://gisweb.miamidade.gov/arcgis/rest/services/MD_LandInformation/MapServer/1/query — verified |
| Open Data Hub | https://gis-mdc.opendata.arcgis.com/ (Building Permits) |
| City of Miami (separate) | https://datahub-miamigis.opendata.arcgis.com/datasets/MiamiGIS::building-permits-since-2014 |
/saleshistory, /property/detail, /avm, owner name + mailing address). Pay-per-record; quote via sales.| Need | Free public source? | Status |
|---|---|---|
| Incident-level crime, LA City zips (90272, 90049, 90077, part of 90046) | Yes — LAPD NIBRS SODA API | Verified |
| Crime in 90210 (BHPD) | No API | Gap |
| Crime in West Hollywood city (LASD) | Yes — LASD ArcGIS Hub | Found, not yet tested |
| $5M+ homes by zip | Yes — LA County parcel ArcGIS API | Verified (795 hits in 90272) |
| Owner name | Partial — per-parcel UI only | Need ATTOM/PropStream |
| Owner email / phone | No | Need skip-trace vendor |
| LA / SF / Miami-Dade permits | Yes — all three have public APIs | Verified |
| MLS closings | No | Need ATTOM or MLS license |