US IRS Exempt Organization Master File (EO BMF) avatar

US IRS Exempt Organization Master File (EO BMF)

Pricing

from $33.50 / 1,000 exempt organization records

Go to Apify Store
US IRS Exempt Organization Master File (EO BMF)

US IRS Exempt Organization Master File (EO BMF)

IRS Exempt Organizations Master File (~1.96M nonprofits): search by state, city, ZIP, name, 501(c) type, NTEE activity code, revenue, assets or ruling date, and rank by revenue or assets - EIN, address, classification, NTEE and latest revenue/assets. Pay per record.

Pricing

from $33.50 / 1,000 exempt organization records

Rating

0.0

(0)

Developer

NexGen Signal

NexGen Signal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 days ago

Last modified

Share

Every U.S. tax-exempt organisation on the IRS Exempt Organizations Business Master File as one clean, flat record - EIN, name, address, subsection, classification, ruling date, exemption status and the asset/income code bands. Six regional extracts, one dataset. The in-care-of person line is dropped.

What one record represents

The source is the IRS Exempt Organizations Business Master File (EO BMF), the federal registry of tax-exempt organisations, published as six regional CSV extracts. Each record is one organisation (EIN): its EIN, name, address, group exemption number, IRC subsection, affiliation, classification, ruling date, deductibility, foundation type, exemption status, latest tax period, and the asset and income code bands.

Sample output

Sample output β€” US IRS Exempt Organization Master File (EO BMF)

Real rows from a live run of this actor (first 5 rows, selected columns).

One full record from the same run, exactly as delivered:

{
"ein": "000019818",
"name": "PALMER SECOND BAPTIST CHURCH",
"street": "1050 THORNDIKE ST",
"city": "PALMER",
"state": "MA",
"zip": "01069-1507",
"group": "3125",
"subsection": "03",
"affiliation": "9",
"classification": "7000",
"ruling": "195504",
"deductibility": "1",
"foundation": "10",
"activity": "001000000",
"organization": "5",
"status": "01",
"tax_period": null,
"asset_cd": "0",
"income_cd": "0",
"filing_req_cd": "06",
"pf_filing_req_cd": "0",
"record_id": "000019818",
"source": "IRS - Exempt Organizations Business Master File (EO BMF)",
"licence": "U.S. Internal Revenue Service, Exempt Organizations Business Master File Extract. U.S. Government work in the public domain (17 U.S.C. 105) - no copyright.",
"attribution": "U.S. Internal Revenue Service (IRS) - Exempt Organizations BMF",
"caveat": "One record per exempt organisation (EIN) across the six regional IRS EO BMF extracts: name, address, subsection, classification, ruling date, deductibility, foundation type, exemption status, tax period and the asset/income code bands. The in-care-of person line (ICO) is structurally dropped and never emitted. This is the IRS registry status/classification view (registry status, NTEE, asset class), not Form 990 filing line-items.",
"observed_at": "2026-09-25T17:27:48Z"
}

Search and rank organisations

Question: Which 501(c)(3) food and agriculture charities (NTEE K, e.g. food banks) are based in Austin, Texas, largest by revenue first?

{"states": ["TX"], "cities": ["Austin"], "subsections": ["3"], "nteeCodes": ["K"], "sortBy": "revenue", "maxRecords": 10}

Run on 30 Sep 2026 this read only the Texas file (154,539 organisations), found 69 matches and returned the top 10 by revenue (10 Γ— $0.05 = $0.50 on Apify's Free plan):

EINNameNTEERevenueAssets
742217350CENTRAL TEXAS FOOD BANK INCK31Z$102,848,703$123,276,903
237202594MEALS ON WHEELS AND MORE INCK360$14,644,747$20,127,174
742378120SOUTHWEST HUMAN DEVELOPMENT SERVICES CORPORATIONK40Z$8,309,391$799,963
463754567KEEP AUSTIN FEDK31$2,436,346$425,883
742520515TEXAS FUTURE FARMERS OF AMERICA FOUNDATION INCK99$1,993,103$17,126,056

Search options (all optional; a record must match every option you set, and several values in one option match any of them):

  • States (states) β€” two-letter codes; only the IRS's per-state files are downloaded, so a one-state search reads about a tenth of the data.
  • Cities (cities) β€” exact city, e.g. Austin. ZIP code starts with (zipPrefixes) β€” e.g. 787.
  • Name (contains) (names) β€” e.g. food bank, hospital.
  • 501(c) type (subsections) β€” 3 for 501(c)(3) charities, 4 social welfare, 6 business leagues, and so on.
  • NTEE code starts with (nteeCodes) β€” activity codes, e.g. K food, E health, B education, T grantmaking.
  • EINs (eins) β€” exact 9-digit EINs.
  • Minimum revenue / assets (minRevenue, minAssets) β€” US dollars, from the latest return.
  • Recognised as exempt from / to (rulingFrom, rulingTo) β€” IRS ruling year or month, to find newly recognised organisations.
  • Rank by (sortBy) β€” revenue, assets, income (largest first) or newestRuling. The actor reads everything in scope and keeps the top ones.

Every option is tested on each organisation as the files are read, so filtering happens before Maximum records. The status message says how many organisations were read and matched. "No organisations match" (nothing charged) is a successful run; if an IRS file cannot be downloaded the run fails as a source failure. With no search option the actor reads the six regional files exactly as before.

Fields added on 30 Sep 2026: revenue_amt, asset_amt, income_amt (US$ from the latest return), ntee_cd (activity code) and accounting_period - columns the IRS file always carried but the actor had not delivered. Every existing field is unchanged.

Coverage and volume

The six extracts together hold 1,962,246 organisations - measured live at build time.

Sol's Wave-4 index put this door at 1,962,246 EXACT; measured live at build time the six extracts sum to 1,962,246 organisations - matching the index.

The Actor downloads the six regional CSVs in turn (or, with a state search, just those states' files) and delivers each matching organisation, stopping as soon as your Maximum records cap is met.

Licence and attribution

The EO BMF is a U.S. Government work in the public domain. The full notice travels on every record:

U.S. Internal Revenue Service, Exempt Organizations Business Master File Extract. U.S. Government work in the public domain (17 U.S.C. 105) - no copyright.

Person-data policy

The EO BMF carries an in-care-of line (ICO) that is frequently a natural person (the organisation's contact or officer). This Actor structurally drops ICO - it is never mapped or emitted - and a per-record assertion rejects any in-care-of/sort-name/person field (verified with a planted-field test). Everything delivered is an organisation attribute: the name is the organisation, and the address is its registered address. No natural-person data is processed.

Distinctness from the ProPublica 990 cells

This cell is the IRS registry status and classification view - subsection, NTEE (via classification), ruling date, exemption status and asset/income bands - not Form 990 filing financials.

Interpretation caveat

One record per exempt organisation (EIN) across the six regional IRS EO BMF extracts: name, address, subsection, classification, ruling date, deductibility, foundation type, exemption status, tax period and the asset/income code bands. The in-care-of person line (ICO) is structurally dropped and never emitted.

Values are reproduced verbatim from the extracts; the Actor never rewrites a field. Codes (subsection, classification, status, asset/income bands) are the IRS's own code values, kept as strings; the IRS publishes the code tables that decode them.

Provenance and compliance

Every run reads the door host's robots.txt at runtime; the gate result (URL, status, byte length and, where a policy is served, its SHA-256) is written to the run's RUN_RECEIPT. Where the host serves no robots.txt, the gate records that fact (flagged) and proceeds on the licence, which expressly grants re-use. The endpoint is keyless. The Actor never bypasses a block or fetches through a mirror.

Data quality and freshness

Boolean columns are delivered as real booleans and numeric columns as real numbers. Delivery is keyed on a stable id, so the dataset is safe to diff, deduplicate or upsert. Every run re-reads the live door, so the data is as fresh as the source publishes, and each record's observed_at stamp dates the snapshot. The run's RUN_RECEIPT records the source URL and how many records were delivered and charged, and confirms charge_equals_delivered.

Billing and delivery

Pricing is per record: you are billed only for records the Actor actually delivers, with the charge raised after each record is pushed (push-then-charge), so a failed or empty run costs nothing. The Maximum records cap bounds every run, so you control spend precisely - sample cheaply, then raise it. Because delivery is keyed on a stable id, re-running and upserting keeps a downstream table current without re-paying for rows you already hold; only new and changed records add cost, and every receipt reconciles delivered against charged.

Schema, typing and joins

Every record is a flat object with a fixed, typed schema: strings stay strings, numbers are parsed to real numbers, and booleans to real booleans, so the data loads into a warehouse or a dataframe without a cleaning pass. The record_id is a stable composite key, which means the dataset is safe to diff between runs, to deduplicate, and to upsert into a table you maintain over time. Because the identifiers the source uses are preserved verbatim, the dataset joins cleanly onto other sources keyed on the same identifier, and a scheduled run keeps the downstream copy current with no manual reconciliation - the new and changed rows simply upsert over the old ones, and the observed_at stamp on every record tells you when each was last seen live.

Inputs

Default changed on 30 Sep 2026: if you leave maxRecords out, a run now returns up to 10 records (it was 500). Set maxRecords yourself to get more β€” the maximum is unchanged.

  • Maximum records (maxRecords) - hard cap on organisation records delivered and billed (up to the whole ~1.96 million).
  • Search options - see Search and rank organisations above; all optional.

Output

Records land in the Actor's default dataset and export as JSON, CSV, Excel or via the Apify API. A tabular overview surfaces EIN, name, state, subsection, classification, status and the asset/income bands.

Fields in detail

The record leads with ein and name, then the address (street, city, state, zip), the classification block (group, subsection, affiliation, classification, ruling, deductibility, foundation, activity, organization, status), tax_period, and the asset_cd/income_cd/filing_req_cd /pf_filing_req_cd bands, then accounting_period, asset_amt, income_amt, revenue_amt and ntee_cd. The provenance block closes every record.

Typical uses

Grant-makers, KYC and nonprofit-analytics teams use this cell as the authoritative roster of U.S. tax-exempt organisations - status, type and size band for nearly two million EINs, keyed for lookup or bulk screening. Because the subsection, status and asset band are first-class fields, a filter gives every active 501(c)(3) in a state above an asset threshold without cleaning, and the EIN joins to 990 filings for financial detail. A scheduled run keeps a downstream registry current as the IRS republishes the BMF.

Six extracts, one dataset

The IRS splits the BMF into six regional CSVs - four U.S. regions plus Puerto Rico and an international file - purely for file-size reasons; they share one schema. This cell reads all six in turn and delivers them as a single dataset keyed on the EIN, so you get the complete national roster in one run rather than stitching six files together yourself. The EIN is the federal identifier for the organisation and never changes, which makes the dataset safe to upsert and to join against any other EIN-keyed source.

Reading the codes

The BMF is a coded file: subsection is the IRC subsection (03 for 501(c)(3), and so on), status the exemption status, foundation the private-foundation type, and asset_cd/income_cd are size bands rather than exact dollar figures. Keeping them as the IRS's own code values (rather than guessing at decoded labels) is faithful to the source; the IRS publishes the code tables that map each value, and the classification field carries the NTEE-style activity coding. A filter on subsection and status gives, for example, every active 501(c)(3) in a state, and the asset band narrows it to organisations of a given size.

Why the registry view matters

For KYC and grant-making, the question is usually "is this organisation currently exempt, of what type, and roughly how large" - which is exactly what the BMF answers, for nearly two million EINs, in one flat table. The 990 filings add the financial detail when you need it, joined on the EIN; but the registry view is the faster screen, and it covers organisations that have not yet filed a 990. A scheduled run keeps the roster current as the IRS republishes the extract.

Sibling Actors

It shares its multi-CSV engineering with the fleet's other records Actors.