Skip to content
Foreclosure Data Hub
API Documentation
REST API v1

API Documentation

Programmatic access to U.S. foreclosure and REO property data from 23 sources across all 50 states. Search, filter, paginate, and retrieve listings via a simple REST API.

Base URL
https://api.foreclosuredatahub.com/api/v1

Authentication

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/sources

API 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.

Search
15 req/min
Data
30 req/min
Counts
15 req/min
Sources
10 req/min
Global
1,000 req/hr
Trial
150 total

Response Format

All responses use a consistent JSON envelope.

Success
Response
{
  "data": [ ... ],
  "meta": {
    "total": 150,
    "page": 1,
    "per_page": 25,
    "total_pages": 6
  }
}
Error
Response
{
  "error": "Description of what went wrong"
}

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/sources

Response

Response
{
  "data": [
    {
      "id": "source_a",
      "name": "County Records Feed A",
      "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

countystringOptional
County name filter. Can specify multiple (e.g., county=Cook&county=Lake).
statestringOptional
State name or abbreviation. Can specify multiple.
zipstringOptional
Zip code filter. Can specify multiple.
addressstringOptional
Property address filter (partial match). Can specify multiple.
sale_date_startdateOptional
Filter by sale date start (YYYY-MM-DD).
sale_date_enddateOptional
Filter by sale date end (YYYY-MM-DD).
owner_namestringOptional
Owner name filter (partial match on first or last name). Only applied to sources that expose owner fields.
est_value_minnumberOptional
Minimum estimated value (Redfin Estimate). Only applied to sources with an estimated value field.
est_value_maxnumberOptional
Maximum estimated value (Redfin Estimate). Only applied to sources with an estimated value field.

Request

curl -H "x-api-key: fdh_ak_..." \
  "https://api.foreclosuredatahub.com/api/v1/properties/search?state=FL&county=Miami-Dade"

Response

Response
{
  "data": {
    "results": [
      {
        "source": "source_a",
        "source_name": "County Records Feed A",
        "records": [ { ... }, ... ],
        "count": 45,
        "has_more": false
      },
      ...
    ]
  },
  "meta": { "total": 312 }
}

Fetch paginated data from a single source. Max 100 records per page.

Parameters

sourcestringRequired
Data source ID (from /v1/sources).
pageintegerOptional
Page number (default: 1).
per_pageintegerOptional
Results per page, 1-100 (default: 25).
start_datedateOptional
Filter by date added start (YYYY-MM-DD).
end_datedateOptional
Filter by date added end (YYYY-MM-DD).
countystringOptional
County name filter.
statestringOptional
State name or abbreviation.
owner_namestringOptional
Owner name filter (partial match on first or last name). Only applied when the source exposes owner fields.
est_value_minnumberOptional
Minimum estimated value (Redfin Estimate). Only applied when the source exposes an estimated value field.
est_value_maxnumberOptional
Maximum estimated value (Redfin Estimate). Only applied when the source exposes an estimated value field.

Request

curl -H "x-api-key: fdh_ak_..." \
  "https://api.foreclosuredatahub.com/api/v1/properties/data?source=auction&state=TX&per_page=50"

Response

Response
{
  "data": [
    { "Address": "123 Main St", "County": "Harris", ... },
    ...
  ],
  "meta": {
    "total": 1250,
    "page": 1,
    "per_page": 50,
    "total_pages": 25
  }
}

Get record counts per data source for a date or date range.

Parameters

datedateOptional
Single date (YYYY-MM-DD). Defaults to today.
start_datedateOptional
Range start (YYYY-MM-DD). Use with end_date.
end_datedateOptional
Range end (YYYY-MM-DD). Use with start_date.

Request

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

Response
{
  "data": {
    "start_date": "2026-03-15",
    "end_date": "2026-03-22",
    "sources": [
      {
        "name": "source_a",
        "schema": "source_a",
        "displayName": "County Records Feed A",
        "count": 523
      },
      ...
    ],
    "total": 4821
  }
}

Error Codes

Standard HTTP status codes with descriptive error messages.

400
Bad Request
Invalid parameters or missing required fields.
401
Unauthorized
Missing or invalid API key.
403
Forbidden
Subscription inactive or plan does not include API access.
404
Not Found
No data matches the query.
429
Rate Limited
Too many requests. Check Retry-After header.
500
Server Error
Something went wrong on our end.

Ready to get started?

Generate your API key from the dashboard and start building in minutes.

Contact Support