CoolFace
Datasetpublic

piercewetter3/irs-990-parsed

IRS 990 Parsed Nonprofit Database Public relational extract of IRS Form 990 / 990-EZ / 990-PF filings, plus the colocated public files we join for address research: CMS NPPES + T-MSIS Medicare spend, FMCSA DOT carriers, OFAC SDN, FEC committees, and the IRS EO BMF. Generated: 2026-08-17Tables: 34Rows (sum): 459,069,505License: CC0 / public domain — derived from U.S. government recordsHub: https://huggingface.co/datasets/piercewetter3/irs-990-parsed Layout Tables… See the full description on the dataset page: https://huggingface.co/datasets/piercewetter3/irs-990-parsed.

sourceHugging Facecc0-1.0updated 1mo agoView on Hugging Face
0likes742downloads
Dataset Card

IRS 990 Parsed Nonprofit Database

Public relational extract of IRS Form 990 / 990-EZ / 990-PF filings, plus the colocated public files we join for address research: CMS NPPES + T-MSIS Medicare spend, FMCSA DOT carriers, OFAC SDN, FEC committees, and the IRS EO BMF.

Generated: 2026-08-17 Tables: 34 Rows (sum): 459,069,505 License: CC0 / public domain — derived from U.S. government records Hub: https://huggingface.co/datasets/piercewetter3/irs-990-parsed

Layout

Tables with ≥ 2,000,000 rows are a directory of ZSTD Parquet shards (~256MB each). Smaller tables are a single Table.parquet. UUID columns are exported as VARCHAR.

sql
INSTALL parquet; LOAD parquet;
SELECT * FROM 'Charities.parquet' LIMIT 5;
SELECT COUNT(*) FROM 'medicare_provider_spending/*.parquet';

Tables

TableRowsFilesWhat
Addresses94,102,876dirNormalized streets for every owner type (990, Medicare, DOT, OFAC, FEC)
AuthoritativeEin1,233,3051 parquetCanonical name → EIN seeds used by grant matching
BMF1,952,2381 parquetIRS EO Business Master File including street/city/state/ZIP
Backfill1,720,3791 parquetEinless grantee backfill (recipient EIN resolved after ingest)
Charities3,625,588dirParsed Form 990 / 990-EZ / 990-PF filer years
Contractors1,096,5221 parquetHighest-paid independent contractors from 990 Part VII
Contributions01 parquetIncoming contribution rows (currently empty in this build)
Geocoding14,415,456dirGeocode attempts and rounded lat/lon for master addresses
Grants26,216,672dirGrants paid (Schedule I / PF grants)
IrsBmf1,952,2381 parquetBMF without raw street fields (legacy export table)
Officers4,430,012dirOfficer / key-employee compensation
PoliticalContributions01 parquet527 / political outlays from 990 (currently empty)
XmlFiles3,625,588dirOne row per IRS XML filing ingested
ZipFiles511 parquetIRS annual ZIP archives fetched
Zips41,7061 parquetUS ZIP centroids used for zip-slice reports
base_name_ein2,144,568dirDistinct grantee-name → EIN rollup from grants
dot_carriers4,454,157dirFMCSA motor-carrier census
fec_candidate_spendings703,5971 parquetFEC candidate spend (city/state/ZIP, not street)
fec_committee_transactions18,667,435dirFEC committee-to-committee transfers
fec_committees6,9801 parquetFEC committees with a real line-1 street
fec_individual_contributions29,104,378dirFEC individual contributions (city/state/ZIP)
fec_operating_expenditures2,249,158dirFEC operating expenditures
hcpcs_codes9,0061 parquetHCPCS procedure code lookup
medicare_provider_hcpcs5,876,682dirMedicare spend rolled up by NPI × HCPCS
medicare_provider_rollup617,4921 parquetMedicare spend rolled up by billing NPI
medicare_provider_spending230,154,264dirMedicare T-MSIS line grain (billing × servicing × HCPCS × month)
medicare_providers9,606,683dirNPPES provider enumeration
name_mapping928,1081 parquetCleaned name → winning EIN from traditional matching
noc_codes01 parquetNOC code lookup
nppes_code_values8851 parquetNPPES codebook (entity type, taxonomy, etc.)
sanctioned_entities19,1991 parquetOFAC SDN entities
sanctioned_identifiers22,4911 parquetOFAC identifiers (passport, tax id, …)
sanctioned_names49,6521 parquetOFAC primary names and aliases
sanctioned_programs42,1391 parquetOFAC program codes on each entity

Not uploaded

Ops / scratch / raw extracts stay local:

TableWhy
PendingCanonicalsempty address-dedup scratch
PipelineProgresslocal pipeline job state
Zips_rawsource extract; use Zips
_meta_clusteringDuckDB clustering bookkeeping
fec_raw_committees1-row ingest leftover; use fec_committees
grant_update_mapgrant_match scratch
medicare_raw_spending238M raw CMS extract; use medicareproviderspending
temp_gin_batchgrant_match scratch

Notes

  • —Addresses is polymorphic (owner_id + address_type). Types include charity, officer, contractor, grant, medicare, dotcarrier, ofacsanction, and fec_committee.
  • —medicare_provider_spending is the line grain (~230M). Use medicare_provider_rollup / medicare_provider_hcpcs for cheap totals.
  • —FEC contributor / spend / oppexp / candidate-spend rows are city+state+ZIP, not street. Only fec_committees has a real line 1.
  • —BMF keeps IRS street fields; IrsBmf is the older street-stripped copy.
  • —Full DDL: schema_duckdb.sql. Export inventory: manifest.json.