Permit data

North Carolina building permit data

Markets on record

14

Permits on record

539,936

Available

11

Buy a market

Weekly feed. Every permit in the market, every week. The first delivery carries the last 13 weeks, then it arrives every Sunday.

Full history. Everything we hold for the market in one file, bought once.

Files include every trade and work type. Filter to yours in one click.

Every file carries the same 9 columns on every row: the market, the permit number, the issue date, the work type and trade, the source feed's own class, and where the row came from.

Charlotte, NC

Available

472,757

permits on record, 1 last week

Weekly feed available when this market clears our completeness bar.

Plus addresses on 100.0%, contractor names on 0.0%, declared values on 99.9%, ZIPs on 100.0%, measured across every row we hold.

This market runs 24 permits in a recent period.

Full history $249.99 once

Raleigh, NC

Available

13,697

permits on record, 65 last week

Plus addresses on 99.9%, contractor names on 83.5%, declared values on 59.3%, ZIPs on 99.9%, measured across every row we hold.

Weekly feed $29.99 a month
Full history $89.99 once

Wake County, NC

Available

11,186

permits on record, 0 last week

Plus addresses on 100.0%, contractor names on 26.4%, declared values on 29.4%, ZIPs on 95.7%, measured across every row we hold.

Weekly feed $29.99 a month
Full history $89.99 once

New Hanover County, NC

Available

10,982

permits on record, 246 last week

Weekly feed available when this market clears our completeness bar.

Plus addresses on 99.7%, contractor names on 55.8%, declared values on 28.3%, ZIPs on 99.7%, measured across every row we hold.

Declared value is on 26% of recent rows.

Full history $89.99 once

Cary, NC

Available

8,409

permits on record, 155 last week

Plus addresses on 100.0%, contractor names on 98.3%, declared values on 97.5%, ZIPs on 100.0%, measured across every row we hold.

Weekly feed $29.99 a month
Full history $89.99 once

Pitt County, NC

Available

6,846

permits on record, through 2026-08-09

Weekly feed available when this market clears our completeness bar.

Plus addresses on 99.4%, contractor names on 39.8%, declared values on 14.9%, ZIPs on 99.3%, measured across every row we hold.

Declared value is on 18% of recent rows.

Full history $89.99 once

History runs to 2026-08-09 and stops there, so that is what the file holds.

Asheville, NC

Available

5,302

permits on record, 50 last week

Plus addresses on 100.0%, contractor names on 81.6%, declared values on 0.0%, ZIPs on 99.8%, measured across every row we hold.

Weekly feed $29.99 a month
Full history $89.99 once

Greenville, NC

Available

3,346

permits on record, through 2026-08-09

Weekly feed available when this market clears our completeness bar.

Plus addresses on 100.0%, contractor names on 40.9%, declared values on 0.0%, ZIPs on 100.0%, measured across every row we hold.

Names are on 55% for the contractor and 0% for the owner of recent rows. Declared value is on 0% of recent rows.

Full history $89.99 once

History runs to 2026-08-09 and stops there, so that is what the file holds.

Durham, NC

Available

3,221

permits on record, 39 last week

Plus addresses on 66.6%, contractor names on 0.0%, declared values on 99.7%, ZIPs on 66.6%, measured across every row we hold.

Weekly feed $29.99 a month
Full history $89.99 once

Greensboro, NC

Available

2,879

permits on record, 49 last week

Plus addresses on 100.0%, contractor names on 91.0%, declared values on 96.9%, ZIPs on 92.0%, measured across every row we hold.

Weekly feed $14.99 a month
Full history $49.99 once

Morrisville, NC

Available

745

permits on record, through 2026-08-07

Full history available once this market reaches 1,000 permits on record.

Plus addresses on 100.0%, contractor names on 89.4%, declared values on 58.3%, ZIPs on 87.5%, measured across every row we hold.

Weekly feed $14.99 a month

Wilmington, NC

Sample only

319

permits on record, 4 last week

Why is this sample only?

Newbern, NC

Sample only

217

permits on record, through 2026-08-07

Why is this sample only?

Kernersville, NC

Sample only

30

permits on record, through 2026-07-31

Why is this sample only?

Get a North Carolina sample

Pick the markets you want to see, and we will email you real rows from them. Markets below our completeness bar can still be sampled; they are marked so you know before you look.

Every number here is computed from what we hold. See exactly what we cover.

Markets and completeness

7 of 14 markets here can be bought as a feed. The rest are sample only, and what each one is short of is on its row below.

Every figure is computed from what we actually hold. A market with no permits on record is not listed.

Market Permits Recent Availability
Charlotte, NC
Completeness
Address 100.0% all timeContractor 0.0% all timeDeclared value 99.9% all timeZIP 100.0% all timeData since 1990-01
472,757 1 last week Available
Raleigh, NC
Completeness
Address 99.9% all timeContractor 83.5% all timeDeclared value 59.3% all timeZIP 99.9% all timeData since 2026-01
13,697 65 last week Available
Wake County, NC
Completeness
Address 100.0% all timeContractor 26.4% all timeDeclared value 29.4% all timeZIP 95.7% all timeData since 2025-12
11,186 0 last week Available
New Hanover County, NC
Completeness
Address 99.7% all timeContractor 55.8% all timeDeclared value 28.3% all timeZIP 99.7% all timeData since 2026-02
10,982 246 last week Available
Cary, NC
Completeness
Address 100.0% all timeContractor 98.3% all timeDeclared value 97.5% all timeZIP 100.0% all timeData since 2025-08
8,409 155 last week Available
Pitt County, NC
Completeness
Address 99.4% all timeContractor 39.8% all timeDeclared value 14.9% all timeZIP 99.3% all timeData since 2025-07
6,846 through 2026-08-09 Available
Asheville, NC
Completeness
Address 100.0% all timeContractor 81.6% all timeDeclared value 0.0% all timeZIP 99.8% all timeData since 2024-12
5,302 50 last week Available
Greenville, NC
Completeness
Address 100.0% all timeContractor 40.9% all timeDeclared value 0.0% all timeZIP 100.0% all timeData since 2026-03
3,346 through 2026-08-09 Available
Durham, NC
Completeness
Address 66.6% all timeContractor not published by this feedDeclared value 99.7% all timeZIP 66.6% all timeData since 2024-12
3,221 39 last week Available
Greensboro, NC
Completeness
Address 100.0% all timeContractor 91.0% all timeDeclared value 96.9% all timeZIP 92.0% all timeData since 2024-12
2,879 49 last week Available
Morrisville, NC
Completeness
Address 100.0% all timeContractor 89.4% all timeDeclared value 58.3% all timeZIP 87.5% all timeData since 2026-01
745 through 2026-08-07 Available
Wilmington, NC
Completeness
Address 100.0% all timeContractor 6.6% all timeDeclared value 0.0% all timeZIP 100.0% all timeData since 2025-08

This market runs 23 permits in a recent period, below the 120 we require before selling a feed. Names are on 8% for the contractor and 68% for the owner of recent rows, and a feed we sell needs one of them above 70%. Declared value is on 0% of recent rows, under the 50% floor, and this market carries no published note explaining the absence.

319 4 last week Sample only
Newbern, NC
Completeness
Address 100.0% all timeContractor 0.0% all timeDeclared value 0.0% all timeZIP 99.5% all timeData since 2026-02

Names are on 0% for the contractor and 0% for the owner of recent rows, and a feed we sell needs one of them above 70%. Declared value is on 0% of recent rows, under the 50% floor, and this market carries no published note explaining the absence. Our own extraction is currently dropping a field this market publishes, so it is held back until that is healed.

217 through 2026-08-07 Sample only
Kernersville, NC
Completeness
Address 100.0% all timeContractor 0.0% all timeDeclared value 93.3% all timeZIP 100.0% all timeData since 2026-02

This market runs 11 permits in a recent period, below the 120 we require before selling a feed. Names are on 0% for the contractor and 0% for the owner of recent rows, and a feed we sell needs one of them above 70%.

30 through 2026-07-31 Sample only

Reference

What a feed includes, the exact columns, where the rows come from, and what we will not claim. Open what you need.

What a feed includes

A feed is the underlying permit records for the markets you name, delivered on a schedule you set, as one row per permit with the columns listed below. It is the same data behind every number on this page, without the product wrapped around it: you get the file and use it inside the terms you agree to. For North Carolina that means every market listed above, or any subset of them, with the completeness shown per market rather than promised in general.

What every file includes, 18 columns
Column Type What it holds
city_slug text Our stable identifier for the jurisdiction that issued the permit.
city_name text Display name of that jurisdiction.
permit_number text The issuing authority's own permit identifier, verbatim.
issue_date date Date the permit was issued, as published by the source.
address text Site address of the work, as published.
zip text Site ZIP. Published by the feed where available, otherwise derived from the address by the Census geocoder. zip_source records which.
latitude text Census geocoder latitude, present only for confident address matches.
longitude text Census geocoder longitude, present only for confident address matches.
permit_type text Work type axis: RENOVATION, REMODEL, ADDITION or REPAIR. Null when the row is a specialty trade instead.
trade text Trade axis: ROOFING, ELECTRICAL, HVAC, PLUMBING, SOLAR or POOL. Null when the row is a work type instead.
source_class text The source feed's own work class, verbatim and upper cased. The closest thing in the row to the issuing authority's own taxonomy.
category text TRADE when a specialty trade was detected, RESIDENTIAL when a work type was detected. Not a building occupancy flag.
declared_cost integer Applicant declared job value in whole dollars. An estimate supplied at application, never an actual cost.
contractor text Contractor of record, as published.
contractor_license text Contractor licence or registration number where the source publishes one.
owner text Owner of record, as published. In the files you buy only, never shown on a page, in an email, or in the dashboard.
ward text Ward or council district where the source publishes one.
source text Where the row came from: straight from the city, the city's open data, or an aggregated feed.
Where these rows come from

Direct. We pull the issuing authority's own publication ourselves, on our own schedule. Fastest to reflect a change at the source, and the shape of the file is whatever that authority publishes.

City open data. The jurisdiction publishes its permits as an open dataset under terms that grant reuse, and we ingest it under those terms. Every one of these was read by a person before it was switched on, and the licence is recorded per city.

Aggregated feed. The records reach us through a permit data aggregator that has already gathered them from the issuing authority. Broadest reach and the most normalisation applied before we see it, which is why the source column tells you which rows came this way.

One row per permit, not one row per update. A permit that is amended, re-inspected or re-issued does not become a second record: rows are collapsed on the issuing authority's own permit number within a jurisdiction, and where two sources both describe the same permit we keep one and compare the rest. What that means for you is that a count of rows is a count of permits, so you can bill, forecast and prospect off it without deduplicating anything yourself.

The honest part

Building permits carry no phone numbers and no email addresses, so no honest permit feed includes them. How complete each field is varies by jurisdiction because publication varies by jurisdiction: some authorities publish contractor names and some do not, and where one does not you get an explicit note rather than an empty column you might mistake for a bad extraction. Every completeness figure on this page is computed from what we actually hold.

Why is a market sample only?

We only sell markets with complete data. Every figure on this page is computed from what we actually hold, and you see exactly what a market carries before you pay. Anything short of complete is sample only until it clears the bar.

Custom feeds and embedded use are quoted per deal. Email us and a person will answer.

Our coverage and field fill, every city / All permit data feeds