Pactman Developer Resources · Nonprofit verification answers for developers and compliance teams
Home  /  Artifacts  /  How to Check Whether a Nonprofit Is Listed in IRS Publication 78
Artifact · Developer How-To

How to Check Whether a Nonprofit Is Listed in IRS Publication 78

Send the nonprofit's EIN to Pactman Nonprofit Check Plus API and evaluate `pub78_verified`. A value of true indicates that the organization is present in the most recent Publication 78 data set used by Pactman. Confirm the Pub. 78 identity with `pub78_ein` and `pub78_organization_name`, then review `organization_types`, `pub78_indicator`, `most_recent_pub78`, church-message, revocation and source-conflict fields when your workflow needs additional context.

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

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.

  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 organization. Match ein and organization_name to the nonprofit your application intended to check.
  4. Check Pub. 78 presence. Evaluate pub78_verified.
  5. Confirm the Pub. 78 record identity. Review pub78_ein, pub78_organization_name, pub78_city and pub78_state.
  6. Review contribution information. Evaluate the organization_types array, including organization_type, deductibility_limitation and deductibility_status_description.
  7. Review group-exemption context. Use pub78_indicator together with group_exemption when the organization may be subordinate to a parent organization.
  8. Check Pub. 78 freshness. Review most_recent_pub78.
  9. Handle edge cases. Review pub78_church_message, bmf_church_message and BMF fields when source absence or a religious-organization exception needs additional context.
  10. Check revocation and conflicts separately. Review revocation_code, revocation_date, reinstatement_date and irs_bmf_pub78_conflict before 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 ein and organization_name to the intended nonprofit;
  • confirmed pub78_verified is true;
  • matched pub78_ein and pub78_organization_name to the relevant Pub. 78 record;
  • retained organization_types when contribution classification matters;
  • considered pub78_indicator and group_exemption for group-exempt organizations; and
  • considered most_recent_pub78 before 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.

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.

Get an API Key →