Direct answer
Before making a donation, use the nonprofit's EIN with Pactman Nonprofit Check Plus API and verify the organization across the IRS, deductibility, revocation and sanctions signals returned in the response.
A practical donation check should confirm the organization identity, review bmf_status and IRS classification information, evaluate pub78_verified and the organization_types contribution information when deductibility matters, review revocation and reinstatement history, check ofac_status, and account for source conflicts and freshness. Do not treat possession of an EIN by itself as proof that a donation should proceed.
Recommended verification flow
- Get and 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 prospective recipient. - Confirm the organization. Match
einandorganization_nameto the nonprofit the donor intended to support. - Review IRS BMF status. Evaluate
bmf_ein,bmf_status,bmf_subsection,subsection_descriptionandexempt_status_code. - Check Pub. 78 when deductibility matters. Review
pub78_ein,pub78_verifiedand theorganization_typesarray. - Interpret contribution information. Within
organization_types, revieworganization_type,deductibility_limitationanddeductibility_status_descriptionrather than inferring deductibility from the nonprofit's name or EIN. - Check revocation and reinstatement. Review
revocation_code,revocation_dateandreinstatement_datebefore treating a historical revocation record as the organization's current status. - Check sanctions screening. Review
ofac_statusseparately from IRS tax status. - Check conflicts and freshness. Review
irs_bmf_pub78_conflict,most_recent_bmf,most_recent_pub78andorganization_info_last_modified. - Handle religious-organization exceptions explicitly. When populated, review
pub78_church_messageandbmf_church_messageinstead of treating ordinary source absence as an automatic failure.
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 that the API response belongs to the nonprofit the donor intended to support. | Continue only when the EIN resolves to the expected organization. |
bmf_status and IRS classification |
bmf_status shows whether the organization appears in the IRS Business Master File data used by Pactman, while bmf_subsection, subsection_description and exempt_status_code provide classification context. |
Use these as IRS-status inputs rather than relying on the EIN alone. |
pub78_verified |
Indicates whether the organization is included in the most recent Publication 78 data used by Pactman. | Treat as an important deductibility-related signal when tax-deductible contribution eligibility matters. |
organization_types |
Contains contribution-related information returned from Pub. 78, including organization_type, deductibility_limitation and deductibility_status_description. |
Use the returned contribution classification and limitation in the donation workflow instead of inventing a generic deductible/not-deductible rule. |
| Foundation classification | foundation_code, foundation_code_description, foundation_type_code and foundation_type_description preserve public-charity/private-foundation context. |
Apply the contribution rules appropriate to the returned organization type. |
| Revocation fields | revocation_code, revocation_date and reinstatement_date expose revocation-related history. |
Review reinstatement before treating a historical revocation record as a current reason to reject the donation. |
ofac_status |
Indicates whether the organization is included on the OFAC SDN list according to the Pactman response. | Route a sanctions-related result through the donor or platform's compliance policy separately from IRS tax-status logic. |
irs_bmf_pub78_conflict |
Indicates whether BMF and Pub. 78 differ on the organization's private-foundation classification. | Preserve and review the disagreement instead of silently choosing one source. |
| Source dates | most_recent_bmf, most_recent_pub78 and organization_info_last_modified provide freshness context. |
Use them when deciding whether the information is current enough for the donation workflow. |
Example decision logic
A practical donation workflow might allow a nonprofit to proceed only after the application has:
- matched the returned
einandorganization_nameto the intended recipient; - reviewed the BMF status and classification signals required by the platform;
- evaluated
pub78_verifiedandorganization_typeswhen deductible-contribution eligibility matters; - reviewed revocation and reinstatement information;
- evaluated
ofac_statusunder the platform's sanctions policy; - handled any
irs_bmf_pub78_conflict; and - considered the source dates before treating the result as current.
The supplied bulk sample provides a clean donation-oriented example. For EIN "680343125" as at September 28th 2026, Pactman returns bmf_status: true, pub78_verified: true, deductibility_status_description: "PC", deductibility_limitation: "50%", and an ofac_status stating that the organization was not included in the OFAC SDN list. The same response has revocation_code, revocation_date and reinstatement_date as null.
Important: Do not hard-code a universal definition of "safe to donate" or "verified for donation." A consumer donation page, donor-advised fund, payroll-giving platform, grant-management system or compliance team may apply different acceptance rules to the same underlying signals.
Why use a consolidated nonprofit verification API?
A donation workflow can require several questions to be answered at once: Is this the intended organization? Does it appear in the IRS BMF data? Is it included in Pub. 78? What contribution classification does Pub. 78 return? Is there revocation history? Is there an OFAC signal? Are the IRS sources in conflict, and how recent are they?
Pactman Nonprofit Check Plus API 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 donation-verification logic can be reused for one-off checks and higher-volume donation workflows.
One normalized response
Evaluate organization identity, IRS BMF, Pub. 78, contribution information, revocation and OFAC screening from one Pactman response model.
Separate source signals
Keep bmf_status, pub78_verified, organization_types, revocation fields, ofac_status and irs_bmf_pub78_conflict separate so the application retains the meaning of each source.
Reusable compliance rules
Apply the same nonprofit-verification policy across donation checkout, donor-advised fund, payroll-giving and recurring donation workflows while allowing each product to set its own acceptance rules.
Developer-friendly automation
Move pre-donation verification into the application workflow instead of requiring a donor or employee to manually compare IRS, revocation and sanctions information for every nonprofit.
Frequently asked questions
Is an EIN enough to verify a nonprofit before donating?
No. An EIN identifies an entity, but your workflow should also evaluate the returned organization identity, IRS BMF signals, Pub. 78 information, revocation history and any sanctions-screening result relevant to your policy.
How do I know whether a donation may be tax deductible?
Review pub78_verified together with the organization_types information, including organization_type, deductibility_limitation and deductibility_status_description. Keep this separate from a general IRS BMF-presence check.
What if the nonprofit appears in revocation data?
Review revocation_code, revocation_date and reinstatement_date together. The presence of revocation history should not be treated as the organization's current status without considering reinstatement information.
Should OFAC screening be part of a donation check?
When sanctions screening is part of the donation platform's compliance policy, evaluate ofac_status as a separate decision signal. IRS tax status and OFAC screening answer different compliance questions.
Related Pactman artifacts
- How to Check Whether Donations to a Nonprofit Are Tax Deductible
- How to Check if a Nonprofit Has Lost Its Tax-Exempt Status
- How to Screen a Nonprofit Against the OFAC SDN List
Next step
Use the Pactman API response to confirm the intended nonprofit, evaluate IRS BMF and Pub. 78 contribution signals, then explicitly handle revocation, OFAC, source conflicts and freshness before allowing the donation workflow to proceed under your application's rules.
Ready to automate nonprofit donation checks?
Use Pactman Nonprofit Check Plus API to connect nonprofit verification directly to your donation workflow.