Technical writing
IRS Exempt Organizations Business Master File: The Federal Record of 1.3 Million Tax-Exempt Nonprofits
The IRS Exempt Organizations Business Master File — the EO BMF — is the federal government's running register of every organization it has formally recognized as tax-exempt under Internal Revenue Code Section 501(c) and a handful of related provisions: roughly 1.26 million entities, each keyed by its Employer Identification Number and tagged with a subsection code, a sector taxonomy code, a foundation type, a ruling date, and coded ranges for assets and income. It is the closest thing the United States has to a census of its nonprofit sector, and because the IRS publishes it as free monthly bulk extracts, it is the canonical starting point for grantee due diligence, donor deductibility checks, foundation research, and economic analysis of the charitable economy.
What the EO BMF Is
The Business Master File is an internal IRS accounting database that holds one record for every entity assigned an Employer Identification Number. The Exempt Organizations Business Master File is the slice of that database covering entities the IRS has affirmatively recognized as exempt from federal income tax. When an organization applies for recognition of exemption — typically by filing Form 1023 for charitable status or Form 1024 for other exempt categories — and the IRS issues a favorable determination letter, the organization is added to the EO BMF with a constellation of codes describing what kind of exempt entity it is, when the IRS ruled, and what the organization reported about its size.
The EO BMF is not a list of organizations that are doing good work, or even organizations that are still operating. It is a record of IRS recognition. An organization appears in the file because at some point the IRS granted it exempt status and has not since revoked that status. This distinction — recognition versus current operating reality — underlies most of the caveats discussed at the end of this article, and it is the single most important thing to understand before using the data for any decision that depends on whether a nonprofit is real, active, and in good standing.
The IRS publishes the EO BMF through the Tax Exempt Organization Search (TEOS) system and as downloadable bulk extracts. The bulk extracts are split into four region files covering the United States plus a fourth file for international organizations and entities without a US state code. The files are refreshed monthly. Throughout this site the data is stored in a normalized table named irs_bmf, with one row per recognized exempt organization, EIN as the primary key, and the IRS code fields preserved alongside decoded human-readable labels.
The Core Identifier: EIN, Name, and Address
Every record in the EO BMF is anchored on three fields that together identify the organization.
- Employer Identification Number (EIN). A nine-digit federal taxpayer identifier, conventionally written as two digits, a hyphen, and seven digits (
13-1837418). The EIN is the universal join key for nonprofit data. It links the BMF record to the organization's Form 990 information returns, to the Automatic Revocation List, to federal grant and contract awards in USASpending, and to third-party nonprofit databases. The EIN must always be handled as a string in data processing because some EINs have leading zeros that integer parsing silently destroys. - Legal name. The organization's name as recorded by the IRS, in a fixed-width uppercase field. This is the legal name on the determination, which frequently differs from the public-facing brand a nonprofit uses (“doing business as” names are not the primary name field). Name strings are unstandardized, abbreviated to fit field-width limits, and inconsistent in their treatment of articles, ampersands, and punctuation, so name-based matching across datasets is unreliable; the EIN is the only dependable key.
- Mailing address. Street or PO box, city, state, and ZIP. This is the address of record with the IRS, often the address of the organization's accountant, registered agent, or treasurer rather than a program site. For geographic analysis the state and ZIP are usable in aggregate, but a single organization's address should not be read as the location where it actually delivers services.
The 501(c) Subsection Taxonomy
The single most important classification field in the EO BMF is the subsection code, which records the paragraph of Internal Revenue Code Section 501(c) under which the organization is exempt. The popular shorthand “a nonprofit” collapses a legally diverse set of categories that have very different rules about political activity, deductibility of contributions, and permitted purposes. The subsection code disambiguates them.
| Subsection | Category | Typical examples | Donations deductible? |
|---|---|---|---|
| 501(c)(3) | Charitable, religious, educational, scientific, literary | Charities, universities, hospitals, churches, museums, foundations | Yes (the defining feature of (c)(3)) |
| 501(c)(4) | Social welfare organizations | Advocacy groups, civic leagues, volunteer fire companies | No (but may lobby and do limited politics) |
| 501(c)(5) | Labor, agricultural, and horticultural organizations | Labor unions, farm bureaus | No |
| 501(c)(6) | Business leagues and trade associations | Chambers of commerce, professional associations, trade groups | No (dues may be partly deductible as business expense) |
| 501(c)(7) | Social and recreational clubs | Country clubs, hobby clubs, fraternities and sororities | No |
| 501(c)(8) | Fraternal beneficiary societies | Lodges providing member benefits (life insurance, etc.) | Limited (only for (c)(3) purposes) |
| 501(c)(9) | Voluntary employees' beneficiary associations | Employee benefit trusts (VEBAs) | No |
| 501(c)(19) | Veterans' organizations | VFW posts, American Legion posts | Often yes (war veterans organizations) |
The dominant category by a wide margin is 501(c)(3), which accounts for the large majority of the file — on the order of a million organizations, roughly three-quarters of the register. The (c)(3) designation is the one most people mean when they say “a nonprofit,” and it is the only major category for which contributions are tax-deductible to the donor as charitable gifts. That single feature — deductibility — is why the (c)(3) subsection carries regulatory burdens the other subsections do not: a near-total prohibition on political campaign intervention, strict limits on lobbying, and the public charity versus private foundation machinery described below.
The other subsections matter precisely because they are not deductible and have more latitude for political and member-serving activity. A 501(c)(4) social welfare organization can engage in substantial lobbying and a limited amount of political campaign activity, which is why advocacy organizations often pair a (c)(3) (for deductible program funding) with an affiliated (c)(4) (for advocacy). A 501(c)(6) trade association serves the common business interest of its members; a 501(c)(7) social club exists for the pleasure and recreation of its members and is funded primarily by member dues rather than public donations. Reading the subsection code correctly is the difference between treating a country club and a children's hospital as the same kind of entity.
NTEE Codes, Foundation Type, and the Size Fields
Beyond the subsection, the EO BMF carries several coded fields that describe what the organization does, what its tax-law character is, and how large it is.
NTEE code. The National Taxonomy of Exempt Entities is a hierarchical classification system developed by the National Center for Charitable Statistics to describe the activities of nonprofit organizations. The full NTEE code is an alphanumeric string in which the first letter denotes one of 26 major groups — A for Arts, Culture and Humanities; B for Education; E for Health Care; P for Human Services; T for Philanthropy and Grantmaking; X for Religion-Related; and so on — and the following digits refine the classification into specific subsectors. The NTEE code is the field that lets an analyst ask sector questions: how many human-services nonprofits operate in a state, how the arts sector compares to the environmental sector by count and size, or which subsector is growing fastest. NTEE coverage in the BMF is imperfect; a meaningful fraction of records have a missing or unclassified NTEE code, particularly older organizations and very small ones.
Foundation type code. For 501(c)(3) organizations, a numeric foundation code records the organization's tax-law character: whether it is a public charity and, if so, under which test it qualifies, or whether it is a private foundation. This code is the machine-readable encoding of the public charity versus private foundation distinction discussed in the next section. Codes in one range correspond to the various public charity classifications under Sections 509(a)(1) through 509(a)(4) and 170(b)(1)(A); other values indicate private foundations and private operating foundations.
Ruling or determination date. The month and year the IRS issued the determination recognizing exemption, stored as a six-digit YYYYMM value. The ruling date is a rough proxy for organizational age — though it reflects when the IRS ruled, not necessarily when the organization was founded — and it is useful for cohort analysis of the sector's growth over time.
Asset code and income code. The EO BMF does not carry exact financial figures. Instead it carries an asset code (asset_cd) and an income code (income_cd), each a small integer mapping to a coded dollar rangerather than a precise amount. A code of 4, for instance, indicates assets or income in the $100,000 to $499,999 band; a code of 9 indicates $50 million and above. These coded bands are derived from the most recent return the organization filed and are useful for size-stratified analysis — counting how many large versus small organizations exist, or filtering to the financially significant tail — but they cannot be summed to produce a sector total. For exact financials, an analyst must join to the Form 990 return data, which the IRS publishes separately.
Deductibility code. A field that records whether, and to what extent, contributions to the organization are tax-deductible. For most 501(c)(3) public charities the value indicates that contributions are deductible; for organizations in non-deductible subsections it indicates that they are not. The deductibility code is the field a donor verification workflow checks, and it tracks the IRS Publication 78 data described below.
Public Charity vs Private Foundation
Within the 501(c)(3) universe, the law draws a sharp line between public charities and private foundations, and the EO BMF's foundation type code records which side of that line each organization falls on. The distinction is not cosmetic; it determines which IRS form the organization files, what excise taxes apply, how much a donor can deduct, and what rules govern its grantmaking and self-dealing.
A public charity is presumed to be broadly supported — by the general public, by government, or by a wide donor base — and to be accountable through that breadth of support. Hospitals, schools, churches, and organizations that pass a public support test (typically deriving a sufficient fraction of their revenue from many small donors or from government grants) are public charities. Contributions to public charities enjoy the most favorable deduction limits.
A private foundation is, by default, what a 501(c)(3) organization is unless it qualifies as a public charity. Private foundations are typically funded by a single source — an individual, a family, or a corporation — and often exist primarily to make grants to other charities rather than to operate programs directly. Because they lack the accountability that broad public support provides, private foundations are subject to a stricter regime: a minimum annual distribution requirement (they must pay out roughly five percent of asset value each year), an excise tax on net investment income, prohibitions on self-dealing between the foundation and its insiders, and limits on business holdings. Private operating foundations are a hybrid that conduct their own charitable programs and are treated somewhere between the two.
This is the distinction the foundation type code encodes, and it is why a single integer in the BMF can answer questions like “how many private grantmaking foundations exist in a given state” or “what share of the charitable sector is operating charities versus endowed grantmakers.”
Publication 78, TEOS, and the Form 990 Family
The EO BMF sits at the center of a cluster of IRS publications and filing requirements that together make up the public record of the exempt sector.
Publication 78 and TEOS. IRS Publication 78 is the historical name for the cumulative list of organizations eligible to receive tax-deductible charitable contributions. It has been folded into the Tax Exempt Organization Search (TEOS), the public web tool the IRS operates for checking an organization's status. TEOS lets anyone confirm whether an organization is currently recognized as exempt, whether contributions to it are deductible, whether it appears on the Automatic Revocation List, and whether it has filed the e-Postcard. The Pub 78 deductibility data is one of the underlying components TEOS exposes; the deductibility code in the BMF tracks it. For a donor who wants to confirm a gift will be deductible, the Pub 78 / TEOS check is the authoritative step.
The Form 990 family. Most tax-exempt organizations must file an annual information return with the IRS, and which version they file depends on size:
- Form 990. The full information return, required of larger organizations (generally those with gross receipts at or above $200,000 or total assets at or above $500,000). It discloses revenue, expenses, executive compensation, governance practices, and program accomplishments, and it is the richest public financial document most nonprofits produce.
- Form 990-EZ. A shorter return for mid-sized organizations below the full 990 thresholds but above the e-Postcard threshold.
- Form 990-PF. The return required of every private foundation regardless of size. The 990-PF discloses the foundation's investments, its grants paid (often grantee by grantee), and its compliance with the payout requirement, making it the primary source for foundation grantmaking research.
- Form 990-N (e-Postcard). A minimal electronic notice for the smallest organizations, those with gross receipts normally at or below $50,000. It captures little financial detail — essentially confirmation that the organization still exists and basic identifying information — but filing it is what keeps a small organization off the Automatic Revocation List.
The filing requirement and the BMF are linked: an organization's presence in the BMF creates the expectation that it will file the appropriate 990, and its failure to do so is what eventually triggers automatic revocation.
The Automatic Revocation List
Before 2006, very small nonprofits had no annual filing obligation at all, which meant the IRS had no systematic way to learn that an organization had become defunct. The Pension Protection Act of 2006 changed this by requiring nearly all exempt organizations to file annually — the smallest via the new Form 990-N e-Postcard — and by imposing an automatic consequence for failure: any organization that fails to file a required annual return or notice for three consecutive years automatically loses its tax-exempt status by operation of law.
The IRS publishes the resulting Automatic Revocation of Exemption List, commonly called the Auto-Revocation List or Revocation List, identifying organizations whose exempt status was revoked for this three-year non-filing failure, along with the effective date of revocation and the date the IRS posted it. The list is large — hundreds of thousands of organizations have been auto-revoked since the provision took effect — and it is a critical companion to the BMF. An organization can have a determination letter on file and still have lost its exemption; the only way to know is to check the revocation data.
Revocation is not necessarily permanent. An organization that was auto-revoked can apply forreinstatement of its exempt status, and the IRS offers streamlined reinstatement procedures — including retroactive reinstatement to the date of revocation if the organization acts within fifteen months and shows reasonable cause for the failures. Reinstated organizations return to the EO BMF. The interplay between the BMF, the revocation list, and reinstatement means an organization's true current status is the product of three datasets, not one.
What People Actually Use It For
The EO BMF is one of the most widely used open federal datasets outside of pure economic statistics, precisely because so many decisions hinge on whether an organization is a legitimate, recognized nonprofit. The recurring use cases:
- Nonprofit sector mapping. Researchers, journalists, and policymakers use the BMF to describe the size and shape of the charitable sector — counts by state, by subsector, by NTEE group, by age cohort, by size band. It is the denominator for almost every quantitative claim about “how many nonprofits” do anything.
- Grantee due diligence. Foundations and government grantmakers are required to confirm that a prospective grantee is a recognized 501(c)(3) public charity before disbursing funds, because granting to a non-charity or to a private foundation carries different rules and risks. The BMF, joined to the revocation list, is the standard automated check in grants-management systems.
- Donor deductibility verification. Individuals and corporate giving programs verify, via the deductibility code and Pub 78 / TEOS, that a contribution will be deductible before making it — and verify after a disaster or viral fundraising campaign that the recipient is a real, qualified charity rather than a scam.
- Foundation research. The BMF identifies private foundations by their foundation type code, and joining to Form 990-PF data reveals who funds whom. Nonprofits seeking funding use this to build prospect lists of foundations active in their subsector and region.
- Charity fraud detection. State charity regulators, watchdogs, and investigative journalists cross-reference the BMF against solicitation registrations, revocation status, and 990 filings to surface organizations that solicit donations while revoked, that exist only on paper, or whose financials suggest the charity is a conduit rather than a genuine program.
- Sector economic analysis. Economists combine BMF size codes with 990 financial data to estimate the nonprofit sector's contribution to GDP, employment, and wages, and to study how the sector responds to recessions, policy changes, and shifts in charitable giving.
Python: Downloading and Aggregating the EO BMF
The script below demonstrates the full workflow for working with the EO BMF as bulk data: downloading the four region CSV extracts the IRS publishes, concatenating them into a single frame, decoding the subsection code and NTEE major group into readable labels, and producing three aggregations — organizations by 501(c) subsection, 501(c)(3) charities by NTEE major group, and the largest organizations by coded asset band. The same pattern extends to any sector or geographic question by changing the grouping keys.
import io
import zipfile
from collections import defaultdict
import pandas as pd
import requests
# ---------------------------------------------------------------------------
# IRS Exempt Organizations Business Master File (EO BMF) sector analysis
#
# Source: IRS Tax Exempt Organization Search bulk downloads
# Landing page:
# https://www.irs.gov/charities-non-profits/exempt-organizations-business-master-file-extract-eo-bmf
#
# The IRS publishes the EO BMF as four region files (CSV), refreshed monthly:
# eo1.csv Region 1 (Northeast)
# eo2.csv Region 2 (Mid-Atlantic / Great Lakes)
# eo3.csv Region 3 (Gulf Coast / Pacific Coast)
# eo4.csv Region 4 (international + organizations with no state code)
#
# Together the four files cover ~1.26 million organizations recognized by the
# IRS as tax-exempt. This script downloads all four, concatenates them, and
# aggregates organizations by 501(c) subsection and by NTEE major group, then
# surfaces the largest organizations by coded asset range.
# ---------------------------------------------------------------------------
BASE = "https://www.irs.gov/pub/irs-soi"
REGION_FILES = ["eo1.csv", "eo2.csv", "eo3.csv", "eo4.csv"]
HEADERS = {"User-Agent": "research@example.com (nonprofit-sector research project)"}
# -- 1. Download and concatenate the four region extracts ---------------------
def load_eo_bmf() -> pd.DataFrame:
"""Download all four EO BMF region CSVs and return a single DataFrame."""
frames = []
for fname in REGION_FILES:
url = BASE + "/" + fname
print("downloading " + url + " ...")
resp = requests.get(url, headers=HEADERS, timeout=120)
resp.raise_for_status()
# EIN must be read as a string to preserve leading zeros.
df = pd.read_csv(
io.BytesIO(resp.content),
dtype={"EIN": str, "NTEE_CD": str, "GROUP": str},
low_memory=False,
)
df["region_file"] = fname
frames.append(df)
print(" " + fname + ": " + str(len(df)) + " rows")
combined = pd.concat(frames, ignore_index=True)
print("total organizations: " + str(len(combined)))
return combined
# -- 2. Decode the 501(c) subsection into a human-readable label --------------
SUBSECTION_LABELS = {
2: "501(c)(2) title-holding corporations",
3: "501(c)(3) charitable / religious / educational",
4: "501(c)(4) social welfare organizations",
5: "501(c)(5) labor and agricultural organizations",
6: "501(c)(6) business leagues / trade associations",
7: "501(c)(7) social and recreational clubs",
8: "501(c)(8) fraternal beneficiary societies",
9: "501(c)(9) voluntary employees beneficiary assns",
10: "501(c)(10) domestic fraternal societies",
19: "501(c)(19) veterans organizations",
}
def subsection_label(code) -> str:
try:
return SUBSECTION_LABELS.get(int(code), "501(c)(" + str(int(code)) + ") other")
except (ValueError, TypeError):
return "unknown / non-501(c)"
# -- 3. Decode the NTEE major group (first letter of the NTEE code) -----------
NTEE_MAJOR_GROUPS = {
"A": "Arts, Culture & Humanities",
"B": "Education",
"C": "Environment",
"D": "Animal-Related",
"E": "Health Care",
"F": "Mental Health & Crisis Intervention",
"G": "Diseases, Disorders & Medical Disciplines",
"H": "Medical Research",
"I": "Crime & Legal-Related",
"J": "Employment",
"K": "Food, Agriculture & Nutrition",
"L": "Housing & Shelter",
"M": "Public Safety, Disaster Preparedness & Relief",
"N": "Recreation & Sports",
"O": "Youth Development",
"P": "Human Services",
"Q": "International, Foreign Affairs & National Security",
"R": "Civil Rights, Social Action & Advocacy",
"S": "Community Improvement & Capacity Building",
"T": "Philanthropy, Voluntarism & Grantmaking",
"U": "Science & Technology",
"V": "Social Science",
"W": "Public & Societal Benefit",
"X": "Religion-Related",
"Y": "Mutual & Membership Benefit",
"Z": "Unknown / Unclassified",
}
def ntee_major(ntee_cd) -> str:
if not isinstance(ntee_cd, str) or not ntee_cd:
return "Unclassified (no NTEE code)"
letter = ntee_cd.strip()[:1].upper()
return NTEE_MAJOR_GROUPS.get(letter, "Unclassified (no NTEE code)")
# -- 4. Decode the IRS asset-range code into a labeled band --------------------
# ASSET_CD and INCOME_CD are coded ranges, NOT exact dollar amounts. The IRS
# uses the same band table for both fields.
ASSET_RANGE_LABELS = {
0: "$0 (or not reported)",
1: "$1 to $9,999",
2: "$10,000 to $24,999",
3: "$25,000 to $99,999",
4: "$100,000 to $499,999",
5: "$500,000 to $999,999",
6: "$1,000,000 to $4,999,999",
7: "$5,000,000 to $9,999,999",
8: "$10,000,000 to $49,999,999",
9: "$50,000,000 and greater",
}
def asset_band(code) -> str:
try:
return ASSET_RANGE_LABELS.get(int(code), "unknown band")
except (ValueError, TypeError):
return "unknown band"
# -- 5. Main -----------------------------------------------------------------
bmf = load_eo_bmf()
# Counts by 501(c) subsection -------------------------------------------------
bmf["subsection_label"] = bmf["SUBSECTION"].apply(subsection_label)
by_subsection = (
bmf.groupby("subsection_label").size().sort_values(ascending=False)
)
print("\nOrganizations by 501(c) subsection (top 12):")
for label, n in by_subsection.head(12).items():
print(" " + label.ljust(48) + str(n).rjust(10))
# 501(c)(3) share of the whole register --------------------------------------
total = len(bmf)
c3 = int((bmf["SUBSECTION"].astype("Int64") == 3).sum())
print("\n501(c)(3) organizations: " + str(c3)
+ " (" + str(round(100 * c3 / total, 1)) + "% of all exempt orgs)")
# Counts by NTEE major group (charitable orgs only) --------------------------
c3_only = bmf[bmf["SUBSECTION"].astype("Int64") == 3].copy()
c3_only["ntee_major"] = c3_only["NTEE_CD"].apply(ntee_major)
by_ntee = c3_only.groupby("ntee_major").size().sort_values(ascending=False)
print("\n501(c)(3) organizations by NTEE major group:")
for label, n in by_ntee.items():
print(" " + label.ljust(46) + str(n).rjust(10))
# Largest organizations by coded asset band ----------------------------------
top_band = bmf[bmf["ASSET_CD"].astype("Int64") == 9].copy()
top_band = top_band.sort_values("NAME")
print("\nOrganizations in the top asset band ($50M+): "
+ str(len(top_band)))
print("Sample of $50M+ organizations (name, state, subsection):")
for _, row in top_band.head(15).iterrows():
name = str(row["NAME"])[:44].ljust(46)
state = str(row.get("STATE", "??")).ljust(4)
sub = subsection_label(row["SUBSECTION"])[:28]
print(" " + name + state + sub)
# Foundation type breakdown for 501(c)(3) orgs -------------------------------
# FOUNDATION code 17 = public charity (170(b)(1)(A) misc); codes 02-16 are
# various public charity tests; codes 03/04 etc. and 0 indicate private
# foundation status depending on the value. Codes 10-18 are public charities;
# codes 02-04 with a private-foundation flag indicate private foundations.
found_counts = bmf.groupby("FOUNDATION").size().sort_values(ascending=False)
print("\nForm 990-relevant foundation-type code distribution (top 10):")
for code, n in found_counts.head(10).items():
print(" foundation code " + str(code).rjust(3) + ": " + str(n).rjust(10))
A few implementation notes. The EIN, NTEE code, and group fields must be read as strings to preserve leading zeros and avoid silent type coercion; reading EIN as an integer is the most common data-quality mistake in nonprofit analysis. The four region files share an identical schema, so a plain concatenation is safe. The asset and income codes are bands, not amounts, so the script counts organizations within a band rather than summing dollars — any attempt to total asset_cd values would be meaningless. To turn coded sizes into real financials, join the result on EIN to the IRS Form 990 extract data, which carries exact revenue, expense, and asset figures from the returns themselves. To establish current status rather than mere recognition, join on EIN to the Automatic Revocation List and drop or flag organizations whose exemption has been revoked and not reinstated.
Caveats and Limitations
Recognition is not operating status. This is the cardinal caveat. The BMF records that the IRS recognized an organization as exempt and has not revoked it. It does not confirm that the organization is currently active, that it is delivering programs, or even that it still exists in any meaningful sense. Defunct organizations linger in the file until the three-year non-filing clock runs and auto-revocation removes them. Presence in the BMF is a necessary but not sufficient condition for “this is a real, working nonprofit.”
Revocation processing lags. The auto-revocation mechanism is triggered by three consecutive years of non-filing, which means there is an inherent multi-year delay between an organization going dark and its disappearance from active status. Conversely, reinstated organizations re-enter the file, and the timing of these updates is governed by IRS processing cycles. The monthly refresh cadence means the BMF is current to within a month at best, and the underlying status changes it reflects can be years behind the organizational reality.
Asset and income are coded ranges. The size fields are bands, not exact figures, and they are derived from whatever return the organization most recently filed, which may be stale. They are suitable for stratifying the population into size classes and for filtering to the financially significant tail, but they cannot be summed, averaged into a sector total, or treated as precise. Any analysis that needs real dollars must go to the Form 990 data.
Churches and the BMF gap. The single largest structural omission in the EO BMF is religious congregations. Churches, their integrated auxiliaries, and conventions or associations of churches are automatically considered tax-exempt under 501(c)(3) and arenot required to apply for recognition or to file annual Form 990 returns. A church that never applies for a determination letter therefore never enters the BMF, and many do not. As a result the file substantially undercounts the religious sector: the organizations that do appear under the religion-related NTEE codes are disproportionately those that chose to apply (often to reassure donors of deductibility) plus religiously affiliated schools, charities, and other entities that are not themselves churches. Any claim about “the number of religious organizations” drawn from the BMF will be a serious undercount.
NTEE and name-field imperfections. NTEE classification is incomplete, with many records carrying no usable code, so sector counts based on NTEE understate the total and should be reported with the unclassified share visible. The name field is uppercase, abbreviated, and inconsistent, so deduplication and cross-dataset matching must be done on EIN, never on name. And the address of record is frequently an administrative address, not a program location, which limits the precision of fine-grained geographic analysis even though state-level aggregates remain reliable.
Taken together, these caveats point to a single discipline: treat the EO BMF as the authoritative register of IRS recognition, join it to the Form 990 returns for real financials and to the Automatic Revocation List for current status, and keep firmly in mind what the file structurally cannot see — the churches that never applied and the organizations that quietly stopped operating but have not yet been revoked.
Related writing
For another federal disclosure regime built on a single taxpayer identifier — where a filer's EIN ties together a web of public filings — see SEC Form 4 Insider Trading: The Federal Database Behind Corporate Insider Stock Transactions.
Grantee due diligence with the EO BMF is one half of the federal grants picture; the awards themselves flow through the systems described in Grants.gov: The Federal Database Behind $500 Billion in Annual Federal Grant Opportunities.
To follow federal money from prime recipients down to the nonprofits that ultimately receive it, see USASpending Subawards: The Federal Database Behind Sub-Grant and Sub-Contract Flow Tracking.