Dallas County Property Records Scraper avatar

Dallas County Property Records Scraper

Pricing

Pay per event

Go to Apify Store
Dallas County Property Records Scraper

Dallas County Property Records Scraper

Search DCAD by owner, address, account, or business and export Dallas County property ownership, assessed values, exemptions, characteristics, and history.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Search public Dallas Central Appraisal District (DCAD) records and turn them into structured, source-linked data. The Actor searches by owner, street address, exact account number, or business name and extracts ownership, assessed values, exemptions, building characteristics, estimated taxes, and annual value history.

It is designed for recurring property research and portfolio monitoring where manually copying records from a dallascad property search is too slow or inconsistent.

What can you do with this Actor?

  • Find Dallas County property records by owner or business name.
  • Resolve an address to its 17-character DCAD account number.
  • Retrieve one known residential, commercial, or business-personal-property account.
  • Export current certified improvement, land, and market values.
  • Compare annual assessed-value history for repeat research.
  • Feed source URLs and retrieval timestamps into due-diligence workflows.

The Actor reads the public appraisal district website. It does not submit protests, access accounts, provide title evidence, or replace an official tax bill.

Who is it for?

Real-estate analysts can assemble comparable appraisal records and value histories.

Investors and acquisition teams can screen owners and parcels before deeper title, lien, or physical due diligence.

Tax and appraisal professionals can normalize public DCAD account details for review.

Data engineers can schedule repeat searches and send typed records to a warehouse, spreadsheet, webhook, or BI tool.

Why use it instead of copying DCAD pages?

DCAD separates search results, account details, and history across several pages. This Actor follows those pages, deduplicates accounts, normalizes money fields to numbers, and preserves the source URL.

A single dataset row can include:

  • parcel/account identity;
  • current owner and public mailing address;
  • property and business names;
  • certified values and estimated taxes;
  • legal description and deed transfer date shown by DCAD;
  • residential building characteristics where available;
  • annual market-value history.

Supported Dallas CAD search modes

ModeRequired inputBest for
accountaccountNumberOne exact 17-character DCAD account
ownerownerNameParcels associated with an owner-name prefix
addressstreetName; optional number/direction/cityProperties on a Dallas County street
businessbusinessNameBusiness personal property records
Detail URLsstartUrlsReprocessing known DCAD account-detail pages

Owner and business searches follow DCAD's prefix and % wildcard behavior. Keep broad searches bounded with maxItems.

Input parameters

FieldTypeDefaultDescription
searchTypestringaccountaccount, owner, address, or business
accountNumberstringExact 17-character account identifier
ownerNamestringOwner name prefix, 2–25 characters
businessNamestringBusiness name prefix, 2–34 characters
addressNumberstringOptional numeric street number
streetDirectionstringemptyOptional N, S, E, W, NE, NW, SE, or SW
streetNamestringStreet name as used by DCAD; omit the number
cityCodestringemptyOptional DCAD numeric city code
startUrlsarrayemptyDCAD AcctDetailRes, AcctDetailCom, or AcctDetailBPP URLs
maxItemsinteger25Maximum unique accounts, from 1 to 500
includeHistorybooleantrueInclude annual certified value history

When startUrls is present, search fields are ignored. Unsupported domains and non-detail DCAD URLs fail closed.

Get started

  1. Open the Actor input page.
  2. Choose a search mode.
  3. Enter the matching owner, address, account, or business field.
  4. Set a practical maxItems limit.
  5. Keep Include assessed-value history enabled when year-over-year values matter.
  6. Click Start.
  7. Open the Dataset tab to preview, download, or integrate the records.

Exact account example:

{
"searchType": "account",
"accountNumber": "007554000K0020000",
"maxItems": 1,
"includeHistory": true
}

Owner portfolio example:

{
"searchType": "owner",
"ownerName": "TARGET CORP",
"maxItems": 25,
"includeHistory": true
}

Output fields

FieldMeaning
accountNumberStable DCAD appraisal account identifier
propertyTypeRESIDENTIAL, COMMERCIAL, or BPP
propertyAddress, cityPublic situs address and search-result city
ownerName, ownerMailingAddressCurrent public tax-roll ownership fields
businessNameDBA name for BPP accounts, when shown
legalDescriptionCombined public legal-description lines
deedTransferDateDate displayed by DCAD, not independently verified
appraisalYearCurrent certified appraisal year
improvementValue, landValue, marketValueNumeric certified values in USD
totalEstimatedTaxesDCAD courtesy estimate, not a bill
exemptionsPublic exemption labels/details
buildingAvailable building and land characteristics
valueHistoryAnnual improvement, land, market, and capped values
mapUrl, sourceUrlPublic DCAD evidence links
scrapedAtUTC retrieval timestamp

Fields are null when DCAD displays N/A or does not provide that field for the account type.

Example output

{
"accountNumber": "007554000K0020000",
"propertyType": "COMMERCIAL",
"propertyAddress": "39739 LBJ FWY",
"city": "DALLAS",
"ownerName": "TARGET CORP",
"marketValue": 7591090,
"landValue": 2614390,
"improvementValue": 4976700,
"appraisalYear": 2026,
"totalEstimatedTaxes": 169031.56,
"exemptions": [],
"valueHistory": [
{
"year": 2026,
"improvementValue": 4976700,
"landValue": 2614390,
"marketValue": 7591090,
"homesteadCappedValue": null
}
],
"sourceUrl": "https://www.dallascad.org/AcctDetailCom.aspx?ID=007554000K0020000",
"scrapedAt": "2026-08-03T02:07:38.066Z"
}

Values above are a point-in-time public example and may change when DCAD certifies or updates records.

How much does it cost to extract Dallas County property records?

The Actor uses pay-per-event pricing:

  • $0.005 once per run;
  • one item event per successfully saved property record;
  • per-record price depends on your Apify plan tier.

The BRONZE item price is $0.00384 per property record. Other active tiers range from $0.004416 on FREE to $0.0010752 on DIAMOND.

Example BRONZE totals:

RecordsStartItemsTotal
1$0.005$0.00384$0.00884
10$0.005$0.03840$0.04340
100$0.005$0.38400$0.38900

No item event is charged for an empty, rejected, duplicate, or failed record. Platform compute usage may also apply according to your Apify plan.

Schedule recurring property research

Use an Apify Schedule to rerun a stable owner, street, or account input. Send each completed dataset to your own storage, then compare records by accountNumber and appraisalYear.

The Actor returns snapshots; it does not maintain a hidden historical database or claim which field changed. Your workflow should retain prior datasets when change detection is required.

Export to spreadsheets and data pipelines

The default dataset supports JSON, CSV, Excel, XML, and RSS exports. Common patterns include:

  • append owner-search results to Google Sheets;
  • join accountNumber to an internal parcel table;
  • load annual valueHistory arrays into a warehouse;
  • trigger a webhook after scheduled research;
  • use Make or Zapier to route new dataset rows.

Treat accountNumber as the source identity and scrapedAt as snapshot metadata.

Run with the Apify API

Replace YOUR_TOKEN with an Apify API token.

cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~dallas-county-property-assessment-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchType":"owner","ownerName":"TARGET CORP","maxItems":10}'

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const { defaultDatasetId } = await client
.actor('automation-lab/dallas-county-property-assessment-scraper')
.call({ searchType: 'account', accountNumber: '007554000K0020000', maxItems: 1 });
const { items } = await client.dataset(defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('automation-lab/dallas-county-property-assessment-scraper').call(
run_input={'searchType': 'business', 'businessName': 'TARGET', 'maxItems': 10}
)
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

Use with Apify MCP

Add this Actor to Claude Code:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/dallas-county-property-assessment-scraper"

Claude Desktop, Cursor, and VS Code setup

Use this equivalent JSON configuration in Claude Desktop, Cursor, or VS Code:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/dallas-county-property-assessment-scraper"
}
}
}

Example prompts:

  • “Find up to 10 Dallas County appraisal records owned by TARGET CORP.”
  • “Fetch DCAD account 007554000K0020000 with annual value history.”
  • “Export the returned Dallas County records as a CSV-ready table.”

Limits and failure behavior

  • DCAD search pages return up to 10 results per page; the Actor follows pages until maxItems.
  • The Actor uses direct public HTTP and does not require a proxy or login.
  • Transient network, 429, and server failures are retried with bounded backoff.
  • Unexpected HTML or exhausted retries fail the run rather than returning a misleading empty success.
  • A valid search with no matches succeeds with zero dataset rows.
  • Detail URL mode validates the DCAD hostname, HTTPS, page type, and account shape.
  • Broad owner, business, and street queries can match many accounts; use a responsible limit.

Data interpretation

DCAD describes the site as informational. Values, exemptions, estimated taxes, owners, and transfer dates can be revised or corrected. Estimated taxes are not official bills. Owner and legal-description data are not a title report.

For decisions involving ownership, liens, taxes due, protest deadlines, or legal rights, verify against the responsible county clerk, tax office, appraisal district, and qualified professionals.

Legality and responsible use

Public accessibility does not remove your obligations. Use records for lawful property research, respect applicable privacy and anti-discrimination rules, avoid harassment, and apply appropriate retention and access controls.

Do not use this Actor to make automated eligibility, housing, credit, insurance, employment, or other high-impact decisions without the required legal basis and human review.

Troubleshooting

My address search returns no records

Use the street name as DCAD stores it and omit the street number from streetName. For example, provide addressNumber: "39739" and streetName: "LBJ", not streetName: "39739 LBJ FWY". Try omitting the optional number or city code to broaden the source search.

My owner or business result set is too broad

Enter more of the source name, then lower maxItems. DCAD supports % as a wildcard, so avoid leading wildcards unless you intentionally need a broad match.

Why are some values null?

DCAD displays N/A for some exempt properties and omits fields that do not apply to BPP, residential, or commercial records. The Actor preserves those distinctions as null instead of inventing zero.

Does the Actor monitor changes automatically?

No. Schedule repeated runs and retain prior datasets. Compare rows by accountNumber; use scrapedAt to identify each snapshot.

FAQ

Does this cover all of Texas?

No. It targets Dallas Central Appraisal District public records for Dallas County, Texas.

Can I search the Dallas CAD map?

The Actor returns the public parcel mapUrl for each resolved account. It does not scrape arbitrary map bounds or geometries.

Does it include tax payment status or amount due?

No. It returns DCAD appraisal values and the courtesy estimated-tax total. It does not claim current tax-office payment or delinquency status.

Are history values separate billable rows?

No. History is nested in the same property record and has no separate charge event.

Can I supply known account pages?

Yes. Add public DCAD residential, commercial, or BPP account-detail URLs to startUrls.

For another county-specific public appraisal workflow, see the Cook County Assessor Parcel Scraper. County systems use different identifiers and schemas, so use the Actor for the jurisdiction you need.