{"openapi":"3.1.0","info":{"title":"parcelapi.net API","description":"US parcel and building-permit records from cleared public sources. No owner data. State of Colorado Public Parcels were accessed on October 22, 2026 from https://gis.colorado.gov/public/rest/services/Address_and_Parcel. Auth: X-API-Key header. MCP endpoint: /mcp (Streamable HTTP, Authorization: Bearer <key>).","version":"1.0.0"},"servers":[{"url":"https://api.parcelapi.net"}],"paths":{"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/parcels/query":{"post":{"summary":"Query Parcels","operationId":"query_parcels_v1_parcels_query_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcelFilter"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/permits/query":{"post":{"summary":"Query Permits","description":"Building permits from cleared sources. 1 credit per record; blocklist applies; attribution returned.","operationId":"query_permits_v1_permits_query_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermitFilter"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/fetch/{job_id}":{"get":{"summary":"Fetch Status","operationId":"fetch_status_v1_fetch__job_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fetch/manual":{"post":{"summary":"Manual Pull","operationId":"manual_pull_v1_fetch_manual_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualPullRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/fetch/manual/{request_id}":{"get":{"summary":"Manual Pull Status","operationId":"manual_pull_status_v1_fetch_manual__request_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/keys/trial":{"post":{"summary":"Trial Key","description":"Unauthenticated: issue a new key with TRIAL_CREDITS free credits. One per IP per\nTRIAL_IP_COOLDOWN_DAYS, TRIAL_IP_RATE_PER_HOUR attempts per IP per hour, TRIAL_DAILY_CAP per day.","operationId":"trial_key_v1_keys_trial_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/credits":{"get":{"summary":"Get Credits","operationId":"get_credits_v1_credits_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/credits/packs":{"get":{"summary":"List Packs","operationId":"list_packs_v1_credits_packs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/credits/topup":{"post":{"summary":"Topup","operationId":"topup_v1_credits_topup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopupRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/credits/purchase":{"post":{"summary":"First Purchase","description":"Unauthenticated: start an initial purchase. After payment the new key is\npicked up once via /v1/keys/claim?session_id=...","operationId":"first_purchase_v1_credits_purchase_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopupRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/subscriptions/plans":{"get":{"summary":"List Subscription Plans","description":"Free, no key. Monthly plans: credits reset each billing cycle (no rollover); cancel anytime.","operationId":"list_subscription_plans_v1_subscriptions_plans_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/subscriptions/subscribe":{"post":{"summary":"Subscribe","description":"Returns a Stripe Checkout URL (subscription mode) for a human to pay. With X-API-Key the plan attaches to\nthat key; without one, a new key is created after payment and picked up once via /v1/keys/claim.","operationId":"subscribe_v1_subscriptions_subscribe_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/subscriptions/status":{"get":{"summary":"Subscription Status","operationId":"subscription_status_v1_subscriptions_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/subscriptions/cancel":{"post":{"summary":"Cancel Subscription","description":"Cancel at the end of the current paid period. Remaining monthly credits stay usable until then.","operationId":"cancel_subscription_v1_subscriptions_cancel_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/keys/claim":{"post":{"summary":"Claim Key","operationId":"claim_key_v1_keys_claim_post","parameters":[{"name":"session_id","in":"query","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/site-screen":{"post":{"summary":"Site Screen Endpoint","description":"One call: parcel (no owner data; appraised value and last sale where available) + FEMA flood zone + EPA\nsites within epa_radius_mi (default 1, max 3) + NWI wetlands + Census tract. 5 credits when every section\nsucceeds, 3 when some fail, 0 if the point cannot be resolved (400) or every federal source fails (503).\nScreening information only; see 'disclaimer'.","operationId":"site_screen_endpoint_v1_site_screen_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteScreenRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/mortgage-precheck":{"post":{"summary":"Mortgage Precheck Endpoint","description":"Property/location pre-check for mortgage pre-qualification: county + tract, FFIEC tract income level,\nFHFA conforming and HUD FHA county limits, USDA RD area eligibility, FEMA flood (informational) and parcel\nfacts (no owner data; value/last sale only where stored). 5 credits complete, 3 partial, 0 on 400/503.\nNever send borrower information. See 'disclaimer'.","operationId":"mortgage_precheck_endpoint_v1_mortgage_precheck_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MortgagePrecheckRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ManualPullRequest":{"properties":{"state":{"type":"string","maxLength":2,"minLength":2,"title":"State"},"county":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"County"},"notes":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Notes"}},"additionalProperties":false,"type":"object","required":["state"],"title":"ManualPullRequest"},"MortgagePrecheckRequest":{"properties":{"lat":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"null"}],"title":"Lat"},"lon":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"null"}],"title":"Lon"},"address":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Address"},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City"},"zip":{"anyOf":[{"type":"string","pattern":"^\\d{5}$"},{"type":"null"}],"title":"Zip"},"state":{"anyOf":[{"type":"string","maxLength":2,"minLength":2},{"type":"null"}],"title":"State"},"parcel_id":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Parcel Id"},"units":{"anyOf":[{"type":"integer","maximum":4.0,"minimum":1.0},{"type":"null"}],"title":"Units","description":"1-4 units (default all)"},"year":{"anyOf":[{"type":"integer","maximum":2100.0,"minimum":2024.0},{"type":"null"}],"title":"Year","description":"Limits/FFIEC year (default current)"},"include":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":5},{"type":"null"}],"title":"Include","description":"parcel, flood, tract_income, loan_limits, usda (default all)"}},"additionalProperties":false,"type":"object","title":"MortgagePrecheckRequest"},"ParcelFilter":{"properties":{"state":{"type":"string","maxLength":2,"minLength":2,"title":"State","description":"2-letter US state code"},"county":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"County"},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City"},"address":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Address"},"min_lat":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"null"}],"title":"Min Lat","description":"Bounding box south edge (WGS84). min_lat/max_lat/min_lon/max_lon must be given together; max 0.5 x 0.5 degrees"},"max_lat":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"null"}],"title":"Max Lat","description":"Bounding box north edge (WGS84)"},"min_lon":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"null"}],"title":"Min Lon","description":"Bounding box west edge (WGS84)"},"max_lon":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"null"}],"title":"Max Lon","description":"Bounding box east edge (WGS84)"},"zip":{"anyOf":[{"type":"string","maxLength":10},{"type":"null"}],"title":"Zip","description":"5-digit US ZIP code of the parcel's site address (ZIP+4 accepted; only the first 5 digits are used)","examples":["68128"]},"limit":{"type":"integer","maximum":1000.0,"minimum":1.0,"title":"Limit","default":100},"offset":{"type":"integer","maximum":10000.0,"minimum":0.0,"title":"Offset","default":0},"detail":{"type":"string","pattern":"^(basic|full)$","title":"Detail","description":"basic (1 credit/record) or full: adds appraised_value, acres, land_use_code, last_sale_date, last_sale_price where stored (2 credits/record)","default":"basic"}},"additionalProperties":false,"type":"object","required":["state"],"title":"ParcelFilter"},"PermitFilter":{"properties":{"state":{"type":"string","maxLength":2,"minLength":2,"title":"State","description":"2-letter US state code"},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City"},"county":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"County"},"address":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Address"},"permit_type":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Permit Type"},"issued_after":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"title":"Issued After"},"issued_before":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"title":"Issued Before"},"limit":{"type":"integer","maximum":1000.0,"minimum":1.0,"title":"Limit","default":100},"offset":{"type":"integer","maximum":10000.0,"minimum":0.0,"title":"Offset","default":0}},"additionalProperties":false,"type":"object","required":["state"],"title":"PermitFilter"},"SiteScreenRequest":{"properties":{"lat":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"null"}],"title":"Lat","description":"WGS84 latitude (with lon)"},"lon":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"null"}],"title":"Lon","description":"WGS84 longitude (with lat)"},"address":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Address","description":"Street address (with state)"},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City"},"zip":{"anyOf":[{"type":"string","pattern":"^\\d{5}$"},{"type":"null"}],"title":"Zip"},"state":{"anyOf":[{"type":"string","maxLength":2,"minLength":2},{"type":"null"}],"title":"State","description":"2-letter state code"},"parcel_id":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Parcel Id","description":"Parcel id (with state)"},"epa_radius_mi":{"type":"number","maximum":3.0,"exclusiveMinimum":0.0,"title":"Epa Radius Mi","default":1.0},"epa_programs":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":10},{"type":"null"}],"title":"Epa Programs","description":"Subset of SEMS, TRI, NPDES, ICIS-AIR, RCRA, ACRES"},"include":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":5},{"type":"null"}],"title":"Include","description":"Sections: parcel, flood, epa, wetlands, tract (default all)"}},"additionalProperties":false,"type":"object","title":"SiteScreenRequest"},"SubscribeRequest":{"properties":{"plan":{"type":"string","maxLength":40,"title":"Plan"}},"additionalProperties":false,"type":"object","required":["plan"],"title":"SubscribeRequest"},"TopupRequest":{"properties":{"pack":{"type":"string","maxLength":40,"title":"Pack"}},"additionalProperties":false,"type":"object","required":["pack"],"title":"TopupRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"X-API-Key"}}}}