{"components":{"schemas":{"ErrorResponse":{"properties":{"property":{"example":[],"items":{},"type":"array"},"status":{"properties":{"code":{"type":"integer"},"msg":{"type":"string"},"total":{"example":0,"type":"integer"}},"type":"object"}},"type":"object"},"HealthResponse":{"properties":{"db":{"example":"connected","type":"string"},"records":{"example":118377407,"type":"integer"},"status":{"example":"ok","type":"string"},"version":{"example":"2.0.0","type":"string"}},"type":"object"},"Plan":{"properties":{"name":{"example":"Starter (5,000 records/mo)","type":"string"},"per_record":{"example":"$0.050","type":"string"},"plan":{"example":"starter","type":"string"},"price":{"example":"$249.00","type":"string"},"records":{"example":5000,"type":"integer"},"valid_days":{"example":30,"type":"integer"}},"type":"object"},"PlansResponse":{"properties":{"plans":{"items":{"$ref":"#/components/schemas/Plan"},"type":"array"},"purchase_url":{"format":"uri","type":"string"},"rapidapi_plans":{"items":{"$ref":"#/components/schemas/Plan"},"type":"array"}},"type":"object"},"PropertyRecord":{"description":"Full property record in ATTOM-compatible format","properties":{"address":{"properties":{"country":{"example":"US","type":"string"},"countrySubd":{"description":"State (2-letter)","type":"string"},"line1":{"type":"string"},"line2":{"type":"string"},"locality":{"description":"City","type":"string"},"oneLine":{"example":"4400 N 20th St, Phoenix, AZ 85016","type":"string"},"postal1":{"description":"ZIP code","type":"string"},"postal2":{"description":"ZIP+4","type":"string"}},"type":"object"},"assessment":{"properties":{"assessed":{"properties":{"improvements":{"nullable":true,"type":"integer"},"land":{"nullable":true,"type":"integer"},"total":{"nullable":true,"type":"integer"}},"type":"object"},"avm":{"description":"Automated Valuation Model (coverage limited)","properties":{"date":{"nullable":true,"type":"string"},"value":{"nullable":true,"type":"integer"}},"type":"object"},"equity":{"nullable":true,"type":"integer"},"market":{"properties":{"total":{"nullable":true,"type":"integer"}},"type":"object"},"rental":{"properties":{"estimate":{"nullable":true,"type":"integer"},"estimateSource":{"description":"property=per-property estimate; area_median_acs_2024=Census area median","enum":["property","area_median_acs_2024",null],"type":"string"}},"type":"object"}},"type":"object"},"building":{"properties":{"rooms":{"properties":{"bathspartial":{"nullable":true,"type":"integer"},"bathstotal":{"nullable":true,"type":"number"},"beds":{"nullable":true,"type":"integer"}},"type":"object"},"size":{"properties":{"universalsize":{"description":"Building area sqft","nullable":true,"type":"integer"}},"type":"object"}},"type":"object"},"demographics":{"description":"US Census ACS 5-Year 2024 demographics for the property's census tract (area-level, not per-property)","nullable":true,"properties":{"medianAge":{"nullable":true,"type":"number"},"medianGrossRent":{"nullable":true,"type":"integer"},"medianHomeValue":{"nullable":true,"type":"integer"},"medianHouseholdIncome":{"nullable":true,"type":"integer"},"ownerOccupiedRate":{"nullable":true,"type":"number"},"povertyRate":{"nullable":true,"type":"number"},"source":{"example":"ACS 5-Year 2024","type":"string"},"totalPopulation":{"nullable":true,"type":"integer"},"unemploymentRate":{"nullable":true,"type":"number"},"vacancyRate":{"description":"Percentage 0-100","nullable":true,"type":"number"}},"type":"object"},"identifier":{"properties":{"Id":{"description":"ParcelBase internal ID (use for /sale/history and /assessment/detail)","type":"integer"},"apn":{"description":"Assessor Parcel Number","type":"string"},"apnOrig":{"type":"string"},"fips":{"description":"FIPS state+county code","type":"string"},"parcelbaseId":{"type":"integer"}},"type":"object"},"location":{"properties":{"censustract":{"type":"string"},"county":{"type":"string"},"latitude":{"format":"float","type":"number"},"longitude":{"format":"float","type":"number"}},"type":"object"},"lot":{"properties":{"lotsize1":{"description":"Lot size in square feet","nullable":true,"type":"integer"},"lotsize2":{"description":"Lot size in acres","nullable":true,"type":"number"},"subdivision":{"nullable":true,"type":"string"}},"type":"object"},"mortgage":{"description":"Mortgage data (coverage varies by region; may be empty for some records)","properties":{"amount":{"nullable":true,"type":"string"},"date":{"nullable":true,"type":"string"},"lender":{"properties":{"companyname":{"nullable":true,"type":"string"}},"type":"object"}},"type":"object"},"owner":{"properties":{"mailingAddress":{"properties":{"countrySubd":{"nullable":true,"type":"string"},"line1":{"nullable":true,"type":"string"},"locality":{"nullable":true,"type":"string"},"postal1":{"nullable":true,"type":"string"}},"type":"object"},"owner1":{"properties":{"firstName":{"nullable":true,"type":"string"},"fullName":{"nullable":true,"type":"string"},"lastName":{"nullable":true,"type":"string"},"type":{"description":"Individual, Corporation, Trust, etc.","nullable":true,"type":"string"}},"type":"object"},"owner2":{"description":"Secondary owner (may be null)","nullable":true,"type":"object"}},"type":"object"},"sale":{"properties":{"lastSale":{"properties":{"date":{"format":"date","nullable":true,"type":"string"},"price":{"nullable":true,"type":"integer"}},"type":"object"}},"type":"object"},"summary":{"properties":{"absenteeInd":{"description":"Y if owner's mailing address differs from property","enum":["Y","N"],"type":"string"},"proptype":{"example":"Single Family","type":"string"},"vacantInd":{"enum":["Y","N"],"type":"string"},"yearbuilt":{"nullable":true,"type":"integer"}},"type":"object"},"vintage":{"properties":{"lastModified":{"description":"When this record was last updated","nullable":true,"type":"string"}},"type":"object"}},"type":"object"},"PropertyResponse":{"properties":{"property":{"items":{"$ref":"#/components/schemas/PropertyRecord"},"type":"array"},"status":{"properties":{"code":{"description":"0 = success, non-zero = error HTTP code","example":0,"type":"integer"},"credits_remaining":{"description":"Credit balance after this call","type":"integer"},"msg":{"example":"Success","type":"string"},"page":{"type":"integer"},"pagesize":{"type":"integer"},"records_returned":{"description":"Records actually returned (and billed) when truncated_by_credits is true","type":"integer"},"total":{"description":"Total matching records (may exceed pagesize)","type":"integer"},"transactionID":{"format":"uuid","type":"string"},"truncated_by_credits":{"description":"True when fewer records were returned than matched because your credits ran out. Add credits to retrieve the rest.","type":"boolean"}},"type":"object"}},"type":"object"},"UsageResponse":{"properties":{"account":{"properties":{"email":{"type":"string"},"name":{"type":"string"},"tier":{"enum":["free","basic","starter","growth","pro","scale","enterprise"],"type":"string"}},"type":"object"},"calls":{"properties":{"last_used":{"format":"date-time","nullable":true,"type":"string"},"today":{"type":"integer"},"total":{"type":"integer"}},"type":"object"},"credits":{"properties":{"balance":{"description":"Credits remaining","type":"integer"},"expires":{"format":"date-time","nullable":true,"type":"string"},"purchased":{"description":"Total credits ever purchased","type":"integer"},"used":{"description":"Total credits ever used","type":"integer"}},"type":"object"},"daily_usage":{"items":{"properties":{"calls":{"type":"integer"},"credits_used":{"type":"integer"},"day":{"format":"date","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"securitySchemes":{"BearerAuth":{"description":"Your API key as Bearer token. Example: `Authorization: Bearer pb_your_key_here`","scheme":"bearer","type":"http"},"RapidAPIKey":{"description":"Secret set by RapidAPI for customers subscribing through the marketplace","in":"header","name":"X-RapidAPI-Proxy-Secret","type":"apiKey"}}},"info":{"contact":{"email":"support@parcelbase.ai","name":"ParcelBase Support","url":"https://parcelbase.ai"},"description":"Access 145M+ US property records with address, owner, assessment, sale history, and Census-enriched demographics. ATTOM-compatible response format for drop-in replacement.\n\n**Billing:** 1 credit per property returned (not per request). Failed lookups cost 0 credits.\n\n**Rate Limits:** Configured per tier (60/min Starter, 120/min Growth, 200/min Pro, 300/min Scale).\n\n**Data Coverage:** Ownership (98%), assessed value (99%), census demographics (99%), beds/baths (77-85%), last sale price (66%). Some fields like rental AVM and mortgage may vary by region.","termsOfService":"https://parcelbase.ai/terms","title":"ParcelBase Property Data API","version":"2.0.0","x-category":"Data","x-long-description":"# ParcelBase \u2014 US Property & Owner Data\n\nInstant **property, owner, and parcel data** for US properties \u2014 one clean JSON call returns the whole record. Built for real-estate investors, lenders, proptech, insurance, and skip-tracing.\n\n## Every record includes\n- Property details \u2014 beds, baths, sqft, lot size, year built\n- Owner name + mailing address (absentee / owner-occupied flags)\n- AVM, assessed & market values\n- Last sale price & date + full sales history\n- Tax assessment data + Census demographics\n- Geocoded lat/lon + APN / parcel ID\n\n## Endpoints\nProperty by address \u00b7 Owner by name \u00b7 Parcel by APN \u00b7 Sale detail & history \u00b7 Assessment detail\n\n## Why ParcelBase\n- **Full record per call** \u2014 no per-field upcharges\n- **ATTOM-compatible** response shape \u2014 drop-in replacement\n- **1 credit per property returned** (not per request); failed lookups are free"},"openapi":"3.0.3","paths":{"/assessment/detail":{"get":{"description":"Returns assessment and tax history for a property by its ParcelBase ID.","operationId":"assessmentDetail","parameters":[{"description":"ParcelBase property ID","in":"query","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyResponse"}}},"description":"Successful lookup \u2014 returns array of property records"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request \u2014 missing or invalid parameters"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Missing or invalid API key"},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No credits remaining or credits expired \u2014 purchase more"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No properties found (no credits charged)"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Rate limit exceeded"}},"summary":"Tax assessment history","tags":["Assessment"]}},"/health":{"get":{"description":"Public endpoint. No auth required. Returns service status and total record count.","operationId":"healthCheck","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}},"description":"Service is healthy"}},"security":[],"summary":"API health check","tags":["System"]}},"/plans":{"get":{"description":"Public endpoint. No auth required. Returns credit packs and per-call rates.","operationId":"getPlans","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlansResponse"}}},"description":"List of pricing plans"}},"security":[],"summary":"Available pricing plans","tags":["Account"]}},"/property/address":{"get":{"description":"Returns property records matching the address. Requires (address + city + state) OR (address + zip). Each property returned = 1 credit.","operationId":"propertyByAddress","parameters":[{"description":"Full street address (e.g. '123 Main St')","in":"query","name":"address","schema":{"type":"string"}},{"description":"City name (pair with state)","in":"query","name":"city","schema":{"type":"string"}},{"description":"Two-letter state code (e.g. 'CA')","in":"query","name":"state","schema":{"maxLength":2,"minLength":2,"type":"string"}},{"description":"5-digit ZIP code (alternative to city+state)","in":"query","name":"zip","schema":{"type":"string"}},{"description":"Street number only (use with street+city+state or zip)","in":"query","name":"number","schema":{"type":"string"}},{"description":"Page number","in":"query","name":"page","schema":{"default":1,"minimum":1,"type":"integer"}},{"description":"Results per page (each property returned = 1 credit)","in":"query","name":"pagesize","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyResponse"}}},"description":"Successful lookup \u2014 returns array of property records"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request \u2014 missing or invalid parameters"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Missing or invalid API key"},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No credits remaining or credits expired \u2014 purchase more"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No properties found (no credits charged)"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Rate limit exceeded"}},"summary":"Lookup property by address","tags":["Property"]}},"/property/autocomplete":{"get":{"description":"Type-ahead address suggestions for a search box. Begin the query with a house number (q=123 Main) or pass zip= to search by street name; optional state= narrows results. Returns up to `limit` lightweight address suggestions (no owner data) \u2014 feed a suggestion's fields into /property/detail for the full record. Free helper: not credit-metered.","operationId":"propertyAutocomplete","parameters":[{"description":"Partial address. Number-led (e.g. '123 Main') or a street name when zip= is supplied. Minimum 3 characters.","in":"query","name":"q","required":true,"schema":{"type":"string"}},{"description":"5-digit ZIP \u2014 enables street-name search and narrows results","in":"query","name":"zip","schema":{"type":"string"}},{"description":"Two-letter state to narrow results","in":"query","name":"state","schema":{"type":"string"}},{"description":"Max suggestions (1-10)","in":"query","name":"limit","schema":{"default":8,"maximum":10,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyResponse"}}},"description":"Successful lookup \u2014 returns array of property records"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request \u2014 missing or invalid parameters"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Missing or invalid API key"},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No credits remaining or credits expired \u2014 purchase more"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No properties found (no credits charged)"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Rate limit exceeded"}},"summary":"Address type-ahead (autocomplete)","tags":["Property"]}},"/property/detail":{"get":{"description":"Same as /property/address. ATTOM drop-in compatibility.","operationId":"propertyDetail","parameters":[{"description":"Full street address (e.g. '123 Main St')","in":"query","name":"address","schema":{"type":"string"}},{"description":"City name (pair with state)","in":"query","name":"city","schema":{"type":"string"}},{"description":"Two-letter state code (e.g. 'CA')","in":"query","name":"state","schema":{"maxLength":2,"minLength":2,"type":"string"}},{"description":"5-digit ZIP code (alternative to city+state)","in":"query","name":"zip","schema":{"type":"string"}},{"description":"Street number only (use with street+city+state or zip)","in":"query","name":"number","schema":{"type":"string"}},{"description":"Page number","in":"query","name":"page","schema":{"default":1,"minimum":1,"type":"integer"}},{"description":"Results per page (each property returned = 1 credit)","in":"query","name":"pagesize","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyResponse"}}},"description":"Successful lookup \u2014 returns array of property records"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request \u2014 missing or invalid parameters"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Missing or invalid API key"},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No credits remaining or credits expired \u2014 purchase more"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No properties found (no credits charged)"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Rate limit exceeded"}},"summary":"Property detail (ATTOM alias)","tags":["Property"]}},"/property/detailmortgage":{"get":{"description":"Same response as /property/address with mortgage data included. ATTOM drop-in compatibility.","operationId":"propertyDetailMortgage","parameters":[{"description":"Full street address (e.g. '123 Main St')","in":"query","name":"address","schema":{"type":"string"}},{"description":"City name (pair with state)","in":"query","name":"city","schema":{"type":"string"}},{"description":"Two-letter state code (e.g. 'CA')","in":"query","name":"state","schema":{"maxLength":2,"minLength":2,"type":"string"}},{"description":"5-digit ZIP code (alternative to city+state)","in":"query","name":"zip","schema":{"type":"string"}},{"description":"Street number only (use with street+city+state or zip)","in":"query","name":"number","schema":{"type":"string"}},{"description":"Page number","in":"query","name":"page","schema":{"default":1,"minimum":1,"type":"integer"}},{"description":"Results per page (each property returned = 1 credit)","in":"query","name":"pagesize","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyResponse"}}},"description":"Successful lookup \u2014 returns array of property records"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request \u2014 missing or invalid parameters"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Missing or invalid API key"},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No credits remaining or credits expired \u2014 purchase more"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No properties found (no credits charged)"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Rate limit exceeded"}},"summary":"Property + mortgage (ATTOM alias)","tags":["Property"]}},"/property/detailmortgageowner":{"get":{"description":"Full property record. ATTOM drop-in compatibility.","operationId":"propertyDetailMortgageOwner","parameters":[{"description":"Full street address (e.g. '123 Main St')","in":"query","name":"address","schema":{"type":"string"}},{"description":"City name (pair with state)","in":"query","name":"city","schema":{"type":"string"}},{"description":"Two-letter state code (e.g. 'CA')","in":"query","name":"state","schema":{"maxLength":2,"minLength":2,"type":"string"}},{"description":"5-digit ZIP code (alternative to city+state)","in":"query","name":"zip","schema":{"type":"string"}},{"description":"Street number only (use with street+city+state or zip)","in":"query","name":"number","schema":{"type":"string"}},{"description":"Page number","in":"query","name":"page","schema":{"default":1,"minimum":1,"type":"integer"}},{"description":"Results per page (each property returned = 1 credit)","in":"query","name":"pagesize","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyResponse"}}},"description":"Successful lookup \u2014 returns array of property records"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request \u2014 missing or invalid parameters"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Missing or invalid API key"},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No credits remaining or credits expired \u2014 purchase more"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No properties found (no credits charged)"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Rate limit exceeded"}},"summary":"Property + mortgage + owner (ATTOM alias)","tags":["Property"]}},"/property/detailowner":{"get":{"description":"Same response as /property/address. ATTOM drop-in compatibility.","operationId":"propertyDetailOwner","parameters":[{"description":"Full street address (e.g. '123 Main St')","in":"query","name":"address","schema":{"type":"string"}},{"description":"City name (pair with state)","in":"query","name":"city","schema":{"type":"string"}},{"description":"Two-letter state code (e.g. 'CA')","in":"query","name":"state","schema":{"maxLength":2,"minLength":2,"type":"string"}},{"description":"5-digit ZIP code (alternative to city+state)","in":"query","name":"zip","schema":{"type":"string"}},{"description":"Street number only (use with street+city+state or zip)","in":"query","name":"number","schema":{"type":"string"}},{"description":"Page number","in":"query","name":"page","schema":{"default":1,"minimum":1,"type":"integer"}},{"description":"Results per page (each property returned = 1 credit)","in":"query","name":"pagesize","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyResponse"}}},"description":"Successful lookup \u2014 returns array of property records"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request \u2014 missing or invalid parameters"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Missing or invalid API key"},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No credits remaining or credits expired \u2014 purchase more"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No properties found (no credits charged)"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Rate limit exceeded"}},"summary":"Property + owner (ATTOM alias)","tags":["Property"]}},"/property/owner":{"get":{"description":"Search by owner last name (required), optionally narrow by first name, state, city. Searches both primary and secondary owners.","operationId":"propertyByOwner","parameters":[{"description":"Owner last name (required)","in":"query","name":"lastName","required":true,"schema":{"type":"string"}},{"description":"Owner first name","in":"query","name":"firstName","schema":{"type":"string"}},{"description":"Two-letter state (strongly recommended to narrow results)","in":"query","name":"state","schema":{"type":"string"}},{"description":"City name","in":"query","name":"city","schema":{"type":"string"}},{"in":"query","name":"page","schema":{"default":1,"type":"integer"}},{"in":"query","name":"pagesize","schema":{"default":25,"maximum":100,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyResponse"}}},"description":"Successful lookup \u2014 returns array of property records"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request \u2014 missing or invalid parameters"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Missing or invalid API key"},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No credits remaining or credits expired \u2014 purchase more"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No properties found (no credits charged)"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Rate limit exceeded"}},"summary":"Lookup properties by owner name","tags":["Property"]}},"/property/parcel":{"get":{"description":"Search by Assessor Parcel Number. Searches county_parcel_id, county_parcel_id_no_char, and tax_parcel_id.","operationId":"propertyByParcel","parameters":[{"description":"Assessor Parcel Number (with or without special characters)","in":"query","name":"apn","required":true,"schema":{"type":"string"}},{"description":"Two-letter state (recommended)","in":"query","name":"state","schema":{"type":"string"}},{"description":"County name","in":"query","name":"county","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyResponse"}}},"description":"Successful lookup \u2014 returns array of property records"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request \u2014 missing or invalid parameters"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Missing or invalid API key"},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No credits remaining or credits expired \u2014 purchase more"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No properties found (no credits charged)"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Rate limit exceeded"}},"summary":"Lookup property by APN (parcel number)","tags":["Property"]}},"/sale/detail":{"get":{"description":"Returns the same property record as /property/address with sale fields.","operationId":"saleDetail","parameters":[{"description":"Full street address (e.g. '123 Main St')","in":"query","name":"address","schema":{"type":"string"}},{"description":"City name (pair with state)","in":"query","name":"city","schema":{"type":"string"}},{"description":"Two-letter state code (e.g. 'CA')","in":"query","name":"state","schema":{"maxLength":2,"minLength":2,"type":"string"}},{"description":"5-digit ZIP code (alternative to city+state)","in":"query","name":"zip","schema":{"type":"string"}},{"description":"Street number only (use with street+city+state or zip)","in":"query","name":"number","schema":{"type":"string"}},{"description":"Page number","in":"query","name":"page","schema":{"default":1,"minimum":1,"type":"integer"}},{"description":"Results per page (each property returned = 1 credit)","in":"query","name":"pagesize","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyResponse"}}},"description":"Successful lookup \u2014 returns array of property records"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request \u2014 missing or invalid parameters"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Missing or invalid API key"},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No credits remaining or credits expired \u2014 purchase more"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No properties found (no credits charged)"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Rate limit exceeded"}},"summary":"Sale details for a property (ATTOM alias)","tags":["Sale"]}},"/sale/history":{"get":{"description":"Returns full sale history for a property by its ParcelBase ID.","operationId":"saleHistory","parameters":[{"description":"ParcelBase property ID (from a previous lookup's `identifier.Id`)","in":"query","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyResponse"}}},"description":"Successful lookup \u2014 returns array of property records"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request \u2014 missing or invalid parameters"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Missing or invalid API key"},"402":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No credits remaining or credits expired \u2014 purchase more"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No properties found (no credits charged)"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Rate limit exceeded"}},"summary":"Sale history for a specific property","tags":["Sale"]}},"/usage":{"get":{"description":"Returns credit balance, credits used, expiration, and daily usage history.","operationId":"getUsage","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageResponse"}}},"description":"Usage statistics"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Missing or invalid API key"}},"summary":"Your API usage stats","tags":["Account"]}}},"security":[{"BearerAuth":[]},{"RapidAPIKey":[]}],"servers":[{"description":"Production","url":"https://api.parcelbase.ai/api/v1"}],"tags":[{"description":"Property lookup endpoints","name":"Property"},{"description":"Sale history and transaction data","name":"Sale"},{"description":"Tax assessment and valuation data","name":"Assessment"},{"description":"API key usage and pricing","name":"Account"},{"description":"Health and metadata","name":"System"}]}
