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, measured 12 September 2026. 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 family | Events | Where it is covered |
|---|---|---|
| SUBSIDY_CONTRACT_EXPIRING | 4,721 | 54 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-12T14:38:33.060519+00:00"
},
"ok": true,
"count": 3,
"results": [
{
"dfx_id": "c1df4b0c-e690-462f-be15-224729de64af",
"place_kind": "property",
"event_type": "SUBSIDY_CONTRACT_EXPIRING",
"occurred_at": "2026-09-13",
"in_days": 1,
"headline": "CAMPBELL COURTS APARTMENTS, Bridger, MT: the Sec 8 NC contract expires 2026-09-13, covering 18 assisted units.",
"address": "502 S 4th St",
"city": "Bridger",
"state": "MT",
"unit_count": 18,
"address_known": true,
"magnitude": 18.0,
"magnitude_unit": "assisted_units",
"evidence_class": "OBSERVED",
"source": "hud_multifamily_arcgis",
"sources": [
"hud_multifamily_arcgis"
],
"verify": {
"capability": "get_property_record",
"dfx_id": "c1df4b0c-e690-462f-be15-224729de64af"
}
},
{
"dfx_id": "11a1c023-636f-4bd5-9c87-b85b4bada6b7",
"place_kind": "property",
"event_type": "SUBSIDY_CONTRACT_EXPIRING",
"occurred_at": "2026-09-15",
"in_days": 3,
"headline": "MULFORD APARTMENTS, Rockford, IL: the PRAC/811 contract expires 2026-09-15, covering 8 assisted units.",
"address": "635 S Mulford Rd",
"city": "Rockford",
"state": "IL",
"unit_count": 8,
"address_known": true,
"magnitude": 8.0,
"magnitude_unit": "assisted_units",
"evidence_class": "OBSERVED",
"source": "hud_multifamily_arcgis",
"sources": [
"hud_multifamily_arcgis"
],
"verify": {
"capability": "get_property_record",
"dfx_id": "11a1c023-636f-4bd5-9c87-b85b4bada6b7"
}
},
{
"dfx_id": "75e41907-465e-4eb8-b5d4-ca0a28f48a43",
"place_kind": "property",
"event_type": "SUBSIDY_CONTRACT_EXPIRING",
"occurred_at": "2026-09-15",
"in_days": 3,
"headline": "EAGLE CREST ESTATES, Spokane, WA: the PRAC/811 contract expires 2026-09-15, covering 21 assisted units.",
"address": "811 S Hatch St",
"city": "Spokane",
"state": "WA",
"unit_count": 21,
"address_known": true,
"magnitude": 21.0,
"magnitude_unit": "assisted_units",
"evidence_class": "OBSERVED",
"source": "hud_multifamily_arcgis",
"sources": [
"hud_multifamily_arcgis"
],
"verify": {
"capability": "get_property_record",
"dfx_id": "75e41907-465e-4eb8-b5d4-ca0a28f48a43"
}
}
],
"state": "OK",
"coverage": {
"verdict": "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.
Claude Code
one command, then it is available in every session
claude mcp add --transport http dfx-real-estate https://exchange-production-9123.up.railway.app/mcp
Claude Desktop
claude_desktop_config.json, then restart the app. It cannot reach a remote server directly, so this bridges through mcp-remote.
{
"mcpServers": {
"dfx-real-estate": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://exchange-production-9123.up.railway.app/mcp"
]
}
}
}Cursor, Windsurf, Cline and Zed
the mcp.json their settings panel writes
{
"mcpServers": {
"dfx-real-estate": {
"url": "https://exchange-production-9123.up.railway.app/mcp"
}
}
}VS Code
the servers key, which is spelled differently to everything above
{
"servers": {
"dfx-real-estate": {
"type": "http",
"url": "https://exchange-production-9123.up.railway.app/mcp"
}
}
}There is no signup, no API key and no OAuth for anything free, and eleven of the twelve tools are free. A plain GET on the endpoint returns every tool schema, so a client can be pointed at it and evaluated before it is trusted.
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.
State by state
One page per state, each carrying the dated rows themselves rather than a description of them. These are free to read and free to call.
- Alabama 77
- Alaska 29
- Arizona 43
- Arkansas 101
- California 374
- Colorado 56
- Connecticut 56
- Delaware 21
- District of Columbia 22
- Florida 157
- Georgia 113
- Guam 1
- Hawaii 37
- Idaho 14
- Illinois 153
- Indiana 94
- Iowa 57
- Kansas 29
- Kentucky 78
- Louisiana 82
- Maine 45
- Maryland 136
- Massachusetts 191
- Michigan 71
- Minnesota 142
- Mississippi 44
- Missouri 117
- Montana 19
- Nebraska 56
- Nevada 15
- New Hampshire 37
- New Jersey 163
- New Mexico 40
- New York 256
- North Carolina 286
- North Dakota 22
- Ohio 270
- Oklahoma 74
- Oregon 72
- Pennsylvania 155
- Puerto Rico 19
- Rhode Island 62
- South Carolina 98
- South Dakota 42
- Tennessee 108
- Texas 165
- US Virgin Islands 4
- Utah 27
- Vermont 16
- Virginia 118
- Washington 81
- West Virginia 47
- Wisconsin 115
- Wyoming 13
The other capabilities on this server
- Which commercial real-estate loans mature in a given state and window? 3,422 events, 52 states and territories, effectively national.
- Which LIHTC properties are reaching the end of a compliance period? 11,956 events, 56 states and territories, effectively national.
- Where is commercial real estate in distress, foreclosure or workout? 307 events, 28 states, broad but NOT national.
- What did this property sell for, and who owns it? 43,680 events, 2 states only: MA, NY.
- Which commercial leases are approaching expiry, and who occupies a building? 3,966 events, 55 states and territories, effectively national.
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.