What’s being built and planned in Greenville, SC?

Every building permit filed across Greenville City, Greenville County, Anderson County, Greer, and Easley. If you work in solar, roofing, HVAC, landscaping, or real estate, this is your first look at new construction before a project breaks ground.

  • Built by Zack Pemberton, Pemberton Data Solutions
  • Owner names and addresses are masked for individual residential permits. Commercial entities and their addresses are shown as filed with the city. Residential renovation permits are aggregated to approximately 1 km² to protect homeowner privacy.
  • Want a custom leads list filtered to your service area and permit type? Get in touch.
  • Spotted a data error? Report it.
permitsAll permits in the selected date range. Change the range in the map's Layers & filters panel. total value permits by type
Past 30 days

Proposed projects — before permits are filed. Not yet approved or under construction. Greenville city limits only.

These layers apply to Greenville city limits only.

The numbers at a glance

Switch the date range in the map’s Layers & filters panel to see how the numbers shift.

Monthly commercial valuationThe construction cost stated on the permit application by the contractor or owner. Not market value.

Top contractors (commercial)

PermitAn official authorization filed with the city for new construction, alterations, demolitions, or other regulated work. count by type

Total valuation by type

How this tool works

Building permit and planning data is aggregated from five Upstate SC jurisdictions — each with its own publishing channel, schedule, and format — and unified into a single canonical schema in Azure SQL. A nightly export then publishes everything to Azure Blob Storage, where the map reads it directly, no backend required at read time.

Multi-jurisdiction ingestion Greenville City, Greenville County, Anderson County, Greer, and Easley — each ingested from its public source on its own cadence, then normalized to a single canonical schema
Azure Functions & Azure SQL Python pipeline cleans, enriches, and stores each permit with geocoordinates and human-readable labels, unifying every jurisdiction into one schema
Azure Blob Storage → Map A nightly export pushes GeoJSON to Azure Blob Storage and the map reads directly from there, no backend at read time
Python ETL ArcGIS Azure Functions Azure SQL Azure Blob Storage MapLibre GL JS Chart.js Netlify

Read about how we built it →

Your data could look like this

If your team has data sitting in spreadsheets or systems but no clear way to use it, we can help.

Book a free discovery call

A 30-minute video call. We’ll look at where your data lives and tell you one thing worth fixing.