dataset · OpenDataPhilly via Carto

L&I Violations

License & Inspections violation notices issued to Philadelphia properties — the enforcement record behind 311 complaints. Each row is one violation, with type, status, address, and date.

data through 2020-03-12 · 1,451,562 rows

About this dataset

Philadelphia License & Inspections violation notices, hosted on the city's public Carto SQL endpoint. Each row is one violation issued to a property — covering exterior conditions, interior habitability, occupancy, construction safety, and more. This is the enforcement record behind the 311 system: when a resident calls about a blighted property, L&I is supposed to inspect and issue a violation notice here.

Source

  • Catalog page: OpenDataPhilly
  • Endpoint: https://phl.carto.com/api/v2/sql?q=<SQL>
  • Table: li_violations (1,451,562 rows)

How we query it

All requests go through our Cloudflare Worker proxy at /api/carto/[domain]/[table]. Schema probes are cached 24h, aggregate queries 1h. Because li_violations and public_cases_fc (the 311 dataset) both live on phl.carto.com, cross-dataset JOIN queries are possible through a single proxy request.

Caveats

  • A violation notice is issued after an L&I inspection — not every 311 complaint triggers an inspection, and not every inspection results in a violation.
  • casestatus = 'CLOSED' means the violation was resolved or administratively closed; it does not always mean the underlying condition was fixed.
  • Property address geocoding can shift slightly between parcel records and the reported address — zip-level aggregation is more reliable than block-level.

Editorial connection

Paired with the Philly 311 dataset, L&I violations let us ask: does calling 311 about a neighbor's blighted property actually lead to enforcement? Which zip codes see the highest gap between complaints and violations? See the story "Does 311 actually work?" for the full analysis.

Citation

City of Philadelphia, Dept. of Licenses & Inspections (2026). L&I Violations. Retrieved 2020-03-12 via OpenDataPhilly / Carto.