Direct answer
Instead of manually searching IRS.gov, send the nonprofit’s EIN to Pactman Nonprofit Check Plus API and evaluate the IRS-related status and classification fields returned in the response.
Start with bmf_status to determine whether the organization appears in the IRS Business Master File data used by Pactman. Then review bmf_subsection, subsection_description, exempt_status_code, filing_req_code, foundation classification, ruling information and most_recent_bmf. Use Pub. 78, revocation and source-conflict fields as separate supporting signals when your workflow needs a broader IRS-status determination.
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 nonprofit. - Confirm the organization. Match
einandorganization_nameto the nonprofit your application intended to check. - Check IRS BMF presence. Review
bmf_ein,bmf_organization_nameandbmf_status. - Interpret IRS classification. Review
bmf_subsection,subsection_descriptionandexempt_status_code. - Review filing and group context. Evaluate
filing_req_codeandgroup_exemptionwhere those fields affect your workflow. - Review foundation classification. Check
foundation_code,foundation_code_description,foundation_509a_status,foundation_type_codeandfoundation_type_description. - Review ruling information. Use
ruling_monthandruling_yearas determination context when needed. - Check Pub. 78 and revocation separately. Review
pub78_verified,revocation_code,revocation_dateandreinstatement_daterather than treating BMF presence as the only IRS signal. - Check conflicts and freshness. Review
irs_bmf_pub78_conflict,most_recent_bmf,most_recent_pub78andorganization_info_last_modified.
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 single-EIN Nonprofit Check endpoint used in Pactman's Production/Customer Environment.
What your application should evaluate
| Signal | Why it matters | Typical application decision |
|---|---|---|
ein / organization_name |
Confirms the returned record belongs to the nonprofit your user intended to check. | Continue only when the EIN and organization identity match the intended entity. |
bmf_ein / bmf_status |
bmf_status indicates whether the organization appears in the IRS Business Master File data used by Pactman. |
Use as the first BMF-presence signal before interpreting the remaining IRS fields. |
bmf_subsection / subsection_description |
Identifies the tax-exempt subsection classification returned from BMF data. | Use to determine what type of tax-exempt organization the EIN is associated with. |
exempt_status_code |
Provides the EO status code describing the type of exemption held by the organization. | Evaluate together with BMF subsection rather than relying on one field alone. |
filing_req_code |
Specifies the main tax return or returns the organization is obligated to file. | Preserve as IRS filing-status context when relevant to the workflow. |
| Foundation classification fields | foundation_code, foundation_code_description, foundation_509a_status, foundation_type_code and foundation_type_description preserve public-charity/private-foundation context. |
Use the returned foundation classification instead of inferring it from the nonprofit name. |
| Ruling fields | ruling_month and ruling_year provide the month and year associated with the IRS ruling or determination information returned by the API. |
Preserve as determination context or audit information. |
pub78_verified |
Indicates whether the organization is included in the most recent Publication 78 data used by Pactman. | Use separately when deductible-contribution eligibility matters. |
| Revocation fields | revocation_code, revocation_date and reinstatement_date provide revocation-related history. |
Review reinstatement before treating historical revocation information as current status. |
irs_bmf_pub78_conflict |
Indicates whether BMF and Pub. 78 differ on private-foundation classification. | Route conflicting records through source-aware logic rather than silently choosing one source. |
| Source dates | most_recent_bmf, most_recent_pub78 and organization_info_last_modified provide freshness context. |
Use them to determine whether the IRS information is current enough for the workflow. |
Example decision logic
A practical IRS-status workflow might return an application-level result only after it has:
- matched
einandorganization_nameto the intended nonprofit; - evaluated
bmf_statusand the BMF identity fields; - interpreted
bmf_subsection,subsection_descriptionandexempt_status_code; - preserved filing, foundation and ruling information needed by the application;
- reviewed Pub. 78 when contribution eligibility matters;
- reviewed revocation and reinstatement history;
- handled any
irs_bmf_pub78_conflict; and - considered the source dates before treating the result as current.
The supplied bulk sample provides a concrete example. For EIN "680343125", Pactman returns bmf_status: true, bmf_subsection: "03", subsection_description: "501(c)(3) Public Charity", filing_req_code: "01", exempt_status_code: "01" and foundation_type_code: "pc". The same response also returns pub78_verified: true, while revocation_code, revocation_date and reinstatement_date are null.
Important: Do not treat bmf_status as a universal IRS-status answer. Pactman exposes BMF presence, exemption classification, filing information, Pub. 78, revocation and source freshness separately so your application can answer the specific IRS-status question relevant to its workflow.
Why use a consolidated nonprofit verification API?
A manual IRS.gov workflow can require a user to search for an EIN, inspect tax-exempt organization information, interpret classification fields, check Publication 78, review revocation history and decide whether the records are current or conflicting.
Pactman Nonprofit Check Plus returns those signals in one normalized response. The supplied single-EIN and bulk samples use the same current 43 organization-level fields, so the same IRS-status logic can be reused for individual lookups and higher-volume workflows.
One normalized response
Evaluate nonprofit identity, BMF status, IRS classification, filing information, foundation type, Pub. 78 and revocation from one Pactman response model.
Separate source signals
Keep bmf_status, pub78_verified, revocation fields and irs_bmf_pub78_conflict separate so the application retains the meaning of each IRS source.
Reusable compliance rules
Apply the same IRS-status interpretation logic across onboarding, donations, grants, nonprofit administration and recurring compliance reviews while allowing each workflow to define its own acceptance rules.
Developer-friendly automation
Move IRS nonprofit status checks into application code instead of requiring a person to manually search and interpret IRS information for every EIN.
Frequently asked questions
What is the main field for checking whether a nonprofit appears in the IRS BMF?
Use bmf_status. In the Pactman data model, it indicates whether the organization appears in the Business Master File data used by Pactman. Use bmf_ein and bmf_organization_name to preserve the source identity as well.
Does bmf_status: true tell me the organization’s exact IRS classification?
No. Review bmf_subsection, subsection_description, exempt_status_code and the foundation-classification fields to understand the returned IRS classification.
Should I also check Publication 78?
Check pub78_verified when your application needs Publication 78 or deductible-contribution information. BMF and Pub. 78 are separate signals and should not be collapsed into one field.
What if the nonprofit has been revoked or reinstated?
Review revocation_code, revocation_date and reinstatement_date together. Historical revocation information should not be treated as the current IRS status without considering reinstatement information.
Related Pactman artifacts
- How to Check a Nonprofit in the IRS Business Master File
- How to Interpret IRS BMF Data for a Nonprofit
- How to Check Whether a Nonprofit Is Listed in IRS Publication 78
Next step
Use the Pactman API response to replace manual IRS.gov lookups with a repeatable application workflow that evaluates BMF presence, IRS classification, filing information, Pub. 78, revocation, conflicts and source freshness for each EIN.
Ready to automate IRS nonprofit status checks?
Use Pactman Nonprofit Check Plus API to connect IRS status and nonprofit verification signals directly to your application.