{"what_this_is":"The government publishes these records. It does not deliver them: each source has its own key, format, cadence and failure mode, and the person with a duty to read them rebuilds the join by hand. This page lists what we found broken in each channel and the repair we shipped — as facts about publishing, not judgments about agencies.","channels":[{"source":"HHS OIG LEIE","published_as":"Monthly CSV download, individuals and entities mixed; a web search that returns one name at a time.","broken":"No API; no dated proof of a check; screening 2,000 staff monthly means 2,000 searches.","repair":"File stored verbatim with its SHA-256 and date; exact business-name and exact-NPI lookup; batch check of a pasted list; one dated record per run.","since":"2026-06","url":"https://oig.hhs.gov/exclusions/"},{"source":"SAM.gov Exclusions","published_as":"Daily ZIP behind a click-through modal; the API requires a personal key and a system account for the full extract.","broken":"The file service the page itself uses is undocumented on the page; 'no result' on the website leaves no artifact.","repair":"Daily extract pulled from the public file service, 35k firm rows stored verbatim, exact name or UEI, file name and hash on every answer.","since":"2026-06","url":"https://sam.gov/search/?index=ex"},{"source":"OFAC SDN list","published_as":"CSV with no header row and '-0-' for empty fields; aliases in a separate file; a sanctions-search site.","broken":"Names without an official key; aliases must be joined by entity number; most screening tools match fuzzily and hide it.","repair":"SDN and ALT files stored verbatim; exact name or exact listed alias only, alias matches labelled; date and hash shown.","since":"2026-06","url":"https://sanctionssearch.ofac.treas.gov/"},{"source":"USAspending","published_as":"Rich API keyed on UEI; name search returns near-matches without saying so.","broken":"Slow under load; a name search silently mixes registrants with similar names.","repair":"Recipients counted only when the registered name equals the searched name; the others listed as 'not counted'; shared 24 h cache; 'did not answer' instead of a zero.","since":"2026-05","url":"https://www.usaspending.gov/"},{"source":"Federal Audit Clearinghouse","published_as":"Keyed API by auditee UEI, behind a free per-person API key.","broken":"The key gate means most readers never reach the filings; findings and general data are separate tables.","repair":"Connector joins general and findings under one UEI; filings shown as filed with the auditor's terms; says plainly when no key is configured.","since":"2026-06","url":"https://www.fac.gov/"},{"source":"FMCSA SAFER / Motor Carrier Census","published_as":"HTML snapshot per USDOT; a Socrata dataset for the census.","broken":"Snapshots are overwritten, so history is lost; Socrata throttles and returns 503s.","repair":"Every snapshot kept as a dated version with a change log; last-good census list served with its pull time when the service throttles.","since":"2026-05","url":"https://safer.fmcsa.dot.gov/"},{"source":"CFPB complaints","published_as":"Public API and search.","broken":"Company names are free text; a typed name can match the wrong company with high confidence; categories are revised without a changelog.","repair":"Exact company-field match with a published rule version; matches under retired rules discarded; refusals published; composition changes shown with the taxonomy caveat.","since":"2026-06","url":"https://www.consumerfinance.gov/data-research/consumer-complaints/"},{"source":"HHS OCR breach portal","published_as":"A JSF web application with an export button; no API.","broken":"Resolved cases move to an archive, so the current list thins and old months look quieter than they were.","repair":"Export pulled through the portal's own report endpoint; current and archive lists read; the thinning stated on every chart.","since":"2026-06","url":"https://ocrportal.hhs.gov/ocr/breach/"},{"source":"CMS hospital data","published_as":"Provider Data Catalog API.","broken":"Times out under load; a failed lookup used to fall through to an unrelated company of the same name.","repair":"Hospital intent preserved on failure; the page says CMS did not answer.","since":"2026-05","url":"https://data.cms.gov/provider-data/"},{"source":"Census government finance","published_as":"timeseries API with undocumented GOVTYPE codes.","broken":"Documented parameters return 404; the state total needs GOVTYPE 001, not 1.","repair":"Working parameters recorded in the method; per-resident lines with the population year stated.","since":"2026-06","url":"https://www.census.gov/programs-surveys/gov-finances.html"},{"source":"Treasury Fiscal Data","published_as":"Clean REST API, no key.","broken":"Bracketed paging parameters must be sent literally; the monthly statement mixes current- and prior-year blocks in one table.","repair":"Current-year block selected by sequence; department lines taken from Treasury's own 'Total--' rows; formulas shown.","since":"2026-06","url":"https://fiscaldata.treasury.gov/"},{"source":"State Medicaid exclusion lists (44 states + DC)","published_as":"45 separate lists: Excel with the header on row 1, 3 or 33; tab-delimited; PDF only; ASP.NET postback downloads; search forms with no file; two pages that return 403 to any program.","broken":"No federal file joins them, no common column names, no common key; file names change every month, so last month's link dies. Every Medicaid provider must still check its own state list each time it checks the LEIE.","repair":"Fifteen state files read as published, header found by column meaning, entities by exact printed name and individuals by exact NPI, each state's file date and hash kept; the other thirty said plainly as 'not read' with the official link. One column on the screening record and the batch check.","since":"2026-06","url":"/exclusions/states"},{"source":"State business registries","published_as":"Seven states publish machine-readable registries: CT, CO, NY, OR and PA on Socrata open-data APIs; Virginia as ad hoc CSV/XLSX extracts (the LLC file stops at Excel's 1,048,575-row ceiling); Florida as a 1.8 GB fixed-width quarterly zip on a public SFTP. The other 43 states and DC offer a search page only.","broken":"No common key, no common layout, no common cadence; officers and owners are in some files and not others.","repair":"Exact registered name across all seven, file date printed on every row, Florida's placeholder FEI 000000000 never used as an EIN; the 43 unread states named as not read with the official search link. Officers, agents and owners deliberately not loaded.","since":"2026-06","url":"/api/public-record/state-registry/exact"},{"source":"HHS Medicaid Provider Spending","published_as":"One 3.07 GB parquet file (238 million rows: billing NPI × servicing NPI × HCPCS × month, 2018–2024) on HHS Open Data; no API.","broken":"Unreadable without a columnar engine; the NPI columns are unsorted, so every lookup is a full pass over the file.","repair":"File pulled once with resumable range requests and its SHA-256 recorded; each NPI read straight from the file in one pass and cached; sums by year and by HCPCS stated as sums of the file's rows, nothing compared or flagged.","since":"2026-06","url":"https://opendata.hhs.gov/datasets/medicaid-provider-spending/"},{"source":"CMS Open Payments","published_as":"DKAN API, one dataset per program year per kind (general, research, ownership); returns 403 to a bare client.","broken":"Seven years × three kinds = twenty-one datasets to query for one NPI; sums are not available server-side.","repair":"Datasets discovered from CMS's own metastore daily; all twenty-one read by exact NPI; rows printed with CMS's dispute-status field; sums are of the rows read and say so.","since":"2026-06","url":"https://openpaymentsdata.cms.gov/"},{"source":"HIFLD Open facility layers","published_as":"DHS published ~400 infrastructure layers (hospitals, colleges, nursing homes, power plants, fire/EMS, law enforcement, courthouses) on HIFLD Open, then retired the portal in August 2025 with a crosswalk back to originating agencies.","broken":"The portal is gone; the Data Rescue Project's snapshot lives on DataLumos and HIFLD Next, a non-government host that has begun adding third-party updates (a 2026 hospitals layer produced by Niyam IT) beside the rescued versions.","repair":"Nine layers read from HIFLD Next pinned to the rescued v1.0.0 only, catalog checksum verified against our SHA-256; every row carries the custody chain (DHS inventory dates, producer, DataLumos archive, HIFLD Next release) and the originating agency's current lookup; later non-DHS versions named and not read.","since":"2026-06","url":"https://hifld.publicenvirodata.org/"},{"source":"CMS Care Compare (Provider Data Catalog)","published_as":"DKAN datastore per dataset (hospitals xubh-q36u, nursing homes 4pq5-n9py); CCN is the key; CMS's own star ratings and footnotes are columns.","broken":"Ratings are easy to re-badge as someone else's 'score'; hospital and nursing-home files use different key column names; blanks and footnotes carry meaning.","repair":"Exact CCN (or exact printed name, labelled), every CMS field printed as published including blanks and footnotes, dataset id and modified date on each row; ratings labelled as CMS's own, none added by us.","since":"2026-06","url":"https://data.cms.gov/provider-data/"},{"source":"Senate LDA and FEC registers","published_as":"LDA: REST API at lda.gov (moved from lda.senate.gov; the old host now 301s), anonymous rate limit. FEC: OpenFEC API with an api.data.gov key; committee names embed sponsor names in free text.","broken":"Name search on both is fuzzy by design; a PAC's committee name is rarely the sponsor's name; amounts are as filed and not comparable across filers.","repair":"Search, then keep only rows whose printed registrant/client name, committee name or Form 1 connected-organization name equals the name; amounts printed per filing as filed; filing document linked; nothing totalled or inferred.","since":"2026-06","url":"https://lda.gov/"},{"source":"All of the above, together","published_as":"Twelve agencies and forty-five states, each with its own key.","broken":"No agency says where its records do or do not join another's; nobody archives what a page said on a date.","repair":"Match register with published refusals; daily archive hash chain with OpenTimestamps proof; free, logged corrections.","since":"2026-06","url":"/methodology"}],"not_fixable_from_outside":["Death Master File and IRS TIN matching are not public; we do not read them and say so wherever a buyer might expect them.","43 state business registries and UCC filings publish no machine-readable file; we link to their search pages rather than scrape them.","County property records have no common channel; not read.","Officer, owner and affiliate relationships are not published with keys; we do not infer them."],"computed_at":"2026-10-02T07:39:10.085803+00:00"}