Pactman Developer Resources · Nonprofit verification answers for developers and compliance teams
Home  /  Artifacts  /  How to Verify a Nonprofit When Its IRS Address Is Different From Its Current Address
Artifact · Developer How-To

How to Verify a Nonprofit When Its IRS Address Is Different From Its Current Address

Anchor verification on the EIN rather than requiring an exact address match. Compare the Pactman organization address fields `address_line1`, `address_line2`, `city`, `state` and `zip` with the Pub. 78 location fields `pub78_city` and `pub78_state` where useful. The current 43-field response does not expose a separate BMF street-address field or an address-history field.

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

Direct answer

Do not require an exact address match to identify the nonprofit. Anchor the verification on the EIN and compare the address information the current response actually exposes.

Use address_line1, address_line2, city, state, state_name and zip for the returned organization address. Use pub78_city and pub78_state for Pub. 78 location context.

The current response does not expose separate BMF street-address fields or an address-history field.

  1. Normalize the EIN.
  2. Send the EIN to the Nonprofit Check Plus API.
  3. Anchor on ein.
  4. Review the returned organization address.
  5. Compare pub78_city and pub78_state.
  6. Confirm Pub. 78 identity. Review pub78_ein and pub78_organization_name.
  7. Confirm BMF identity. Review bmf_ein and bmf_organization_name.
  8. Review organization names.
  9. Check freshness.
  10. Do not invent missing address history.

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
ein Anchors identity independent of address formatting. Use as the primary organization identifier.
address_line1 / address_line2 Provides returned street-address lines. Retain the address exactly as returned.
city / state / state_name / zip Provides locality and postal information. Compare with workflow address context without requiring exact formatting.
pub78_city / pub78_state Provides Pub. 78 location fields. Use as source-specific location context.
pub78_ein / bmf_ein Confirms source-specific identity. Avoid treating an address difference as an identity failure when EIN evidence matches.
Source dates most_recent_pub78, most_recent_bmf and organization_info_last_modified provide freshness context. Use when interpreting a location difference.

Example decision logic

An address-mismatch workflow might:

  • anchor on the EIN;
  • compare the returned organization address with Pub. 78 city/state;
  • verify source-specific EINs and names;
  • retain source strings instead of overwriting them;
  • review freshness; and
  • route material discrepancies according to policy.

The supplied current examples do not contain an address mismatch case.

Important: The current response does not contain separate BMF street-address fields.

Why use a consolidated nonprofit verification API?

Address differences are easier to interpret when EIN identity, organization address, Pub. 78 location and source freshness are available together.

Pactman Nonprofit Check Plus returns those supported fields in one response.

One normalized response

Compare identity and location context without treating address text as the sole identifier.

Separate source signals

Preserve the main organization address and Pub. 78 location separately.

Reusable compliance rules

Apply consistent address-mismatch handling across onboarding, grants and donations.

Developer-friendly automation

Reduce false negatives caused by address changes or formatting differences.

Frequently asked questions

Does the current API expose a separate BMF street address?

No. The current supplied response does not include separate BMF street-address fields.

Which Pub. 78 address fields are available?

Use pub78_city and pub78_state.

Should an address mismatch automatically fail verification?

The supplied files do not define a universal failure rule.

Which field helps me understand when Pactman last refreshed the organization details?

Use organization_info_last_modified.

Next step

Use EIN identity first, compare the supported organization and Pub. 78 location fields, and avoid inventing address-history data the current response does not expose.

Ready to automate nonprofit address matching?

Use Pactman Nonprofit Check Plus API to keep EIN identity, organization address and Pub. 78 location context in one verification flow.

Get an API Key →