County Property Records API — Owner, Assessor & Tax Data
Pricing
from $43.00 / 1,000 property records
County Property Records API — Owner, Assessor & Tax Data
Search county property records by address, parcel or owner: owner, mailing address, assessed and appraised value, tax area. About USD 49 per 1,000 records.
Pricing
from $43.00 / 1,000 property records
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
County Property Records API searches public county assessor parcel data by address, parcel number or owner name and returns one normalized record per parcel: owner and mailing address where the county publishes them, assessed and appraised values, tax area, exemptions, year built and building size. It covers Denton County, Texas and Los Angeles County, California out of the box, plus any public ArcGIS parcel layer you point it at, and it costs about USD 49 per 1,000 property records on the Free tier.
It is built for real-estate investors, appraisers, lenders, proptech developers and AI agents that need county property records with stable field names instead of county-specific column codes.
What county property records does it return?
Each dataset row is one unique parcel. The same field names are used for every county.
| Field | What it contains |
|---|---|
recordId, county, state | Stable ID (source:parcel), county name and state |
parcelNumber, alternateParcelNumber | Parcel or assessor number and the county's alternate format |
propertyAddress, legalDescription, propertyUse | Situs address, legal description and land-use class |
ownerName, ownerMailingAddress | Owner and mailing address when the source publishes them |
yearBuilt, squareFeet, bedrooms, bathrooms, units | Building facts when available |
landAreaSqFt, landAreaAcres | Lot size; acres are computed from square feet when needed |
assessedLandValue, assessedImprovementValue, assessedTotalValue | Assessed values in USD |
appraisedValue, taxableValue, taxAmount | Appraised and net taxable value, and tax amount when published |
taxArea, exemption, rollYear | Taxing entities or tax-rate area, exemption code or amount, and roll year |
latitude, longitude | Parcel center point when published |
sourceName, sourceUrl, retrievedAt | Public layer used and UTC retrieval time |
What each county publishes differs:
| Source | Owner name and mailing address | Values | Other |
|---|---|---|---|
| Denton County, TX | Yes | Assessed land, improvement, total and appraised value | Tax entities, exemption codes, lot size; no coordinates or roll year |
| Los Angeles County, CA | No | Assessed land, improvement, total and net taxable value | Bedrooms, bathrooms, units, coordinates, roll year, exemption amount |
| Custom ArcGIS layer | Only if the layer has an owner field | Whatever the layer exposes | Fields are matched by common names and aliases |
Unavailable fields, and zero values, are returned as null, never guessed. An OUTPUT record in the run's key-value store reports DATA, a truthful EMPTY, a REJECTED input problem, or a BLOCKED/FAILED source error.
How do I search property records by address, parcel or owner?
Choose a source, a searchMode and a query. Address and owner searches match every word you type anywhere in the field, ignoring case. Parcel searches need an exact parcel or alternate parcel number.
| Input | Default | Bounds and notes |
|---|---|---|
source | dentonCountyTx | dentonCountyTx, losAngelesCountyCa or customArcgis |
searchMode | address | address, parcelNumber or ownerName (owner works only where the source has an owner field) |
query | 5 WOODHAVEN CT | 2–160 characters; plain text, not SQL |
customLayerUrl | none | Required for customArcgis: public HTTPS layer URL ending in /FeatureServer/<n> or /MapServer/<n> |
maxResults | 25 | 1–500 records per run |
Owner-name search in Denton County:
{"source": "dentonCountyTx","searchMode": "ownerName","query": "SMITH","maxResults": 25}
Parcel lookup in Los Angeles County:
{"source": "losAngelesCountyCa","searchMode": "parcelNumber","query": "2004013020","maxResults": 5}
Any public ArcGIS parcel layer:
{"source": "customArcgis","searchMode": "address","query": "MAIN ST","customLayerUrl": "https://example.gov/arcgis/rest/services/Parcels/FeatureServer/0","maxResults": 25}
If the chosen source has no field for your search mode, for example owner search in Los Angeles County, the run stops with a REJECTED diagnostic and no record charges.
Output example
[{"recordId": "dentonCountyTx:R111625","county": "Denton County","state": "TX","parcelNumber": "R111625","alternateParcelNumber": "111625","propertyAddress": "5 WOODHAVEN CT","ownerName": "OWNER NAME","ownerMailingAddress": "5 WOODHAVEN CT, KRUGERVILLE, TX 76227","legalDescription": "TIMBER MESA BLK C LOT 5","propertyUse": "Real, Residential, Single Family","yearBuilt": 1986,"squareFeet": 1547,"landAreaAcres": 0.344536,"assessedTotalValue": 131976,"appraisedValue": 131976,"taxArea": "C18, CAD, G01, S02","exemption": "HS","rollYear": null},{"recordId": "losAngelesCountyCa:2004013020","county": "Los Angeles County","state": "CA","parcelNumber": "2004013020","alternateParcelNumber": "2004-013-020","propertyAddress": "8418 PONCE AVE LOS ANGELES CA 91304","ownerName": null,"yearBuilt": 1959,"squareFeet": 1594,"bedrooms": 3,"bathrooms": 3,"assessedTotalValue": 302908,"taxableValue": 295908,"taxArea": "00016","exemption": "7000","rollYear": "2025","latitude": 34.22363245,"longitude": -118.62113521}]
The Denton row is truncated from the default run on 2026-10-26 (run Fa7xKV7ZRUSAx4AF6, 2 records in about 5 seconds) with the owner name replaced by a placeholder. The Los Angeles row is built from the public source values for that parcel.
When should I use this county property records API?
Use it for:
- Owner lookups and mailing lists for Denton County parcels.
- Assessed-value and building-fact comparisons across a street or subdivision.
- Enriching an address or parcel list in your app with normalized assessor data.
- Querying another county's public ArcGIS parcel layer without writing a custom parser.
Do not use it for:
- Nationwide coverage: only the two built-in counties and layers you supply are supported.
- Title reports, liens, deeds, mortgages or sale history: these are not in assessor layers.
- Official tax bills or payment status:
taxAmountis usuallynull. - New Jersey assessments: use NJ Property Tax Assessment Lookup. For New York City sales: use NYC Property Sales Scraper.
How much does it cost?
You pay per property record delivered plus a start fee per run. Platform usage is included.
| Event | Free | Bronze | Silver | Gold, Platinum, Diamond |
|---|---|---|---|---|
| Property record (per record) | USD 0.049 | USD 0.049 | USD 0.049 | USD 0.043 |
| Actor start (per run) | USD 0.005 | USD 0.005 | USD 0.005 | USD 0.005 |
The start fee is charged once per started GB of allocated memory; the default 256 MB run pays one.
Worked totals on the Free tier:
- The default 2-record search: USD 0.005 + 2 × USD 0.049 = USD 0.103.
- 25 records: USD 0.005 + 25 × USD 0.049 = USD 1.23.
Records are charged only when saved. Duplicate parcels are merged before saving, and empty, rejected or blocked runs charge no record events.
What should I know about data freshness and limits?
Data comes straight from each county's public ArcGIS service, so it is as current as that service. Denton County's layer may lag the newest certified roll; confirm time-sensitive facts with the appraisal district.
Los Angeles County's layer keeps one row per roll year (2021 to 2025 at the time of writing). The Actor reads the newest roll first and returns one record per parcel with its latest roll year, so a parcel search with maxResults 1 returns the 2025 roll. Parcels missing from the newest roll come after current ones, so check rollYear. Because yearly rows are merged, a search that matches fewer parcels than maxResults returns fewer records.
Each request has a 30-second timeout and up to three attempts with backoff. Searches need a specific query; wildcard exports of a whole county are not offered.
Use it from an AI assistant
County Property Records API works from Claude, ChatGPT, Cursor or any MCP client through Apify's MCP server. Add https://mcp.apify.com/?tools=muhammadafzal/county-property-records-api to your client, then ask, for example: "Look up 5 Woodhaven Ct in Denton County, Texas and tell me the owner, year built and appraised value."
Run it with the Apify API
JavaScript (apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('muhammadafzal/county-property-records-api').call({source: 'dentonCountyTx',searchMode: 'address',query: '5 WOODHAVEN CT',maxResults: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python (apify-client 3.x):
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("muhammadafzal/county-property-records-api").call(run_input={"source": "losAngelesCountyCa","searchMode": "parcelNumber","query": "2004013020","maxResults": 5,})items = client.dataset(run.default_dataset_id).list_items().itemsprint(items)
FAQ
Which counties are supported?
Denton County, Texas and Los Angeles County, California are built in. Any other county works if it publishes a public ArcGIS FeatureServer or MapServer parcel layer that allows anonymous queries; pass its URL in customLayerUrl.
Can I look up a property owner by address?
Yes, in Denton County and in custom layers that publish an owner field. Los Angeles County's public layer does not include owner names.
Can I search by owner name?
Yes, where the source has an owner field. Every word you type must appear in the owner name, so SMITH JOHN matches SMITH, JOHN A.
Is this the official tax bill?
No. These are assessor parcel records. taxAmount is filled only when a layer publishes it, and neither built-in county does.
How many records can one run return?
Up to 500. Each request is a targeted query, and typical runs finish in seconds.
How fresh is the data?
As fresh as the county's public layer. Check rollYear where present, and verify material facts with the assessor or appraisal district.
Related Actors
- Realtor.com Agents Scraper: US real estate agent leads by city or ZIP.
- Estate Sale & Garage Sale Finder: upcoming US estate and garage sales by city.
- NJ Property Tax Assessment Lookup: New Jersey MOD-IV assessment records.
- NYC Property Sales Scraper: New York City property sales.
Legal and data use
Property records can contain personal information that is public but sensitive in context. Use the data for a legitimate purpose and follow privacy, fair-housing, consumer-reporting and solicitation laws. Do not use it for credit, housing, employment or insurance decisions without legal review and authoritative verification. The Actor uses only public, anonymous county endpoints and does not bypass authentication or access controls.
Last verified: 2026-10-27