Data, downloads and methods

You can download every contract on the deal screen, one row per contract with both expiration dates, as CSV or JSON. The files are rebuilt from HUD’s Section 8 database each time the site is, and the copy here is from HUD’s file dated October 6, 2026. The rest of this page explains where the numbers come from.

Downloads

File What it holds Rows
hap-contracts.csv (5 MB) Every contract in HUD’s file, national 24,313
hap-contracts.json (14 MB) The same rows as a JSON array of flat objects 24,313
manifest.json File list, as-of date, source, key and the per-state files
states/hap-contracts-<st>.csv One CSV per state, e.g. Texas, California, New York by state

HUD’s file has 24,314 contract rows. One of them, MI33A008004, appears twice with identical values, so the download keeps it once. hap-contracts-xx.csv holds the 16 properties HUD lists without a state. All statuses are included (Active, Expired, Pending, Suspended, Executed, Terminated), so filter on status if you only want live contracts. Owner and management agent names, phones and emails are not in these files.

Columns

Column From HUD’s field Notes
contract_id contract_number The key. Unique in the download
property_id property_id One property can hold several contracts
property_name, address, city, state, zip, county property name and address fields As HUD spells them
property_units property_total_unit_count All units, assisted or not
property_category property_category_name
financing_type, fha_number primary_financing_type, associated_financing_Number
fha_loan_in_hud_loan_file derived 1 when fha_number matches an active loan in HUD’s insured-loan file
program_type program_type_name e.g. Sec 8 NC, LMSA, PRAC/202
contract_type contract_doc_type_code HAP, PRAC, RAC, PAC, COOP
status tracs_status_name
effective_date tracs_effective_date
overall_expiration_date tracs_overall_expiration_date End of the contract term
current_expiration_date tracs_current_expiration_date End of the funded piece; equals the overall date when HUD’s two dates match
term_months contract_term_months_qty
assisted_units assisted_units_count
rent_to_fmr_pct rent_to_FMR_ratio Percent, rounded to 0.1. HUD calls it a guide only
expiration_window derived Where overall_expiration_date falls from the file’s as-of date: past, within 12 months, 12 to 24 months, 2 to 5 years, over 5 years

Dates are YYYY-MM-DD. A blank cell means HUD’s field was blank or zero.

Contract alerts

Each state page has a “Watch a contract” form. When a new HUD file changes a watched contract’s status, either expiration date or its expiration window, the alert fires. That covers a renewal (the overall date moves out), an opt-out or termination (the status changes or the contract drops to past), and a contract coming within 24 or 12 months of its end. Alert emails haven’t started yet; sign-ups are saved, and the first email will ask you to confirm.

API

All of these can be called from any site (CORS is open). The rate endpoints are cached for about 15 minutes.

Endpoint Returns
GET /data/downloads/manifest.json The download list above, as JSON
GET /data/contracts/<ST>.json The compact per-state file the deal screen filters, with short keys (k contract number, x overall expiration, xc current expiration, st status, au assisted units, fmr rent to FMR). The downloads are easier to work with
GET /api/live?ids=UST5,UST10,SOFR Latest Treasury par yields and SOFR from the U.S. Treasury and the New York Fed, with each reading’s date, a week-ago and month-ago value, a freshness status and the publisher link. Add &history=60 for 60 days of readings
GET /embed/rates?ids=UST5,UST10,SOFR A small rate panel to place in an iframe (&theme=dark for a dark panel)

The rate panel, ready to paste:

<iframe src="https://multifamily.deals/embed/rates?ids=UST5,UST10,SOFR" width="100%" height="150" style="border:0" title="Rates from Contract Clock" loading="lazy"></iframe>

License

HUD’s data is a U.S. government work and is in the public domain. Our compilation (the cleaned, joined and reshaped files above) is offered under CC BY 4.0: use it for anything, commercial use included, with the credit “Data: Contract Clock (multifamily.deals)” and a link to this page. The rate readings carry their publishers’ terms: the New York Fed’s SOFR comes with its Terms of Use notice, and Treasury yields are public domain. There’s no warranty; HUD says its own database “does not purport to be complete or all inclusive”, and our copy inherits that. For bulk or commercial API terms, write to desk@janover.co.

Everything on the deal screen comes from two files HUD publishes for free, the Section 8 contracts database first and the insured-loan file second. We download them, keep the fields a buyer needs, drop the ones we don’t want to republish, and publish the result. Nothing is added from any other source.

Where the data comes from

The Section 8 file

HUD’s Multifamily Assistance and Section 8 Database lists project-based rental assistance contracts and the properties they sit on. The copy used now is labeled “Current as of 10/06/2026”: 24,314 contracts on 23,610 properties.

Each contract has two end dates. The overall expiration date is the end of the contract term. The current expiration date is often much sooner, because long contracts are funded in shorter pieces. The screen shows the overall date. The screen counts only contracts HUD lists as active. In the next two years 4,880 contracts reach their overall expiration, while 19,145 reach a current expiration; most of the second group just get funded again.

HUD’s ratio of contract rent to Fair Market Rent comes straight from the file. HUD describes it as a guide only. HUD also says the database “does not purport to be complete or all inclusive”.

We don’t republish owner or management agent names, phone numbers or emails, even though HUD’s file has them.

A “below FMR” contract on the screen is a Section 8 HAP contract, active, with HUD’s rent-to-FMR ratio above zero and under 90%. 6,004 contracts meet that test nationally. The 90% line is ours, chosen to show contracts paying clearly under the area figure; it isn’t a HUD threshold, and HUD sets renewal rents from a rent comparability study, not from this ratio.

The loan file

HUD’s Insured Multifamily Mortgages page publishes a spreadsheet of every active FHA-insured multifamily loan. The copy used now is the one HUD labels “Current as of September 30, 2026”. It has 15,720 loans; we use the 11,599 on apartment properties (leaving out 4,042 healthcare loans under Section 232, 76 hospital loans under Section 242, and 3 already past maturity).

We use it for two things only: the table of loans maturing within five years on each state page, and the FHA number shown next to a Section 8 contract when the property also has an insured loan. “Balance” in the maturity table is HUD’s amortized principal balance, which HUD doesn’t explain further; treat it as a scheduled estimate, not a payoff figure.

How the two files are joined

A property in the Section 8 file that also has an FHA-insured loan carries the loan’s FHA number. Where that number matches a loan in the loan file exactly, the state page shows the FHA number next to the contract. 4,191 properties match. We don’t match on names or addresses.

What we compute

  • Months to maturity: from HUD’s as-of date to the maturity date.
  • The two-year and five-year windows on state pages run from the file dates above.
  • The offer calculator’s income, value and loan figures, from the numbers you enter or carry over from a row.

Refresh

A scheduled job re-reads both files from HUD’s pages once a week and stops with an error, keeping the last good copy, if HUD moves a link or renames a column. When HUD posts a new file, the state tables, the contract filter and every download switch to it within about an hour, with no rebuild. Each page shows the as-of date of the file it’s using. If you spot a stale row, tell us.

Have a question?

Send it to Contract Clock and we will reply by email.

Finance a deal