API Documentation
Programmatic access to U.S. foreclosure and REO property data aggregated from hundreds of public records and auction sources nationwide. Search, filter, paginate, and retrieve listings via a simple REST API.
https://api.foreclosuredatahub.com/api/v1Authentication
Authenticate every request with your API key.
Include your API key in the x-api-key header on every request. Generate keys from your dashboard.
curl -H "x-api-key: fdh_ak_your_key_here" \
https://api.foreclosuredatahub.com/api/v1/sourcesAPI access requires a monthly or yearly subscription. Monthly and yearly trials include 150 total API requests; weekly plans do not include API access.
Rate Limits
Limits are enforced per API key. Exceeding returns 429 with a Retry-After header.
These limits apply to standard subscription keys. Licensed keys run on negotiated monthly quotas with substantially higher ceilings. See licensing tiers.
Response Format
All responses use a consistent JSON envelope.
{
"data": [ ... ],
"meta": {
"total": 150,
"page": 1,
"per_page": 25,
"total_pages": 6
}
}{
"error": "Description of what went wrong"
}Property Enrichment Fields
Listings scraped from July 18, 2026 onward carry additional assessor and public record detail: building profile, the last recorded sale, and loan position. Older listings and a few sources omit these fields, so treat every one as optional.
{
"building_type": "Single Family",
"build_quality": "Good",
"num_bedrooms": "4",
"living_sqft": "1,353",
"assessor_year_built": "1973",
"land_use": "Single Family Residence",
"last_sold_price": "$78,000",
"last_sold_date": "Oct, 10 2014",
"mortgage_amount": "$76,587",
"mortgage_date": "Oct, 10 2014",
"mortgage_term": "30 years",
"mortgage_maturity_date": "Nov, 01 2044",
"estimated_equity": 367032
}"enrichment": {
"building_type": "Single Family",
"build_quality": "Good",
"bedrooms": "4",
"living_sqft": "1,353",
"building_sqft": "1,353",
"year_built": "1973",
"actual_year_built": "1980",
"property_type": "Single Family Residence",
"last_sold_price": "$78,000",
"last_sold_date": "Oct, 10 2014",
"loan_amount": "$76,587",
"loan_origination_date": "Oct, 10 2014",
"loan_term": "30 years",
"loan_maturity_date": "Nov, 01 2044"
}Mortgage amount due holds a date, not an amount: the date the mortgage amount falls due, which is the loan maturity date. enrichment.loan_maturity_date exposes the same value under a more explicit name. Both are returned.estimated_equity (unified responses only) is the estimated value minus the original recorded loan principal, as a plain number. It is an approximation rather than a payoff figure: it ignores principal paid down since origination and any secondary liens, and it can be negative when a property is over-leveraged.
Endpoints
All endpoints use GET requests and return JSON.
List all available data sources with their supported filters.
Request
curl -H "x-api-key: fdh_ak_your_key_here" \
https://api.foreclosuredatahub.com/api/v1/sourcesResponse
{
"data": [
{
"id": "feed-01",
"name": "Data Feed 01",
"filters": { "county": true, "state": true, "sale_date": true, "owner_name": true, "est_value": true }
},
...
]
}Search across all data sources simultaneously. Returns up to 100 results per source, grouped by source. At least one location filter (county, state, zip, or address) is required.
Parameters
countystringOptionalstatestringOptionalzipstringOptionaladdressstringOptionalsale_date_startdateOptionalsale_date_enddateOptionalowner_namestringOptionalest_value_minnumberOptionalest_value_maxnumberOptionalRequest
curl -H "x-api-key: fdh_ak_..." \
"https://api.foreclosuredatahub.com/api/v1/properties/search?state=FL&county=Miami-Dade"Response
{
"data": {
"results": [
{
"source": "feed-01",
"source_name": "Data Feed 01",
"records": [ { ... }, ... ],
"count": 45,
"has_more": false
},
...
]
},
"meta": { "total": 312 }
}Search with mode=unified to get normalized, paginated results across all sources in a single flat list. Each record includes standardized fields (address, city, state, zip, county, sale_date, bid_amount, owner name, etc.) with a source field indicating origin.
Parameters
modestringRequiredcountystringOptionalstatestringOptionalzipstringOptionaladdressstringOptionalsale_date_startdateOptionalsale_date_enddateOptionalowner_namestringOptionalest_value_minnumberOptionalest_value_maxnumberOptionalpageintegerOptionalpage_sizeintegerOptionalRequest
curl -H "x-api-key: fdh_ak_..." \
"https://api.foreclosuredatahub.com/api/v1/properties/search?mode=unified&state=FL&page=1&page_size=25"Response
{
"data": {
"records": [
{
"source": "feed-01",
"address": "123 Main St",
"city": "Miami",
"state": "FL",
"zip": "33101",
"county": "Miami-Dade",
"sale_date": "2026-04-15",
"bid_amount": "250000",
"owner_first_name": "John",
"owner_last_name": "Doe",
...
},
...
]
},
"meta": {
"total": 1250,
"page": 1,
"per_page": 25,
"total_pages": 50
}
}Fetch paginated data from a single source. Max 25 records per page.
Parameters
sourcestringRequiredpageintegerOptionalper_pageintegerOptionalstart_datedateOptionalend_datedateOptionalcountystringOptionalstatestringOptionalowner_namestringOptionalest_value_minnumberOptionalest_value_maxnumberOptionalRequest
curl -H "x-api-key: fdh_ak_..." \
"https://api.foreclosuredatahub.com/api/v1/properties/data?source=feed-01&state=TX&per_page=25"Response
{
"data": [
{ "Address": "123 Main St", "County": "Harris", ... },
...
],
"meta": {
"total": 1250,
"page": 1,
"per_page": 25,
"total_pages": 25
}
}Get record counts per data source for a date or date range.
Parameters
datedateOptionalstart_datedateOptionalend_datedateOptionalRequest
curl -H "x-api-key: fdh_ak_..." \
"https://api.foreclosuredatahub.com/api/v1/properties/counts?start_date=2026-03-15&end_date=2026-03-22"Response
{
"data": {
"start_date": "2026-03-15",
"end_date": "2026-03-22",
"sources": [
{
"id": "feed-01",
"name": "Data Feed 01",
"count": 523
},
...
],
"total": 4821
}
}Error Codes
Standard HTTP status codes with descriptive error messages.
400401403404429500Ready to get started?
Generate your API key from the dashboard and start building in minutes.
Building a product on top of this data? Commercial licensing covers showing records to your own customers. Standard plans are internal use only.