Direct answer
To check whether a nonprofit appears in the IRS Business Master File, send its EIN to Pactman Nonprofit Check Plus API and evaluate bmf_status.
When bmf_status is true, confirm the source identity using bmf_ein and bmf_organization_name. Then review bmf_subsection, subsection_description, exempt_status_code, foundation classification, ruling information, group-exemption context and most_recent_bmf when your application needs to interpret the organization beyond simple BMF presence.
Recommended verification flow
- Normalize the EIN. Remove spaces or dashes so
12-3456789becomes123456789. - Send the EIN to the Nonprofit Check Plus API. Use the single-EIN
nonprofitcheckendpoint for one organization. - Confirm the requested organization. Match
einandorganization_nameto the nonprofit your application intended to check. - Check BMF presence. Evaluate
bmf_status. - Confirm the BMF record identity. Review
bmf_einandbmf_organization_name. - Interpret the IRS subsection. Review
bmf_subsectionandsubsection_description. - Review exemption and foundation classification. Evaluate
exempt_status_code,foundation_code,foundation_code_description,foundation_509a_status,foundation_type_codeandfoundation_type_description. - Review ruling and group context. Use
ruling_month,ruling_yearandgroup_exemptionwhen those fields matter to your workflow. - Check BMF freshness. Review
most_recent_bmfandorganization_info_last_modified. - Use other IRS signals separately. Review
pub78_verified, revocation fields andirs_bmf_pub78_conflictwhen your workflow needs a broader status or contribution decision.
Example request(s)
curl --request GET \
--url https://entities.pactman.org/api/entities/nonprofitcheck/v1/us/ein/YOUR_EIN \
--header 'Authorization: Bearer YOUR_API_KEY'
Implementation note: The endpoint name above reflects the Pactman single-EIN Nonprofit Check endpoint used in Pactman's Production/Customer Environment.
curl --request POST \
--url https://entities.pactman.org/api/entities/nonprofitcheckbulk/v1/us/eins \
--header 'accept: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '[
"YOUR_EIN_1",
"YOUR_EIN_2",
"YOUR_EIN_3",
"YOUR_EIN_4",
"YOUR_EIN_5"
]'
Implementation note: The endpoint name above reflects the Pactman bulk-EIN Nonprofit Check endpoint used in Pactman's Production/Customer Environment. You can have at most 50 EINs in a bulk-EIN Nonprofit Check endpoint request.
What your application should evaluate
| Signal | Why it matters | Typical application decision |
|---|---|---|
bmf_status |
Indicates whether the organization appears in the IRS Business Master File data used by Pactman. | Use as the primary BMF presence signal. |
bmf_ein / bmf_organization_name |
Identifies the EIN and organization name as represented in BMF data. | Confirm that the returned BMF record belongs to the nonprofit being checked. |
bmf_subsection / subsection_description |
Provides the IRS subsection code and its classification description. | Use to understand the type of tax-exempt organization represented by the BMF record. |
exempt_status_code |
Provides the EO status code describing the type of exemption held by the organization. | Evaluate together with BMF subsection and other IRS classification fields. |
| Foundation classification fields | foundation_code, foundation_code_description, foundation_509a_status, foundation_type_code and foundation_type_description preserve public-charity/private-foundation context. |
Apply workflow rules appropriate to the returned foundation classification. |
| Ruling fields | ruling_month and ruling_year provide ruling or determination timing context. |
Retain when the application needs determination-history or audit context. |
group_exemption |
Identifies the IRS group-exemption number associated with a parent organization when applicable. | Preserve group context instead of assuming every nonprofit is an unrelated standalone record. |
most_recent_bmf |
Provides the date of the most recent IRS Business Master File used by Pactman. | Use as a freshness input for the BMF result. |
bmf_church_message |
Can provide context when a religious organization is not represented by ordinary BMF-presence rules. | Route the record through the application's religious-organization exception logic instead of automatically treating BMF absence as final. |
| Pub. 78 and revocation signals | pub78_verified, revocation_code, revocation_date and reinstatement_date answer separate IRS questions. |
Keep them separate from BMF presence and apply them only when the workflow needs those additional decisions. |
irs_bmf_pub78_conflict |
Indicates whether BMF and Pub. 78 differ on the organization's private-foundation classification. | Preserve and review the disagreement rather than silently replacing one source with the other. |
Example decision logic
A practical BMF lookup might report that a nonprofit is present in the IRS Business Master File only after the application has:
- matched
einandorganization_nameto the intended nonprofit; - confirmed
bmf_statusis true; - matched
bmf_einandbmf_organization_nameto the returned BMF record; - preserved
bmf_subsection,subsection_descriptionandexempt_status_code; - retained foundation, ruling and group-exemption context when relevant; and
- considered
most_recent_bmfbefore treating the BMF result as current enough for the workflow.
The supplied bulk sample provides a concrete example. For EIN "680343125", Pactman returns bmf_status: true, bmf_ein: "680343125", bmf_organization_name: "TREE HOUSE SENIOR APARTMENTS INC", bmf_subsection: "03", subsection_description: "501(c)(3) Public Charity" and exempt_status_code: "01". The same response returns foundation_type_code: "pc", foundation_type_description: "Public charity described in section 509(a)(1) or (2)" and most_recent_bmf: "9/08/2026 12:00:00 AM".
Important: bmf_status answers whether the organization appears in the BMF data used by Pactman. Do not automatically treat BMF presence as proof of Pub. 78 inclusion, contribution deductibility, absence of revocation, or a universal overall verification decision.
Why use a consolidated nonprofit verification API?
A BMF lookup becomes more useful when an application can preserve the organization identity, subsection, exemption code, foundation classification, ruling information, group context and source freshness without separately ingesting and normalizing IRS files.
Pactman Nonprofit Check Plus returns BMF data together with other nonprofit-verification signals in one normalized response. The supplied single-EIN and bulk samples use the same current 43 organization-level fields, so the same BMF interpretation logic can be reused for one-off checks and higher-volume workflows.
One normalized response
Evaluate BMF presence, BMF identity, subsection, exemption status, foundation classification, ruling information and group context from one Pactman response model.
Separate source signals
Keep bmf_status, pub78_verified, revocation fields and irs_bmf_pub78_conflict separate so downstream logic preserves what each IRS source actually says.
Reusable compliance rules
Apply the same BMF interpretation layer across onboarding, donations, grantmaking, fintech, donor-advised fund and recurring nonprofit-review workflows while allowing each product to define its own acceptance criteria.
Developer-friendly automation
Move IRS BMF checks into application code so an EIN can be evaluated automatically during onboarding or transaction processing instead of requiring a person to manually search and interpret BMF data.
Frequently asked questions
Which Pactman field tells me whether a nonprofit appears in the IRS BMF?
Use bmf_status. In the supplied data mapping, this field indicates whether the organization appears in the Business Master File data used by Pactman.
What does bmf_subsection tell my application?
It returns the subsection code from the BMF. Use subsection_description with it to understand the tax-exempt organization classification represented by that code.
Is BMF presence the same as Pub. 78 verification?
No. bmf_status indicates BMF presence, while pub78_verified indicates whether the organization is included in the most recent Publication 78 data set used by Pactman. Keep the two signals separate.
What if the organization is not found in the BMF?
Review bmf_church_message when populated, especially for religious-organization cases, and evaluate any other source signals required by your workflow rather than automatically treating BMF absence as a universal failure.
Related Pactman artifacts
- How to Interpret IRS BMF Data for a Nonprofit
- How to Determine a Nonprofit’s IRS Subsection From Its EIN
- How to Check Whether a Nonprofit Is Listed in IRS Publication 78
Next step
Use bmf_status as the BMF presence signal, preserve the returned BMF identity and classification fields, and then apply Pub. 78, revocation, conflict and freshness rules only when your application's broader verification policy requires them.
Ready to automate IRS BMF checks?
Use Pactman Nonprofit Check Plus API to connect IRS Business Master File verification directly to your application.