Dallas CAD Property Records Scraper
Pricing
from $4.00 / 1,000 results
Dallas CAD Property Records Scraper
[๐ฐ $4.00 / 1K] Extract Dallas County, TX property records from DCAD by owner, address, account number or business name. Get owner mailing addresses, appraised and taxable values, exemptions, estimated taxes, building details, land, deed dates and value history.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
Pull official Dallas County, Texas property records from the Dallas Central Appraisal District (DCAD) at scale โ owner names and mailing addresses, appraised and taxable values, homestead and other exemptions, estimated taxes by taxing unit, building characteristics, land segments, deed dates, and 28 years of value history. Search by owner, street address, account number, or business name and get one clean row per parcel. Built for Texas real estate investors, title researchers, property tax consultants, appraisers, and skip tracers who need bulk county appraisal data without clicking through DCAD's search forms ten results at a time.
Why This Scraper?
- All four DCAD search surfaces in one actor โ owner name, street address, 17-character account number, and business name. Account-number lookup is the fastest path when you already hold DCAD ids from a tax roll or title file, and business-name search reaches Business Personal Property accounts that owner search never returns.
- 28 years of value history per parcel โ opt in and every property carries a year-by-year record back to 1999: owner of record, legal description, deed transfer date, improvement value, land value, market value, per-jurisdiction taxable value, and the exemptions in force that year.
- Six taxing jurisdictions broken out on every parcel โ city, school district, county, community college, hospital district, and special district, each with its tax rate per $100, exemption amount, taxable value, estimated tax, and tax ceiling.
- 71 fields on a fully enriched parcel, 73 with value history, 13 in fast mode โ turn full detail off for cheap bulk sweeps that still return address, city, owner, market value, and account type; turn it on for the complete appraisal record. Every row of a run carries exactly the same columns, with
nullwhere DCAD publishes nothing, so a CSV or Excel export never shifts columns from one row to the next. - Two-word street names handled correctly โ
SHADY GLENreturns its 70 real parcels andCEDAR HILLits 263, instead of collapsing toSHADYorCEDARand burying you in unrelated results. Punctuated names work too:O'BRIENfinds all 156 O'Brien accounts even though DCAD files the name without the apostrophe. - 30 residential building characteristics โ year built, effective year built, actual age, living and total area, bedrooms, full and half baths, kitchens, fireplaces, wet bars, foundation, roof type and material, exterior wall, heating, air conditioning, and pool/spa/sauna/deck/sprinkler flags.
- All 32 Dallas County cities as a validated dropdown โ Addison through Wylie, picked from a list rather than typed, so a misspelled city can never silently return zero rows.
%wildcard on owner and business names โ%SMITHreturns every owner with SMITH anywhere in the name, and%INSURANCEsweeps a whole industry of business accounts.- Skip-trace-ready ownership โ owner mailing address split into street, city, state, and ZIP, plus multi-owner percentage splits, the registered tax agent, deed transfer date, and the deed instrument number parsed out of the legal description.
- Land and commercial building detail โ per land segment: state code, zoning, frontage, depth, area, pricing method, unit price, market adjustment, adjusted price, and ag-land flag. Commercial parcels add per-building description, net lease area, stories, units, quality, condition, and four-way depreciation.
Use Cases
Real Estate Investment
- Find absentee owners: parcels where the mailing address differs from the property address
- Spot likely non-owner-occupied homes by filtering rows with no homestead exemption
- Compare appraised value per square foot across neighborhood codes
- Track 28-year value trends to time entries and exits in a submarket
Property Tax Consulting
- Build protest evidence from year-by-year market and taxable value swings
- Identify parcels whose value jumped in the latest revaluation year
- Audit exemptions: find homesteads missing from properties that qualify
- Pull estimated tax by jurisdiction to model a client's total liability
Title & Legal Research
- Verify current owner of record, ownership percentages, and deed transfer date
- Retrieve full legal descriptions and deed instrument numbers for chain-of-title work
- Confirm parcel identity from an account number in seconds
- Reconstruct ownership history for a parcel across nearly three decades
Lead Generation & Skip Tracing
- Compile owner mailing lists for a single street, city, or whole-county owner-name sweep
- Target commercial owners by business name for equipment and inventory accounts
- Build direct-mail lists filtered by value band, year built, or pool presence
- Locate all parcels held by one owner or LLC across Dallas County
Market & Data Analytics
- Benchmark assessed values across the county's 32 cities
- Model housing stock by year built, building class, and construction type
- Feed county appraisal data into internal CRMs, dashboards, and valuation models
- Measure exemption uptake and taxable-value erosion by school district
Getting Started
Look up one owner
{"searchType": "owner","searchTerms": ["SMITH JOHN"]}
Sweep a street in one city
{"searchType": "address","searchTerms": ["LOVERS"],"city": "DALLAS","accountTypes": ["residential"],"maxResults": 200}
Wildcard owner sweep with full detail
{"searchType": "owner","searchTerms": ["%HOLDINGS LLC", "%PROPERTIES LP"],"accountTypes": ["residential", "commercial"],"maxResults": 500,"includeDetails": true}
Everything on specific accounts, with history
{"searchType": "account","searchTerms": ["00000398224420000", "00000398224430000"],"maxResults": 0,"includeDetails": true,"includeValueHistory": true}
Input Reference
What to Search
| Parameter | Type | Default | Description |
|---|---|---|---|
searchType | string | "owner" | How to look up properties. Options: owner (Owner Name), address (Street Address), account (Account Number), business (Business Name). |
searchTerms | array of strings | ["SMITH JOHN"] | One term per line. Owner Name: last name first, e.g. SMITH JOHN or just SMITH. Street Address: LOVERS for a whole street, or 6646 E LOVERS LN for one property. Account Number: the full 17-character account number. Business Name: e.g. WALMART. Use % as a wildcard; punctuation such as apostrophes is handled for you. Any one term returns at most 700 matches. Street names are matched on their first 23 characters and house numbers on their first 7 โ DCAD's own limits. |
Filters
| Parameter | Type | Default | Description |
|---|---|---|---|
accountTypes | array of strings | ["residential"] | Which kinds of accounts to include. Options: residential (Residential), commercial (Commercial), bpp (Business Personal Property). Select all three to get everything. |
city | string | "" (All Cities) | Limit results to a single Dallas County city. Choices: All Cities, Addison, Balch Springs, Carrollton, Cedar Hill, Cockrell Hill, Combine, Coppell, Dallas, DeSoto, Duncanville, Farmers Branch, Ferris, Garland, Glenn Heights, Grand Prairie, Grapevine, Highland Park, Hutchins, Irving, Lancaster, Lewisville, Mesquite, No Town, Ovilla, Richardson, Rowlett, Sachse, Seagoville, Sunnyvale, University Park, Wilmer, Wylie. Applies to Street Address searches only. |
Options
| Parameter | Type | Default | Description |
|---|---|---|---|
maxResults | integer | 100 | Total properties to collect across all your search terms. Set to 0 for no limit. Because terms run in parallel a run can finish a few rows over your limit rather than cutting a page in half, and no single term can exceed DCAD's own 700-match ceiling. |
includeDetails | boolean | true | Open each property's full record for appraised and taxable values, exemptions, estimated taxes by taxing unit, owner mailing address, legal description, deed date, building characteristics, and land details. Turn off for a much faster run returning address, city, owner, total value, and property type only. |
includeValueHistory | boolean | false | Also collect the year-by-year history for each property: past owners, market value, taxable value, and exemptions going back as far as 1999. |
Output
One row per property account. Every row in a run carries the same key set โ anything DCAD does not publish for that parcel comes back as null rather than a missing column. Example (residential, full detail and history enabled, trimmed for length):
{"accountNumber": "00000398224420000","accountType": "RESIDENTIAL","url": "https://www.dallascad.org/AcctDetailRes.aspx?ID=00000398224420000","searchType": "account","searchTerm": "00000398224420000","scrapedAt": "2026-07-24T22:33:15+00:00","detailsLoaded": true,"valueHistoryLoaded": true,"propertyAddress": "6646 E LOVERS LN","addressLine2": "Bldg: P Suite: 1801","city": "DALLAS","neighborhoodCode": "1DS525","mapsco": "36-D (DALLAS)","ownerName": "SMITH JOHN","ownerMailingAddress": "6646 E LOVERS LN APT 1801, DALLAS, TEXAS 752141692","ownerCity": "DALLAS","ownerState": "TEXAS","ownerZip": "752141692","owners": [{ "name": "SMITH JOHN", "ownershipPercent": 100.0 }],"legalDescription": "OAKS ON THE LANE CONDO PH II | BLK 1/5431 PT LOT 1 ACS 2.568 | BLDG P UNIT 1801 0269% CE","deedTransferDate": "3/30/2021","deedTransferDateISO": "2021-03-30","deedInstrument": "INT202100089667","valueYear": 2026,"improvementValue": 78630,"landValue": 45340,"marketValue": 123970,"revaluationYear": 2025,"yearBuilt": 1979,"livingArea": 805,"buildingClass": "CONDOMINIUM","bedrooms": 2,"bathsFull": 1,"stories": "ONE STORY","hasPool": false,"landSegments": [{"number": 1,"stateCode": "SFR - CONDOMINIUMS","zoning": "MULTIFAMILY DISTRICT 1","areaValue": 219024.0,"areaUnit": "SQUARE FEET","unitPrice": 30.0,"adjustedPrice": 45338,"agLand": false}],"exemptions": ["HOMESTEAD EXEMPTION"],"hasHomesteadExemption": true,"taxJurisdictions": [{"category": "city","name": "DALLAS","taxRatePer100": 0.6988,"exemptionAmount": 24794,"taxableValue": 99176,"estimatedTax": 693.04,"taxCeiling": null}],"totalTaxableValue": 99176,"totalEstimatedTaxes": 1222.72,"valueHistory": [{"year": 2026,"ownerName": "SMITH JOHN","marketValue": 123970,"maxTaxableValue": 99176,"exemptions": ["HOMESTEAD EXEMPTION"]}]}
Identity & Source
| Field | Type | Description |
|---|---|---|
accountNumber | string | 17-character DCAD account number |
accountType | string | RESIDENTIAL, COMMERCIAL, or BPP |
url | string | Direct link to the property's DCAD record page |
searchType | string | Which search mode produced this row |
searchTerm | string | The exact term you entered that produced this row |
scrapedAt | string | ISO 8601 timestamp of collection |
detailsLoaded | boolean | true when the full record was read; false marks the handful of rows whose detail page did not load, so a blank value is never mistaken for "nothing on file" |
valueHistoryLoaded | boolean | Same signal for the year-by-year history, when it was requested |
Location
| Field | Type | Description |
|---|---|---|
propertyAddress | string | Situs street address of the parcel |
addressLine2 | string | Building, suite, or unit qualifier |
city | string | City the parcel sits in |
neighborhoodCode | string | DCAD neighborhood code (residential records) |
marketArea | string | Market area code (commercial records) |
mapsco | string | Mapsco grid reference |
Owner, Deed & Legal
| Field | Type | Description |
|---|---|---|
ownerName | string | Primary owner of record |
businessName | string | Business name on Business Personal Property accounts |
ownerMailingAddress | string | Full mailing address as printed by DCAD |
ownerCity | string | Mailing city |
ownerState | string | Mailing state |
ownerZip | string | Mailing ZIP |
owners | array | Multi-owner splits: name, ownershipPercent (a number, e.g. 50.0) |
taxAgent | string | Registered tax agent, when one is on file |
legalDescription | string | Full legal description, lines joined |
legalDescriptionLines | array of strings | The raw legal description lines |
deedTransferDate | string | Most recent deed transfer date, as DCAD prints it (M/D/YYYY) |
deedTransferDateISO | string | The same date as YYYY-MM-DD, ready to sort and filter |
deedInstrument | string | Instrument number parsed from the legal description |
Values, Exemptions & Taxes
| Field | Type | Description |
|---|---|---|
valueYear | integer | Appraisal year these values apply to |
improvementValue | integer | Building (improvement) value |
landValue | integer | Land value |
marketValue | integer | Total market value |
valueInDispute | boolean | true when DCAD shows "Value in Dispute" instead of a figure |
revaluationYear | integer | Most recent revaluation year |
previousRevaluationYear | integer | Prior revaluation year |
exemptions | array of strings | Exemptions in force, e.g. HOMESTEAD EXEMPTION. null on the rare record where DCAD publishes no exemption section at all, so "none on file" and "not published" stay distinguishable |
hasHomesteadExemption | boolean | Quick flag for owner-occupied homesteads |
taxJurisdictions | array | Six jurisdictions (city, school, county, college, hospital, special district), each with name, taxRatePer100, exemptionAmount, taxableValue, estimatedTax, taxCeiling |
totalTaxableValue | integer | Highest taxable value across jurisdictions |
totalEstimatedTaxes | number | DCAD's total estimated annual tax |
Building Characteristics
| Field | Type | Description |
|---|---|---|
yearBuilt | integer | Year the main building was built |
effectiveYearBuilt | integer | Effective year built after improvements |
actualAge | integer | Actual age in years |
livingArea | integer | Living area in square feet |
totalArea | integer | Total area in square feet |
buildingClass | string | e.g. CONDOMINIUM, SINGLE FAMILY |
constructionType | string | e.g. FRAME, MASONRY |
foundation | string | Foundation type |
roofType | string | Roof shape |
roofMaterial | string | Roof covering material |
exteriorWall | string | Exterior wall material |
bedrooms | integer | Bedroom count |
bathsFull | integer | Full bathroom count |
bathsHalf | integer | Half bathroom count |
kitchens | integer | Kitchen count |
fireplaces | integer | Fireplace count |
wetBars | integer | Wet bar count |
stories | string | e.g. ONE STORY |
heating | string | Heating system |
airConditioning | string | Cooling system |
hasPool, hasSpa, hasSauna, hasDeck, hasSprinkler | boolean | Amenity flags |
basement, fenceType, desirability | string | Basement type, fence type, condition/desirability rating |
percentComplete, depreciation | integer, number | Percent complete and depreciation percentage |
Structures & Land
| Field | Type | Description |
|---|---|---|
additionalImprovements | array | Detached structures: number, improvementType, construction, floor, exteriorWall, area |
improvements | array | Commercial buildings: description, totalArea, yearBuilt, construction, foundation, foundationArea, netLeaseArea, stories, units, basement, heat, ac, quality, condition, plus four depreciation measures |
landSegments | array | number, stateCode, zoning, frontageFt, depthFt, areaValue (number), areaUnit (e.g. SQUARE FEET), pricingMethod, unitPrice, marketAdjustment, adjustedPrice, agLand |
Value History (when enabled)
valueHistory is an array with one entry per appraisal year, newest first, reaching back as far as 1999.
| Field | Type | Description |
|---|---|---|
year | integer | Appraisal year |
ownerName | string | Owner of record that year |
ownerAddress | string | Owner mailing address that year |
legalDescription | string | Legal description on file that year |
deedTransferDate | string | Deed transfer date on file that year |
deedTransferDateISO | string | The same date as YYYY-MM-DD |
improvementValue | integer | Building value that year |
landValue | integer | Land value that year |
marketValue | integer | Total market value that year |
homesteadCapped | integer | Homestead-capped value, when DCAD published one |
taxableValue | object | Taxable value per jurisdiction: city, isd, county, college, hospital, specialDistrict |
maxTaxableValue | integer | Highest taxable value across jurisdictions that year |
exemptions | array of strings | Exemptions in force that year |
Tips for Best Results
- Owner names are stored last name first. Search
SMITH JOHN, notJOHN SMITH. When in doubt, search the surname alone and filter the output. - Use
%as a wildcard for partial matches.%LLCfinds every owner whose name contains LLC,SMITH%anchors to the start. This is the single fastest way to sweep entities across the county. - Type the street name exactly as it is signposted.
SHADY GLEN,CEDAR HILL, andBEAR RUNare searched as written, and a trailing street type such asLNorRDis looked up both ways automatically โ so you never have to guess which words are the street name and which are the street type. - Any one search term tops out at 700 matches. That is Dallas CAD's own ceiling, not ours: a whole-county sweep of
SMITHstops at 700 however high you set Max Results, and the run tells you when a term hit it. To go past 700, split the term into narrower ones โSMITH A,SMITH B, or street-by-street instead of city-wide โ and add them all to Search Terms. - Turn off Include Full Property Details for bulk sweeps. You still get address, city, owner, market value, and account type, and the run finishes several times faster. Enable it for the subset you actually want to underwrite.
- Absentee-owner shortcut: run with full detail on, then keep rows where
hasHomesteadExemptionisfalseorownerMailingAddressdoesn't matchpropertyAddress. That combination is the highest-signal investor lead list DCAD data can produce. maxResultsis a global cap across every search term. With ten terms and a cap of 100 you get 100 properties total, not 100 each โ start at 10โ50 to check the output shape, then raise it.- The city filter only applies to Street Address searches. For owner, account, or business searches it is ignored, so filter on the
cityoutput field in your own post-processing instead. Account numbers must be pasted whole โ all 17 characters.
Pricing
From $4.00 per 1,000 results โ under the going rate for Dallas County appraisal data, with account-number search, business-name search, and 28-year value history included at no extra charge. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.
| Results | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 100 | $0.48 | $0.46 | $0.43 | $0.40 |
| 1,000 | $4.80 | $4.55 | $4.30 | $4.00 |
| 10,000 | $48.00 | $45.50 | $43.00 | $40.00 |
| 100,000 | $480.00 | $455.00 | $430.00 | $400.00 |
A "result" is one property account row in the output dataset โ enabling full detail or value history enriches that same row rather than adding billable rows. No compute or time-based charges โ you pay per result, plus a small fixed per-run start fee.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n โ Workflow automation
- Google Sheets โ Direct spreadsheet export
- Slack / Email โ Notifications when a run finishes
- Webhooks โ Trigger your own APIs on run completion
- Apify API โ Full programmatic access from any language
Legal & Ethical Use
Dallas Central Appraisal District records are public records published by a Texas appraisal district under state law, and this actor collects only what DCAD publishes openly on its website. It is built for legitimate property research, valuation, tax representation, title work, and market analysis. You are responsible for complying with applicable law โ including the Texas Property Tax Code and Texas Public Information Act โ and with DCAD's terms of use. Owner names and mailing addresses are personal information: handle them accordingly, respect opt-out and do-not-contact requests, and never use this data for harassment, discrimination, or any unlawful purpose. Be mindful of fair housing rules when combining appraisal data with marketing or lending decisions.