Developer reference

Machine capability

HUD subsidy contract expiry data for AI agents

Project-based subsidy contracts approaching their expiry date, queryable by state and window, free and without a key.

Short answer

Which HUD-subsidised properties have contracts approaching expiry? Yes, for 54 states and territories, effectively national. 4,721 published events. Free, with no API key and no signup. Call search_property_events at https://exchange-production-9123.up.railway.app/mcp.

What it returns

A dated contract expiry per property, with the property id, address, unit count and the programme record.

Coverage, with the denominators

Coverage is uneven by family and stating it any other way would be the one failure that matters here. These are whole populations, not samples.

Event familyEventsWhere it is covered
SUBSIDY_CONTRACT_EXPIRING4,72154 states and territories, effectively national

Why this is different from the alternatives

An expiring contract is the point at which affordability is decided rather than assumed. Preservation buyers, state agencies and lenders all work this calendar and none of them can currently query it from an agent.

A real call, and the real response

Executed against production when this page was generated. The response below is what came back, truncated, not an illustration.

HUD subsidy contracts expiring in the next three years.

curl -s https://exchange-production-9123.up.railway.app/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_property_events","arguments":{"event_type":"SUBSIDY_CONTRACT_EXPIRING","within_days":1095,"limit":3}}}'

Response (truncated)

{
 "dfx": {
  "capability": "search_property_events",
  "version": "0.3.0",
  "answered_at": "2026-09-02T11:27:25.335520+00:00"
 },
 "ok": true,
 "count": 3,
 "results": [
  {
   "dfx_id": "49f31209-1c63-4c94-9422-f7975595a8be",
   "place_kind": "property",
   "event_type": "SUBSIDY_CONTRACT_EXPIRING",
   "occurred_at": "2026-09-02",
   "in_days": 0,
   "headline": "SUN RISE/FAMILY SERVICE CENTERS, Midlothian, IL: the PRAC/811 contract expires 2026-09-02, covering 8 assisted units.",
   "address": "14740 Turner Ave",
   "city": "Midlothian",
   "state": "IL",
   "unit_count": 8,
   "address_known": true,
   "evidence_class": "OBSERVED",
   "source": "hud_multifamily_arcgis",
   "sources": [
    "hud_multifamily_arcgis"
   ],
   "verify": {
    "capability": "get_property_record",
    "dfx_id": "49f31209-1c63-4c94-9422-f7975595a8be"
   }
  },
  {
   "dfx_id": "73d051e1-2d72-4760-92bb-2460b9c17a36",
   "place_kind": "property",
   "event_type": "SUBSIDY_CONTRACT_EXPIRING",
   "occurred_at": "2026-09-03",
   "in_days": 1,
   "headline": "Hallmark Group Home, Hardinsburg, KY: the 202/162 NC contract expires 2026-09-03, covering 8 assisted units.",
   "address": "606 Hooks Ln",
   "city": "Hardinsburg",
   "state": "KY",
   "unit_count": 8,
   "address_known": true,
   "evidence_class": "OBSERVED",
   "source": "hud_multifamily_arcgis",
   "sources": [
    "hud_multifamily_arcgis"
   ],
   "verify": {
    "capability": "get_property_record",
    "dfx_id": "73d051e1-2d72-4760-92bb-2460b9c17a36"
   }
  },
  {
   "dfx_id": "1cc47aa3-74fd-4458-8421-ad011fb6b39c",
   "place_kind": "property",
   "event_type": "SUBSIDY_CONTRACT_EXPIRING",
   "occurred_at": "2026-09-08",
   "in_days": 6,
   "headline": "Park Heights Place Elderly Housing, Baltimore, MD: the PRAC/202 contract expires 2026-09-08, covering 76 assisted units.",
   "address": "5430 Park Heights Ave",
   "city": "Baltimore",
   "state": "MD",
   "unit_count": 84,
   "address_known": true,
   "evidence_class": "OBSERVED",
   "source": "hud_multifamily_arcgis",
   "sources": [
    "hud_multifamily_arcgis"
   ],
   "verify": {
    "capability": "get_property_record",
    "dfx_id": "1cc47aa3-74fd-4458-8421-ad011fb6b39c"
   }
  }
 ],
 "state": "OK",
 "coverage": {
  "verdict": "COVERED",
  "refreshed_at": "2026-09-01T13:03:52.11183+00:00"
 },
 "searched": true,
 "complete": false,
 "no_match": null,
 "index_covera

Connecting

One HTTPS endpoint speaking Model Context Protocol over JSON-RPC. No signup, no API key, no OAuth for anything free. A plain GET on the endpoint returns every tool schema, so you can evaluate the server without calling it.

{
  "mcpServers": {
    "dfx-real-estate": {
      "url": "https://exchange-production-9123.up.railway.app/mcp"
    }
  }
}

Registry entry io.github.Capital-W-Holdings/us-property-parcel-real-estate-debt. The full machine-readable capability catalog, including every tool schema, the measured coverage grid and the stated gaps, is at /ai/real-estate-mcp/catalog.json.

Where this does not help

Where it does not help

  • An expiry is a date on a contract. It is not a prediction that the owner will opt out.
  • Ownership is not attached: HUD publishes a management agent and never an owner.

The other capabilities on this server

Facts on this page were last checked against the running product on . Prices are read from the live billing configuration, so this page and your invoice cannot disagree. The machine-readable version of this record is at /ai/entity.json.