Skip to content
API · MCP · Permits · Licensees

Building permit and contractor license data API

Permit history for a U.S. parcel, the contractors behind it, and the firms the state boards license in a city, over the same REST API and MCP server as the rest of PropRaven. Permits are collected from the cities and counties that publish them and matched to parcels; this page says where that coverage is deep and where it is thin.

Free: 1,000 lookups a month with an API key, no card. Create a key · API reference

What you can get

Permit history for a parcel
REST GET /api/v1/parcels/{id}/permits · MCP permits_history
Building, construction and demolition permits matched to one parcel, newest first (up to 100 per call, with a count that says whether it is exact): permit number, type, status, description, work class, issued and completed dates, estimated cost, fee, contractor name and license as published, and site address — plus, for an account, the owner and applicant names and every phone and e-mail the jurisdiction published on the permit, with its role.
Licensed firm search
REST GET /api/v1/licensees/firms · MCP licensee_firm_search
Firms licensed by the state boards in one city or ZIP code, by profession (real_estate, insurance, cpa, cam) and status, with each firm's licensed locations, license numbers, published status and as-of date, and the parcel where an address matched one.
Contractors by permit activity
REST GET /api/v1/deals/contractors · MCP deals_contractors
Contractor profiles ranked by the permits filed under their name, filterable by state, name, minimum permit count and minimum permit value.
New-permit webhook
REST parcel.permit_filed · MCP —
Fires once per permit when a new permit is matched to a parcel you watch, signed with HMAC so you can verify each delivery. Needs a paid plan.

Code sample

REST, with an API key from a free account:

# Permit history for one parcel (canonical id state:county:parcel)
curl -s "https://propraven.com/api/v1/parcels/37:119:11906402/permits?shape=envelope" \
  -H "Authorization: Bearer $PROPRAVEN_API_KEY"
# -> { "data": [ { "permit_number", "permit_type", "issued_date", "estimated_cost", ... } ],
#      "permit_count", "permit_count_basis", "truncated", "row_cap" }

# Insurance agencies in Tampa with at least 3 licensed locations
curl -s "https://propraven.com/api/v1/licensees/firms?state=FL&profession=insurance&city=Tampa&min_locations=3" \
  -H "Authorization: Bearer $PROPRAVEN_API_KEY"

The same permit history from an agent, over the hosted MCP server (Claude, Cursor and other MCP clients connect with OAuth instead; see the MCP docs):

curl -s -X POST https://propraven.com/mcp \
  -H "Authorization: Bearer $PROPRAVEN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"permits_history","arguments":{"parcel_id":"37:119:11906402"}}}'

Permit coverage, state by state

Most U.S. jurisdictions do not publish building permits in a form anyone can collect. Measured on 2026-10-02, about 2.8% of served parcel records nationally had at least one matched building permit, and 123 of 3,278 county codes had one on 5% or more of their parcels. Within a state, permits usually come from its largest cities and counties, so check the county before you rely on it. An empty permit list means no permit was matched, not that no work was done.

States where 5% or more of parcel records have a building permit

StateParcel records with a building permitCounties at 5% or more
DC56.0%1 of 1
IL12.6%2 of 91
DE12.1%3 of 25
WA9.34%13 of 50
KY8.55%1 of 127
MD8.29%3 of 44
CA7.98%10 of 103
NY7.03%6 of 74
LA6.91%2 of 55
NC6.73%6 of 101
HI6.28%1 of 5

1% to 5%

StateParcel records with a building permitCounties at 5% or more
OH4.63%6 of 123
NJ4.62%8 of 46
FL4.49%8 of 69
MO4.37%4 of 108
AZ4.24%1 of 17
CO3.18%22 of 70
NV2.51%1 of 19
PA2.38%1 of 68
TX2.15%7 of 258
ID2.04%2 of 44
NM1.82%3 of 33
VA1.65%3 of 134
MI1.63%1 of 64
AR1.57%1 of 75
MN1.00%1 of 88

Under 1%

StateParcel records with a building permitCounties at 5% or more
MA0.69%0 of 14
AL0.63%1 of 67
TN0.61%1 of 93
GA0.60%1 of 159
UT0.47%1 of 58
RI0.38%0 of 8
WV0.29%1 of 82
VT0.22%0 of 19
IN0.15%1 of 92
ND0.11%0 of 53
CT0.05%0 of 33
SC0.05%0 of 47
MT0.02%0 of 58
AK0.01%0 of 30
MS0.01%0 of 82
OR0.01%0 of 29

Effectively none (under 0.01%): IA, KS, ME, NE, NH, OK, SD, WI, WY.

Share of served parcel records with at least one building permit matched to them, measured 2026-10-02 against the parcel build served then. A parcel record is one county-source row, so these are shares, not counts of permits.

Licensee coverage

The licensee search covers 10 states, from the free bulk files each state's issuing boards publish: 268,466 firm, branch and office licenses as of 2026-10-10. Other states either do not publish a bulk file with street addresses or sell it, and are not covered.

StateIssuing boardsFirm licenses (active)
FLFL DBPR (real estate, CPA, CAM) and DFS (insurance)
insurance agencies, real estate, CPA firms, community-association management
156,521 (146,681)
CACA DRE (real estate) and the Board of Accountancy
real estate, CPA firms
30,745 (29,299)
NYNY DOS (real estate)
real estate offices
27,132 (27,132)
CTCT DCP (real estate, CPA, CAM)
real estate, CPA firms, community-association management
11,848 (3,715)
VAVA DPOR (real estate firms and offices, CIC managers)
real estate firms and branches, common-interest-community managers
11,152 (11,152)
AZAZ ADRE (real estate brokerages and branch offices)
real estate brokerages and branch offices
6,999 (6,529)
OHOH Division of Real Estate (companies, branch offices, sole proprietors)
real estate companies, branch offices, sole proprietors (every status)
17,070 (5,088)
OROR Real Estate Agency (registered businesses, branch offices, escrow agents)
registered real estate businesses, branch offices, escrow agents
4,493 (4,493)
NJNJ Division of Consumer Affairs (CPA firms)
CPA firms
1,661 (1,661)
WVWV Real Estate Commission (brokerages and their brokers)
real estate brokerages and branch offices
845 (845)

Firm, branch and office licenses in the served licensee table, counted on 2026-10-10; the boards' files were collected between 2026-10-03 and 2026-10-10. Licensed individuals (people data, account required) are searchable in Nevada, Oregon and West Virginia through GET /api/v1/licensees/individuals.

Access and people data

  • Permits need an API key. The Free plan includes one (1,000 lookups a month); Developer is $99/mo for 100k lookups a month.
  • The licensee firm search requires an account: an API key, an MCP sign-in or a signed-in session. An anonymous request gets a 401 and no rows or counts.
  • People data. A licensed firm named for a person (a sole proprietorship) is treated as people data: it is shown only to an account, counts against the lookup allowance, and every access is logged. Permit responses carry no owner or applicant names.
  • Webhooks (parcel.permit_filed) need a paid plan; see webhook docs and pricing.

Permit and licensee API questions

Where does the building permit data come from?
From the cities, counties and states that publish permits on their own open-data portals. PropRaven collects from the publishing authority directly, not from a reseller, and matches each permit to the parcel it was filed against. A permit that cannot be matched to a parcel is not attached to one.
Does every parcel have permit history?
No. Most U.S. jurisdictions do not publish building permits in a machine-readable form. Measured on 2026-10-02, about 2.8% of served parcel records nationally had at least one matched building permit, concentrated in 123 of 3,278 county codes. The per-state table on this page shows where it is deep and where it is thin. An empty permit list means no permit was matched, not that no work was done.
Which states does the licensee search cover?
Florida, California, New York, Connecticut, Virginia, Arizona, Ohio, Oregon, New Jersey and West Virginia, from each state's issuing boards: real-estate brokerages and offices, insurance agencies (Florida only), CPA firms and community-association management firms. It searches firm, branch and office licenses in one city or ZIP code. Licensed individuals in Nevada, Oregon and West Virginia are searchable by name, license number, city or ZIP for signed-in accounts (people data: metered and logged).
Do I need an account?
Yes. Permit history needs an API key, and the Free plan includes one: 1,000 lookups a month, no card. The licensee firm search requires an account (API key, MCP sign-in or a signed-in session); an anonymous request gets a 401 and no data. Webhooks need a paid plan.
Are owner or applicant names in the permit data?
Yes, to an account. Besides the permit number, type, status, description, work class, dates, estimated cost, fee, contractor name and license and site address, each permit carries the owner and applicant names the jurisdiction filed, every phone and e-mail it published with its role (owner, applicant, contractor, or unknown where the publisher states none), and the publisher's own owner, applicant and contact fields verbatim. People data is shown only to an account (API key, MCP sign-in or a signed-in session) and every served read is logged. A licensed firm named for a person (a sole proprietorship) is people data too: it is shown only to an account, counts against the lookup allowance and is logged.