Direct answer
To check whether a nonprofit is listed in IRS Publication 78, send its EIN to Pactman Nonprofit Check Plus API and evaluate pub78_verified.
In the current Pactman data model, pub78_verified indicates whether the organization is included in the most recent Publication 78 data set. When it is true, confirm the Pub. 78 identity using pub78_ein and pub78_organization_name, then review organization_types, pub78_indicator and most_recent_pub78 when your application needs contribution, group-exemption or freshness context.
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 organization. Match
einandorganization_nameto the nonprofit your application intended to check. - Check Pub. 78 presence. Evaluate
pub78_verified. - Confirm the Pub. 78 record identity. Review
pub78_ein,pub78_organization_name,pub78_cityandpub78_state. - Review contribution information. Evaluate the
organization_typesarray, includingorganization_type,deductibility_limitationanddeductibility_status_description. - Review group-exemption context. Use
pub78_indicatortogether withgroup_exemptionwhen the organization may be subordinate to a parent organization. - Check Pub. 78 freshness. Review
most_recent_pub78. - Handle edge cases. Review
pub78_church_message,bmf_church_messageand BMF fields when source absence or a religious-organization exception needs additional context. - Check revocation and conflicts separately. Review
revocation_code,revocation_date,reinstatement_dateandirs_bmf_pub78_conflictbefore turning Pub. 78 presence into a broader current-status 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 single-EIN Nonprofit Check endpoint used in Pactman's Production/Customer Environment.
What your application should evaluate
| Signal | Why it matters | Typical application decision |
|---|---|---|
pub78_verified |
Indicates whether the organization is included in the most recent Publication 78 data set used by Pactman. | Use as the primary Pub. 78 presence signal. |
pub78_ein / pub78_organization_name |
Identifies the EIN and organization name as they appear in Publication 78 data. | Confirm the Pub. 78 record corresponds to the nonprofit being checked. |
pub78_city / pub78_state |
Provides location information from Publication 78. | Preserve as supporting identity context when needed. |
organization_types |
Contains the Publication 78 contribution classification returned by the API. | Review its child fields when deductibility or organization type matters. |
organization_type |
Describes the type of organization and intended use of contributions as listed in Publication 78. | Preserve the returned description as contribution context. |
deductibility_limitation |
Provides the deductibility limitation associated with the Pub. 78 organization type. | Use when your workflow needs the returned contribution limitation. |
deductibility_status_description |
Returns the deductibility status code associated with the Pub. 78 organization type. | Preserve the code and evaluate it with the other Pub. 78 fields. |
pub78_indicator / group_exemption |
Provides context for Publication 78 records involving subordinate organizations and group exemptions. | Apply group-exemption logic instead of assuming every organization must be represented as an independent Pub. 78 record. |
most_recent_pub78 |
Gives the date of the most recent Publication 78 data used by Pactman. | Use as a freshness input for the Pub. 78 result. |
pub78_church_message |
Can provide context when an organization is not listed in Pub. 78 but its filing requirement indicates a religious organization. | Route the record through the application's religious-organization exception logic rather than automatically treating absence as final. |
| Revocation and conflict fields | revocation_code, revocation_date, reinstatement_date and irs_bmf_pub78_conflict expose separate status or source-conflict information. |
Keep these separate from the Pub. 78 presence result and apply them when the workflow needs a broader eligibility decision. |
Example decision logic
A practical Pub. 78 lookup might report an organization as present in Publication 78 only after the application has:
- matched the returned
einandorganization_nameto the intended nonprofit; - confirmed
pub78_verifiedis true; - matched
pub78_einandpub78_organization_nameto the relevant Pub. 78 record; - retained
organization_typeswhen contribution classification matters; - considered
pub78_indicatorandgroup_exemptionfor group-exempt organizations; and - considered
most_recent_pub78before treating the result as current enough for the workflow.
The supplied bulk sample provides a concrete example. For EIN "680343125", Pactman returns pub78_verified: true, pub78_ein: "680343125", pub78_organization_name: "Tree House Senior Apartments Inc.", pub78_indicator: "0" and most_recent_pub78: "9/10/2026 12:00:00 AM". Its organization_types entry also returns deductibility_status_description: "PC" and deductibility_limitation: "50%".
Important: A Pub. 78 lookup answers whether the organization is represented in the Publication 78 data used by Pactman and exposes its related contribution information. Do not automatically turn pub78_verified into a universal current-tax-status, sanctions or overall compliance decision.
Why use a consolidated nonprofit verification API?
Checking Publication 78 manually can require a user or application to search for the organization, confirm the EIN and name, interpret contribution classification, account for group-exemption context and then separately investigate BMF or revocation information when the workflow needs more than Pub. 78 presence.
Pactman Nonprofit Check Plus returns Pub. 78 and the supporting 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 Pub. 78 interpretation logic can be reused across individual and batch workflows.
One normalized response
Evaluate Pub. 78 presence, Pub. 78 identity, contribution classification, group context and related IRS status signals from one Pactman response model.
Separate source signals
Keep pub78_verified, BMF fields, revocation fields and irs_bmf_pub78_conflict distinct so downstream logic preserves the meaning of each source.
Reusable compliance rules
Apply the same Pub. 78 lookup logic across donation, grantmaking, fintech, donor-advised fund and nonprofit-onboarding workflows while allowing each product to decide what Pub. 78 presence means for its own policy.
Developer-friendly automation
Move Publication 78 checks into application code so an EIN can be evaluated automatically during onboarding or transaction processing instead of requiring a manual IRS lookup.
Frequently asked questions
Which Pactman field tells me whether a nonprofit is in Publication 78?
Use pub78_verified. In the supplied data mapping, it indicates whether the organization is included in the most recent Publication 78 data set used by Pactman.
What does pub78_verified: false mean?
It means the organization is not present in the most recent Publication 78 data set used by Pactman. Your application may still need to review pub78_church_message, BMF information, group-exemption context or other source signals before making a broader eligibility decision.
Does being listed in Publication 78 prove every donation is deductible?
No. Review the organization_types contribution information, including organization_type, deductibility_limitation and deductibility_status_description, and apply the rules appropriate to your workflow.
What if Pub. 78 and BMF classification do not agree?
Review irs_bmf_pub78_conflict together with the relevant Pub. 78 and BMF fields and their source dates. Preserve the disagreement instead of silently collapsing the sources into one classification.
Related Pactman artifacts
- How to Use IRS Pub. 78 Data to Verify Tax-Deductible Organizations
- How to Verify a Nonprofit When Its EIN Is Not Found in IRS Pub. 78
- How to Handle a Nonprofit That Appears in Both IRS Pub. 78 and the Automatic Revocation List
Next step
Use pub78_verified as the Pub. 78 presence signal, preserve the returned Pub. 78 identity and contribution fields, and then apply group-exemption, exception, revocation, conflict and freshness logic only when your application's broader verification policy requires it.
Ready to automate Pub. 78 checks?
Use Pactman Nonprofit Check Plus API to connect Publication 78 verification directly to your application.