Skip to content
Philly

Philly Trades Pulse

Every day, Philadelphia publishes every building permit it issues. A permit is paid work about to start. Here is what those permits say about the trades — in plain English.

City of Philadelphia only · Data pulled Nov 3, 2026 · Source: Philadelphia L&I via OpenDataPhilly

The work that keeps buildings running is holding steady. The pipeline of brand-new projects is cooling.

Plumbing

3,327

permits issued in the last 90 days

Holding steady -2% vs. the same 90 days last year (3,400)

Aug 2025Oct 2026

Electrical

2,147

permits issued in the last 90 days

Holding steady -2% vs. the same 90 days last year (2,187)

Aug 2025Oct 2026

Mechanical (HVAC)

1,021

permits issued in the last 90 days

Cooling slightly -4% vs. the same 90 days last year (1,068)

Aug 2025Oct 2026

Fire Suppression (Sprinkler Fitters)

452

permits issued in the last 90 days

Cooling slightly -5% vs. the same 90 days last year (477)

Aug 2025Oct 2026

The new-project pipeline

1,075

permits issued in the last 90 days

Cooling -16% vs. the same 90 days last year (1,282)

Aug 2025Oct 2026

Zoning permits come first — before any trade is hired. When this line falls, new-project work thins out a year or two later. The repair work above does not depend on it.

What this page can't see

A lot of small residential work is never permitted or posted anywhere — a water heater swapped on a Saturday leaves no record. This page shows the part that can be verified.

How this is counted

Counts are building permits issued by the Philadelphia Department of Licenses and Inspections, published on OpenDataPhilly and refreshed by the city daily; this page re-pulls them on a schedule and stamps the pull date above. The 90-day comparison uses Aug 5, 2026 to Nov 2, 2026 against the same days last year. Monthly bars use complete months only. Philadelphia city limits only — suburban permits are filed township by township and are not included.

See who's accepting apprentices →

Verify with the program before you apply. · Report an error