Public US property parcel records, by API
ParcelAPI is a machine-to-machine HTTP API that returns public US property parcel records (parcel ID, site address, city, county, assessed values and other attributes) and building permit records. It is built for AI agents, software developers and data applications. There is no website login: you get an API key, buy prepaid credits, and call the API.
Billing is simple: 1 credit = 1 record returned. No subscriptions, no recurring charges.
Data and coverage
Records come from public government sources: county and state assessor and GIS parcel datasets and city/county open-data building permit feeds, used under their published licenses. The database holds over 100 million parcel records.
Parcel data is currently available for parts or all of: AL, AR, CA, CT, FL, IL, IN, MA, MD, ME, MI, MN, MO, MS, MT, NC, ND, NJ, NV, NY, OH, OR, PA, SC, TX, UT, WA, WI and WV. Coverage varies by county. When you query an area that is not loaded yet, the API answers 202 fetch_queued at no charge and loads it from an approved public source where one exists.
We do not store or return owner names, owner mailing addresses or any personal contact data. Some states and counties are excluded because of their public-records resale rules. Permit records include source attribution, which you must keep when redistributing CC-BY data.
Pricing
Every new key starts with a one-time free trial of 1,000 credits. After that, buy a prepaid credit pack:
| Pack | Credits (records) | Price (USD) | Per 1,000 records |
|---|---|---|---|
| Starter | 10,000 | $5 | $0.50 |
| Growth | 100,000 | $40 | $0.40 |
| Scale | 1,000,000 | $300 | $0.30 |
| Enterprise | 10,000,000 | $2,000 | $0.20 |
One-time payments processed by Stripe. Credits do not expire. A search that returns no records costs 1 credit; a search that times out costs nothing. Current packs are also listed at api.parcelapi.net/v1/credits/packs. See the refund policy.
Quickstart
1. Get a free trial key (1,000 credits, shown once, so save it):
curl -X POST https://api.parcelapi.net/v1/keys/trial
2. Query parcels (state required; county, city, address optional; limit 1–1000):
curl -X POST https://api.parcelapi.net/v1/parcels/query \
-H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"state":"FL","county":"Orange","address":"100 MAIN","limit":10}'
3. Check your balance, then buy more credits when needed (returns a Stripe Checkout link):
curl https://api.parcelapi.net/v1/credits -H "X-API-Key: YOUR_KEY"
curl -X POST https://api.parcelapi.net/v1/credits/topup \
-H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" -d '{"pack":"starter"}'
No key yet and want to buy directly? POST /v1/credits/purchase with {"pack":"starter"} returns a checkout link; after payment, collect your new key once with POST /v1/keys/claim?session_id=cs_....
Endpoints
| Endpoint | Purpose |
|---|---|
POST /v1/keys/trial | Free trial key (1,000 credits; one per IP per 30 days) |
POST /v1/parcels/query | Search parcel records |
POST /v1/permits/query | Search building permit records |
GET /v1/credits | Your credit balance |
GET /v1/credits/packs | Credit packs and prices |
POST /v1/credits/topup | Buy credits for an existing key |
POST /v1/credits/purchase | Buy credits and get a new key |
POST /v1/keys/claim | Collect a purchased key once |
GET /v1/fetch/{job_id} | Status of an area being loaded |
GET /health | Service status |
Authentication is the X-API-Key header. Errors: 401 invalid key, 402 out of credits, 403 restricted area, 422 bad input, 429 rate limit, 503 query timeout (not charged). A machine-readable summary is at /llms.txt.
Docs: interactive API docs · OpenAPI spec · MCP server for AI agents