Pactman Developer Resources · Nonprofit verification answers for developers and compliance teams
Home  /  Artifacts  /  How to Verify a Nonprofit When Its EIN Is Not Found in IRS Pub. 78
Artifact · Developer How-To

How to Verify a Nonprofit When Its EIN Is Not Found in IRS Pub. 78

Start with `pub78_verified`. If it is false, do not automatically conclude the nonprofit is invalid. Review `pub78_church_message`, `pub78_indicator`, `group_exemption`, `bmf_status`, BMF identity and source freshness. The supplied mapping specifically provides church and group-exemption context for cases where ordinary Pub. 78 presence may not tell the whole story.

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

Direct answer

If an EIN is not found in Pub. 78, start with pub78_verified but do not automatically treat false as a universal verification failure.

Review pub78_church_message, pub78_indicator and group_exemption for church or group-exemption context. Then review bmf_status, bmf_ein, bmf_organization_name, bmf_subsection and subsection_description as separate BMF evidence.

  1. Normalize the EIN.
  2. Send the EIN to the Nonprofit Check Plus API.
  3. Confirm the organization identity.
  4. Check pub78_verified.
  5. Review pub78_church_message.
  6. Review pub78_indicator and group_exemption.
  7. Check BMF presence. Review bmf_status.
  8. Confirm BMF identity and subsection.
  9. Check freshness.
  10. Apply exception-aware logic. Do not turn Pub. 78 absence into an unsupported universal conclusion.

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
pub78_verified Returns false when the organization is not present in the Pub. 78 file. Use as the Pub. 78 presence signal, not a universal validity field.
pub78_church_message Can explain religious-organization context when Pub. 78 presence is missing. Route church-related exceptions through dedicated logic.
pub78_indicator / group_exemption Provides group-exemption context. Account for parent/subordinate Pub. 78 relationships.
bmf_status Indicates BMF presence. Use as separate IRS evidence.
bmf_ein / bmf_organization_name Confirms the BMF source record. Verify identity before applying BMF classification.
bmf_subsection / subsection_description Provides tax-exempt subsection context. Preserve BMF classification separately from Pub. 78 presence.
Source dates most_recent_pub78, most_recent_bmf and organization_info_last_modified provide freshness context. Use before relying on the overall verification record.

Example decision logic

An exception-aware workflow might:

  • detect pub78_verified: false;
  • review church and group-exemption signals;
  • confirm BMF presence and identity;
  • preserve BMF subsection;
  • check source freshness; and
  • route unresolved cases for review rather than auto-failing solely on Pub. 78 absence.

The supplied current examples all have pub78_verified: true, so they do not provide a false-Pub. 78 example. The mapping explicitly defines false as absence from the Pub. 78 file.

Important: Pub. 78 absence and BMF absence answer different questions.

Why use a consolidated nonprofit verification API?

Pub. 78 edge cases are easier to handle when BMF, church and group-exemption context are available in the same response.

Pactman Nonprofit Check Plus preserves those signals separately.

One normalized response

Evaluate Pub. 78 presence together with BMF and exception context.

Separate source signals

Avoid turning one missing source record into a universal nonprofit status.

Reusable compliance rules

Apply church, group-exemption and BMF fallback rules consistently.

Developer-friendly automation

Route edge cases automatically instead of manually researching every missing Pub. 78 record.

Frequently asked questions

Does pub78_verified: false mean the nonprofit is invalid?

No. It means the organization is not present in the Pub. 78 file represented by that response.

What should I check for churches?

Review pub78_church_message and related filing/BMF context.

What should I check for group exemptions?

Review pub78_indicator and group_exemption.

Should I also check the BMF?

Yes. bmf_status, BMF identity and subsection fields provide separate IRS context.

Next step

Treat Pub. 78 absence as one source signal, then evaluate church, group-exemption, BMF and freshness context before applying your verification policy.

Ready to handle Pub. 78 exceptions programmatically?

Use Pactman Nonprofit Check Plus API to evaluate BMF, church and group-exemption context when Pub. 78 presence is missing.

Get an API Key →