Property Data API

Submit an address or APN and get property data back for your real estate workflow: owners, taxes, deeds, mortgages, permits, and comps. Not an API expert? Paste our docs into your AI tool of choice and ask it to build the request.

Example response
GET /v1/properties/{property_id}
{  "property_id": "12276B6",  "apn": "451-492-10-00",  "fips": "06073",  "property_address": "3352 Goldfinch St, San Diego, CA 92103",  "owner_1_full_name": "Morgan Family Trust",  "assessed_value": 509811,  "annual_tax_amount": 5735.48,  "last_sale_date": "2018-05-01",  "estimated_market_value": 584205,  "combined_estimated_loan_balance": 320668}
How it works

Three steps from address to record

The API takes a property you identify and returns the public-record data for it.

Send a property

Post a street address or an APN with county FIPS — whatever you have.

Check the match

Every response includes a match status. Misses and uncertain matches don't use credits.

Get the data

Owner, tax, value, and property facts come back as JSON, with a property ID for deeds, permits, and comps if you need them.

Use cases

What teams build with it

Four common places the API replaces manual county lookups.

Lead enrichment

Fill in owner, tax, and property details automatically when an address comes in.

Property search tools

Let your users look up a property by address or APN inside your product.

Owner and tax verification

Check names, mailing addresses, and assessed values against county records.

AI agents and automation

Give agents and back-office jobs structured property data to work with.

API field catalog

Every field the API can return

The core property response includes 86 fields. Five add-on endpoints include 73 row fields for mortgages, deeds, permits, sale comps, and rental comps. Open a group to see the exact JSON name, type, example value, and meaning. Values can be null when a county or source does not publish that field.

Core · 1 creditIdentifiers & address14 fieldsCore record object. Property IDs, parcel numbers, situs address, county, coordinates, and update timestamps.
Identifiers & address API response fields
JSON fieldTypeExampleDescription
property_idstring12276B6AssessorSearch property identifier.
apnstring | null451-492-10-00County parcel number or assessor parcel number.
alternate_apnstring | null4514921000Alternate parcel number format reported by the county.
fipsstring | null06073Five-digit county FIPS code.
countystringSan Diego County, CaliforniaCounty name.
property_addressstring | null3352 Goldfinch St, San Diego, CA 92103Full situs address when available.
property_streetstring | null3352 Goldfinch StStreet address portion of the situs address.
property_citystringSan DiegoSitus city.
property_statestringCASitus state abbreviation.
property_zipcodestring92103Situs ZIP code.
latitudenumber | null32.740421Parcel or address latitude when geocoded.
longitudenumber | null-117.171596Parcel or address longitude when geocoded.
source_last_updateddate string | null2026-05-18Source-system update date shown on property detail.
last_updateddate string | null2026-06-27AssessorSearch record update date when present.
Core · 1 creditOwner & mailing7 fieldsCore record object. Owner names, mailing address, and occupancy signal from public property records.
Owner & mailing API response fields
JSON fieldTypeExampleDescription
owner_1_full_namestringMorgan Family TrustPrimary owner name from public property records.
owner_2_full_namestring | nullnullSecondary owner name when one is present.
mailing_full_addressstring | nullPO Box 3352, San Diego, CA 92103Owner mailing address from public records.
mailing_citystring | nullSan DiegoMailing city.
mailing_statestring | nullCAMailing state abbreviation.
mailing_zip_codestring | null92103Mailing ZIP code.
occupancystringOwner OccupiedOwner-occupied or non-owner occupied signal.
Core · 1 creditTax & value12 fieldsCore record object. Assessed value, market value, annual tax amount, tax year, rate, exemption, and delinquency fields.
Tax & value API response fields
JSON fieldTypeExampleDescription
land_market_valuenumber | null130000Land market value reported or normalized from source records.
structure_market_valuenumber | null375000Improvement market value reported by the county.
total_market_valuenumber | null505000Total market value reported or normalized from source records.
assessed_land_valuenumber | null112294Land assessed value.
assessed_structure_valuenumber | null397517Improvement assessed value.
assessed_valuenumber | null509811Total assessed value reported by the county.
tax_yearstring | null2025Tax year associated with the tax fields.
annual_tax_amountnumber | null5735.48Annual property tax amount normalized to a number.
tax_ratenumber | null0.01125Effective or normalized tax-rate value when available.
is_tax_exemptionbooleantrueWhether a tax exemption is indicated in the record.
exemption_typestring | nullHomeownerExemption type, if reported.
delinquent_yearstring | nullnullTax delinquency year when reported by the source.
Core · 1 creditSale & status7 fieldsCore record object. Latest sale, listing signal, and pre-foreclosure indicators shown on property detail.
Sale & status API response fields
JSON fieldTypeExampleDescription
last_sale_datedate string | null2018-05-01Most recent sale date available in the indexed record.
last_sale_amountnumber | null454000Most recent sale amount available in the indexed record.
is_listedbooleanfalseListing signal when available.
is_listed_datedate string | nullnullDate associated with the current listing signal.
is_pre_foreclosurebooleanfalsePre-foreclosure signal when available.
pre_foreclosure_statusstring | nullnullPre-foreclosure status text from the source.
pre_foreclosure_datedate string | nullnullPre-foreclosure filing or status date when available.
Core · 1 creditProperty characteristics16 fieldsCore record object. Land use, zoning, year built, room counts, living area, building area, lot size, and basement fields.
Property characteristics API response fields
JSON fieldTypeExampleDescription
land_use_codestring | null1001Source land-use code.
land_use_categorystringSingle Family HomeNormalized land-use category.
zoningstring | nullnullZoning code or zoning label when available.
year_builtstring | null2004Year built as reported by the source.
year_built_effectivestring | null2004Effective year built or renovation year when reported.
bedsnumber | null4Bedroom count used in the property header.
bedroomsnumber | null4Alternate bedroom count field when supplied by the source.
bathsnumber | null3.5Bathroom count used in the property header.
full_bathroomsnumber | null3Full bathroom count.
half_bathroomsnumber | null1Half bathroom count.
total_roomsnumber | null8Total room count when reported.
sqftnumber | null2594Building area in square feet.
living_area_sqftnumber | null2594Finished living area in square feet.
lot_size_sqftnumber | null10392Parcel area in square feet.
lot_size_acresnumber | null0.239Parcel area in acres.
basement_sqftnumber | nullnullBasement area in square feet when reported.
Core · 1 creditBuilding features11 fieldsCore record object. Heating, cooling, exterior, roof, pool, utility, garage, and parking fields.
Building features API response fields
JSON fieldTypeExampleDescription
cooling_typestring | nullCentralCooling type.
heating_typestring | nullCentralHeating type.
fireplace_indbooleantrueFireplace indicator.
exterior_wall_typestring | nullStuccoExterior wall material or type.
roof_typestring | nullComposition ShingleRoof type.
pool_indbooleantruePool indicator.
pool_typestring | nullPool & Spa (both)Pool type when reported.
sewer_typestring | nullPublic SewerSewer utility type.
water_typestring | nullPublic WaterWater utility type.
garage_typestring | nullGarageGarage type when present.
garage_parkingnumber | null3Garage parking spaces when present.
Core · 1 creditLegal, community & HOA12 fieldsCore record object. Legal description, subdivision/community identifiers, census identifiers, and HOA fields.
Legal, community & HOA API response fields
JSON fieldTypeExampleDescription
legal_descriptionstring | nullBLK 400 LOT K TR DB0013PG522Legal description from the county record.
municipalitystring | nullCITY OF SAN DIEGOMunicipality or local jurisdiction when available.
subdivisionstringHORTONS ADD LOCKLINGSubdivision name from the property record.
neighborhoodstringHORTONS ADD LOCKLINGNeighborhood label when reported.
census_tractstring | null006100Census tract identifier when matched.
census_blockstring | null1003Census block identifier when matched.
tract_numstring | nullnullSubdivision or legal tract number.
legal_lotstring | null28Legal lot identifier.
legal_blockstring | nullnullLegal block identifier.
hoa_namestring | nullPARK CENTRAL TOWERS OWNERSHOA name when reported.
hoa_typestring | nullMandatoryHOA type when reported.
hoa_annual_feenumber | null420Annual HOA fee when reported.
Core · 1 creditMarket & rental estimates4 fieldsCore record object. AssessorSearch market value, rent, yield, and cap-rate estimates shown on property detail.
Market & rental estimates API response fields
JSON fieldTypeExampleDescription
estimated_market_valuenumber | null584205AssessorSearch estimated market value.
avg_rent_estimatenumber | null2685Estimated monthly rent from comparable rental context.
gross_yield_percentagenumber | null5.52Estimated annual gross rental yield percentage.
cap_rate_percentagenumber | null3.03Estimated cap-rate percentage when available.
Core · 1 creditMortgage summary3 fieldsCore record object. Estimated loan balance, equity, and loan-to-value fields.
Mortgage summary API response fields
JSON fieldTypeExampleDescription
combined_estimated_loan_balancenumber | null320668Estimated combined open mortgage balance.
estimated_equitynumber | null263537Estimated owner equity derived from value and loan balance.
estimated_ltvnumber | null54.89Estimated loan-to-value ratio.
Mortgage & lien detail12 fieldsMortgage detail response. Mortgage and lien rows returned from a specific mortgage/lien endpoint.
Mortgage & lien detail API response fields
JSON fieldTypeExampleDescription
property_idstring12276B6Subject property ID for joining this add-on row to the core property record.
idstring | nullmtg_20190509_1Mortgage or lien row identifier when available.
amountnumber | null350000Mortgage or lien amount.
lenderstring | nullSample National BankMortgage lender.
interest_ratenumber | null7.03Interest rate when available.
recording_datedate string | null2024-07-10Mortgage or lien recording date.
datedate string | nullnullAlternate mortgage or lien date when supplied.
typestring | nullconventional loanMortgage or lien type.
paymentnumber | null2719.85Estimated or reported payment when available.
termstring30 yearsLoan term.
loan_to_valuenumber | nullnullLoan-to-value ratio at origination when available.
positionnumber | null1Lien position.
Deed & transaction history16 fieldsTransaction detail response. Recorded deed and transaction rows returned from a specific transaction endpoint.
Deed & transaction history API response fields
JSON fieldTypeExampleDescription
property_idstring12276B6Subject property ID for joining this add-on row to the core property record.
recording_datesource date string | null05/01/2018Recording date for the deed or transaction document.
sale_datesource date string | null05/01/2018Sale date when reported separately from recording date.
document_typestring | nullGrant DeedRecorded document type.
document_numberstring | null2018.143821Recorder document number.
transaction_typestring | nullArms LengthNormalized transaction type when available.
transaction_amountnumber | null454000Transaction amount from the recorded document.
buyer_namestring | nullMorgan Family TrustBuyer or grantee name.
buyer_is_corporatebooleanfalseCorporate buyer indicator.
seller_namestring | nullPark Place Homes LLCSeller or grantor name.
seller_is_corporatebooleantrueCorporate seller indicator.
lender_namestring | nullValley Community BankLender named on the transaction when available.
title_company_namestring | nullSan Diego County Title Co.Title company named on the transaction when available.
sort_ordernumber | null1Sort order supplied by the transaction source.
transaction_detailsobject | nullnullSource-specific transaction detail object.
formatted_datestring | null2018-05-01Backend-computed display date when supplied.
Permit history10 fieldsPermit detail response. Permit rows returned from a specific permits endpoint where county coverage is available.
Permit history API response fields
JSON fieldTypeExampleDescription
property_idstring12276B6Subject property ID for joining this add-on row to the core property record.
permit_numberstring | nullBLD-21-00842Permit number from the permitting source.
permit_typestring | nullResidential pool and spaPermit category or permit type.
permit_datedate string | null2021-06-14Permit issue, application, or status date as reported.
statusstring | nullFinalPermit status.
contractor_namestring | nullCentral Valley PoolsContractor name when reported.
estimated_job_valuenumber | null65000Estimated project value.
estimated_feesnumber | null1420Estimated permit fees.
descriptionstring | nullInstall in-ground pool, spa, and code-compliant safety barrier.Permit work description.
sort_ordernumber | null1Sort order supplied by the permitting source.
Comparable sales15 fieldsComparable sales response. Sale comparable rows returned from a specific comparable-sales endpoint.
Comparable sales API response fields
JSON fieldTypeExampleDescription
property_idstring12276B6Subject property ID for joining this add-on row to the core property record.
addressstring | null1810 W Sample Ct, San Diego, CA 92103Comparable sale property address.
sale_datedate string | null2025-06-09Comparable property sale date.
sale_pricenumber | null545000Comparable property sale price.
bedsnumber | null4Comparable bedroom count.
bathsnumber | null3Comparable bathroom count.
sqftnumber | null2388Comparable living area in square feet.
year_builtnumber | null2005Comparable year built.
price_per_sqftnumber | null228.22Comparable sale price per square foot.
comparable_property_idnumber | string2712968AssessorSearch property ID for the comparable property.
distance_milesnumber | null0.33Distance from the subject property in miles.
lot_acresnumber | null0.46Comparable lot size in acres.
comp_ranknumber | null2Comparable ranking returned by the matching model.
similarity_scorenumber | null3.25Similarity score returned by the matching model.
formatted_comparable_property_idstring | null296588Display-ready comparable property ID when supplied.
Comparable rentals20 fieldsComparable rentals response. Rental comparable rows returned from a specific comparable-rentals endpoint.
Comparable rentals API response fields
JSON fieldTypeExampleDescription
property_idstring12276B6Subject property ID for joining this add-on row to the core property record.
addressstring | null1918 W Sample Ln, San Diego, CA 92103Comparable rental property address.
rental_datedate string | null2026-04-27 01:40:09.871Rental comp date.
effective_datedate string | nullnullAlternate rental effective date when supplied.
rental_pricenumber | null2650Monthly rental price.
rent_pricenumber | nullnullAlternate monthly rent field when supplied.
bedsnumber | null4Comparable bedroom count.
bathsnumber | null3Comparable bathroom count.
sqftnumber | null2400Comparable living area in square feet.
year_builtnumber | null2008Comparable year built.
comparable_property_idnumber | string2674852AssessorSearch property ID for the comparable property.
distance_milesnumber | null1.92Distance from the subject property in miles.
lot_acresnumber | null0.5Comparable lot size in acres.
comp_ranknumber | null1Comparable ranking returned by the matching model.
ranknumber | nullnullAlternate comparable ranking field when supplied.
similarity_scorenumber | null15Similarity score returned by the matching model.
adjusted_rentnumber | null2685Adjusted monthly rent estimate when supplied.
avm_valuenumber | null552000AVM value associated with the rental comparable.
urlstring | nullnullSource URL when available.
formatted_comparable_property_idstring | null28D0A4Display-ready comparable property ID when supplied.
Endpoints

Public API endpoints and credits

Start with an address or APN, then use the returned property ID for the core record or deeper history endpoints. Detail endpoints charge only when they return rows.

Property Data API endpoints and credit costs
EndpointCreditsUse case
GET/v1/properties1Resolve address or APN input. Charges only when status is matched and the core property record is returned.
GET/v1/properties/{property_id}1Fetch the core parcel, owner, tax, valuation, facts, location, and mortgage summary fields for a known property ID.
GET/v1/properties/{property_id}/mortgages3Retrieve mortgage and lien rows, including lender, amount, rate, recording date, term, payment, and lien position when available.
GET/v1/properties/{property_id}/transactions3Retrieve recorded deed and transaction rows with buyer, seller, document, title-company, lender, and amount fields when available.
GET/v1/properties/{property_id}/permits3Retrieve permit rows where county coverage is available, including type, status, permit number, date, contractor, fees, and description.
GET/v1/properties/{property_id}/comparable-sales3Retrieve comparable sale rows with address, price, date, facts, distance, rank, similarity score, and comparable property ID.
GET/v1/properties/{property_id}/comparable-rentals3Retrieve comparable rental rows with rent, effective date, facts, distance, rank, adjusted rent, AVM value, and comparable property ID.
Pricing

API plans

Pick a monthly credit allowance for the number of property records you expect to pull. Address and APN searches are free, core property records are 1 credit, and add-on history endpoints are 3 credits when they return rows.

Pro + API

Unlimited web views plus starter API access for AI tools and light workflows.

$50/month
Monthly credits
500/month
Overage rate
$0.08/credit
Core lookup
1 credit each

API Growth

Small production integrations, internal review tools, and appraisal QA pilots.

$150/month
Monthly credits
2,000/month
Overage rate
$0.06/credit
Core lookup
1 credit each

API Enterprise

Large-volume API access with room for procurement and custom support.

$3,000/month
Monthly credits
100,000/month
Overage rate
$0.024/credit
Core lookup
1 credit each

Overages are on by default at the rate shown for each plan. The monthly budget is $250 for Pro + API and Growth, $1,000 for Scale, and $5,000 for Enterprise. Lower the budget or turn overages off in your dashboard at any time.

Usage and billing

Pay for records, not dead ends

Address and APN matching is part of the lookup flow. You spend credits when a core property record comes back, or when an add-on endpoint returns real rows for mortgages, deeds, permits, or comps.

  • Lookups that do not return a property record do not spend credits.
  • Empty detail collections also return 0 charged credits.
  • Rate limits apply per account across API keys on a rolling 60-second window; all API requests count toward the limit.
  • Included API credits reset monthly. Overages continue at your plan rate until you reach the budget set in your dashboard.
  • If overages are off or the budget is exhausted, billable requests return 402 with code credit_limit_exceeded.
  • Requests over the per-minute rate limit return 429 with a Retry-After header. Queue large jobs and retry with backoff.

Data limits

Public records vary by county

County records are not identical everywhere. Some counties publish richer owner, tax, deed, permit, or comp history than others. Contact us to confirm field coverage for your target counties.

  • Verify with the county assessor or recorder when a decision needs certified records.
  • AssessorSearch is not a consumer reporting agency. Do not use API data for FCRA-governed decisions such as credit, employment, housing, or tenant screening.
  • The API is not a title search, legal opinion, tax service, or appraisal certification.
FAQ

Questions before you build

The practical things teams usually need to know before wiring property records into a product, workflow, or AI tool.

Can I submit either an address or an APN?

Yes. Send a street address when that is all you have, or send APN plus county FIPS when your workflow already stores parcel numbers.

What property data comes back?

The core record includes the fields most teams need first: parcel identity, address, owner and mailing details, assessor and tax fields, property facts, source dates, and mortgage summary fields when available.

Can I get deeds, mortgages, permits, and comps too?

Yes. Use the add-on endpoints when you need deeper history for a matched property: deed transactions, mortgage and lien rows, building permits, comparable sales, and comparable rentals.

What if I do not know how to work with APIs?

Start with the developer docs and sample responses. You can paste the docs into ChatGPT, Claude, Cursor, or another AI coding tool and ask it to write the request for your stack.

Should I use the API or bulk property data?

Use the API when your app needs one property at a time from an address or APN. Use bulk files when you need recurring county, state, or nationwide refreshes for a database or warehouse.

How do credits work?

Address and APN searches are 0 credits. A matched core property record is 1 credit. Add-on endpoints are 3 credits only when rows are returned.

Next step

Start building with the API

Open the docs, copy the endpoint you need, and test it against an address or APN. If you are building with AI, paste the docs and ask it to generate the request for your app.