Texas Tax Sale Monitor — 12 Counties, New Listings, No Login avatar

Texas Tax Sale Monitor — 12 Counties, New Listings, No Login

Pricing

from $20.00 / 1,000 listings

Go to Apify Store
Texas Tax Sale Monitor — 12 Counties, New Listings, No Login

Texas Tax Sale Monitor — 12 Counties, New Listings, No Login

Watch tax sales in 12 Texas counties (Harris, Dallas, Travis, Bexar, Tarrant and more) and get only NEW or changed listings: address, cause number, adjudged value, minimum bid, sale date. Daily schedule. No login. MCP-ready. $20 per 1,000 alerts.

Pricing

from $20.00 / 1,000 listings

Rating

0.0

(0)

Developer

Peter Skotte

Peter Skotte

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Texas Tax Sale Monitor — new delinquent-tax sale listings, daily

Get a daily feed of only the new or changed tax foreclosure sale listings across the big Texas counties — Harris, Dallas, Travis, Bexar, Tarrant, El Paso, Montgomery, Galveston and more — with the sale date, cause number, appraisal-district account, address, adjudged value, minimum bid and a Google Maps link. The monitor remembers every listing it has already reported, so a scheduled run emits just the delta (new or updated), posts a summary to your webhook, and costs you only for what actually changed.

Built for distressed-property investors, wholesalers and title researchers who want every county's list the day it is posted, not a week later from a paid aggregator.

County coverage

County (counties value)SourceFieldsTypical posting cadence
harrisHarris County Tax Office listing (hctax.net)full: address, cause, HCAD account, adjudged value, min bid, precinct, legal description, judgment date, tax yearsMonthly sale on the first Tuesday; list posted ~3-4 weeks ahead, cancellations flagged up to sale day
dallasDallas County Sheriff online auction (RealAuction)address, cause, DCAD account, adjudged value, est. min bid, sale numberFirst Tuesday; items appear ~3 weeks before the sale
travisTravis County Constables online auction (RealAuction / realforeclose)address, cause, TCAD account, adjudged value, est. min bid, precinctFirst Tuesday; posted ~15 days ahead
bexarBexar County Clerk foreclosure map, tax layer (maps.bexar.org)address, city, ZIP, cause (document number), school district, lat/lonUpdated twice a month: ~18 days before the sale and the Friday after
tarrantTarrant County Constable Pct. 3 monthly listing pagescause number, TAD account, status (For Sale / Withdrawn)Pages for the next 1-2 sale dates; no address or bid on the county page
el-pasoEl Paso County online auction (RealAuction)same as DallasFirst Tuesday; posted a few weeks ahead (not every month has a sale)
montgomeryMontgomery County Constables online auction (RealAuction / realforeclose)same as DallasFirst Tuesday; not every month has a sale
galveston, smith, nueces, cameron, hidalgoCounty online auction (RealAuction)same as DallasFirst Tuesday

Counties whose only public list is not machine-readable are not supported and are skipped with a warning: Fort Bend (published only on the Linebarger portal, whose listing API has been returning server errors), Collin (upcoming sales are posted at the courthouse only; the county site lists struck-off resales by private offer only) and Denton (GovEase auction platform, listings behind a bidder login).

Texas law puts every tax sale on the first Tuesday of the month, 10:00 to 16:00 local time. A county with no scheduled sale for the coming month simply returns zero listings until its next list is posted.

How it works

  1. Pulls the current sale list for each county in counties (all upcoming sale dates on the county's calendar).
  2. Applies your saleTypes, minBid / maxBid and propertyTypes filters.
  3. Compares each listing against the monitor's saved state (county + cause number + account).
  4. Emits a record when the listing is unseen (changeType: "new") or when its sale date, minimum bid or status changed since it was last reported (changeType: "updated").
  5. Saves the updated state, then POSTs a run summary to webhookUrl if set.

State lives in a named key-value store txtaxsale-monitor-<hash of monitorId> in your Apify account, capped at 50,000 listings (oldest are dropped). Delete the store to reset a monitor.

Input

FieldDefaultNotes
counties["harris","dallas"]Any of the county keys in the table above. Names like "El Paso" or "Harris County" are accepted
saleTypes["tax","resale","struck-off"]tax original foreclosure sale, resale struck-off property re-offered, struck-off bid off to the county, execution Harris County execution / order-of-sale listings. Empty = all
minBid, maxBidunsetFilter on the published minimum / opening bid in USD. Listings with no published bid are excluded when either is set
propertyTypes[]Substring match on the property type where a source publishes one; listings without a type are kept
maxNewPerCounty10Cap per county per run. Anything beyond stays unseen and comes out next run
maxItems10Overall cap per run, shared round-robin across counties so every county is represented
firstRunModeemitAllemitAll reports every current listing on the first run; baseline records them silently
webhookUrl""Optional POST target for the run summary
monitorIddefaultOne state store per ID — run several watchlists side by side
proxyConfigurationnoneAll sources are reachable from the Apify platform without a proxy
  1. Create a task with your counties and bid range, and set monitorId (for example dfw-under-50k).
  2. First run: set firstRunMode to baseline. This records every listing currently posted, emits nothing, and stops day one from being a 300-row backlog. Skip this if you want the full current list.
  3. Set maxItems and maxNewPerCounty to 500+ so a busy posting day is never truncated.
  4. Schedule the task daily at 07:00 America/Chicago. Counties post and update their lists during the business day; a morning run catches everything from the previous day. Around the third week of each month (when most lists for the first-Tuesday sale go up) a second afternoon run is worth the start fee.
  5. Point webhookUrl at Slack, Zapier, Make, or your own endpoint.

The default settings ({}) run in emitAll mode for Harris and Dallas so you see real output on the first try.

Example: DFW and Houston, bids under $50k

{
"counties": ["harris", "dallas", "tarrant", "montgomery", "galveston"],
"saleTypes": ["tax", "resale"],
"maxBid": 50000,
"maxNewPerCounty": 500,
"maxItems": 2000,
"firstRunMode": "baseline",
"webhookUrl": "https://hooks.slack.com/services/XXX/YYY/ZZZ",
"monitorId": "dfw-houston-under-50k"
}

Output

One record per new or updated listing:

{
"county": "Harris",
"state": "TX",
"saleDate": "2026-10-06",
"saleType": "tax",
"status": "For Sale",
"causeNumber": "201568888",
"accountNumber": "0720160010046",
"address": "4114 E TOLIVER ST",
"city": "HOUSTON",
"zip": "77016-6239",
"legalDescription": "The West 50 feet of Lot 46 of Cranford Place, a subdivision in Harris County, Texas ...",
"propertyType": null,
"adjudgedValue": 64263,
"minimumBid": 18088.24,
"estimatedValue": null,
"precinct": "Precinct 1",
"saleNumber": "1",
"judgmentDate": "2016-06-29",
"taxYears": "2013 - 2015",
"schoolDistrict": null,
"source": "Harris County Tax Office (hctax.net)",
"sourceUrl": "https://www.hctax.net/Property/listings/taxsalelisting",
"detailUrl": "https://www.hctax.net/Property/listings/saledetail?account=0720160010046",
"cadUrl": "https://public.hcad.org/records/outsider/hc.asp?acct=0720160010046",
"mapUrl": "https://www.google.com/maps/search/?api=1&query=4114%20E%20TOLIVER%20ST%2C%20HOUSTON%2C%20TX%2C%2077016-6239",
"changeType": "new",
"firstSeenAt": "2026-09-28T19:23:10.318Z",
"monitorId": "default"
}

firstSeenAt is the run in which the listing was first reported; updated records keep their original firstSeenAt. Fields a county does not publish are null (Bexar has no bids, Tarrant has no address or bid; open sourceUrl or look the account up at the appraisal district for those).

Webhook payload

POSTed once per run as application/json, also saved as the SUMMARY record in the run's key-value store:

{
"monitorId": "dfw-houston-under-50k",
"runAt": "2026-09-29T12:00:03.118Z",
"newCount": 4,
"updatedCount": 1,
"counties": { "harris": { "scanned": 231, "emitted": 3 }, "dallas": { "scanned": 33, "emitted": 2 } },
"seenTotal": 812,
"baseline": false,
"listings": [ { "...first 50 records, same shape as the dataset..." } ]
}

Pricing

Pay per event: a small start fee plus a per-listing fee only for records emitted. A daily monitor that finds nothing new costs just the start fee.

Notes

  • A listing counts as updated when its sale date, minimum bid or status changes (for example a Harris County cancellation or a Tarrant County withdrawal).
  • RealAuction counties are read from the auction calendar for the current month and the next two, so a list posted early for the following month is picked up as soon as it appears.
  • Sources are public county and constable sites; the actor paces requests and needs no login or API key.