Pactman Developer Resources · Nonprofit verification answers for developers and compliance teams
Home  /  Artifacts  /  How to Check a Nonprofit in the IRS Business Master File
Artifact · Developer How-To

How to Check a Nonprofit in the IRS Business Master File

Send the nonprofit's EIN to Pactman Nonprofit Check Plus API and evaluate `bmf_status`. A true value indicates that the organization appears in the IRS Business Master File data used by Pactman. Confirm the BMF identity with `bmf_ein` and `bmf_organization_name`, then review `bmf_subsection`, `subsection_description`, `exempt_status_code`, foundation classification, ruling, group-exemption and freshness fields when your workflow needs more than simple BMF presence.

Updated September 28, 20266 min readFor developers, compliance teams, donation platforms & fintech and nonprofit software teams

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.

  1. Normalize the EIN. Remove spaces or dashes so 12-3456789 becomes 123456789.
  2. Send the EIN to the Nonprofit Check Plus API. Use the single-EIN nonprofitcheck endpoint for one organization.
  3. Confirm the requested organization. Match ein and organization_name to the nonprofit your application intended to check.
  4. Check BMF presence. Evaluate bmf_status.
  5. Confirm the BMF record identity. Review bmf_ein and bmf_organization_name.
  6. Interpret the IRS subsection. Review bmf_subsection and subsection_description.
  7. Review exemption and foundation classification. Evaluate exempt_status_code, foundation_code, foundation_code_description, foundation_509a_status, foundation_type_code and foundation_type_description.
  8. Review ruling and group context. Use ruling_month, ruling_year and group_exemption when those fields matter to your workflow.
  9. Check BMF freshness. Review most_recent_bmf and organization_info_last_modified.
  10. Use other IRS signals separately. Review pub78_verified, revocation fields and irs_bmf_pub78_conflict when 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 ein and organization_name to the intended nonprofit;
  • confirmed bmf_status is true;
  • matched bmf_ein and bmf_organization_name to the returned BMF record;
  • preserved bmf_subsection, subsection_description and exempt_status_code;
  • retained foundation, ruling and group-exemption context when relevant; and
  • considered most_recent_bmf before 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.

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.

Get an API Key →