Direct answer
Before calling the API, normalize the EIN by removing spaces or dashes. The UPDATED-v2 template shows the example 12-3456789 becoming 123456789, and the supplied API samples use nine-digit EIN strings.
The supplied current API materials do not expose a dedicated preflight EIN-validity Boolean. Input-format checks are therefore separate from determining whether the EIN resolves to a nonprofit record or belongs to a tax-exempt organization.
Recommended verification flow
- Trim surrounding whitespace.
- Remove formatting characters such as dashes or spaces.
- Confirm the normalized input has the same nine-digit form used by the supplied examples.
- Do not treat formatting as proof of IRS status.
- Send the normalized EIN to the Nonprofit Check Plus API.
- Confirm the returned
ein. - Confirm
organization_name. - Review
bmf_statusandpub78_verifiedaccording to the verification question. - Handle missing or null source data explicitly.
- Keep input validation and nonprofit-status verification as separate steps.
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 |
|---|---|---|
| Normalized EIN input | Prevents punctuation and spacing from interfering with the request format. | Convert formatted input to the normalized form before the call. |
ein |
Returns the EIN for the organization record. | Confirm the response resolves to the intended identifier. |
organization_name |
Identifies the returned organization. | Verify the EIN is associated with the intended nonprofit. |
bmf_status |
Indicates BMF presence. | Use as a separate IRS-status signal. |
pub78_verified |
Indicates Pub. 78 presence. | Use as a separate Pub. 78 signal. |
| Null or missing source fields | Can indicate the source-specific value is not present in the response. | Handle explicitly rather than treating input syntax as the status answer. |
Example decision logic
A preflight layer might:
- trim the user input;
- remove dashes and spaces;
- reject input that does not match the normalized shape your application expects;
- submit normalized input to Pactman; and
- confirm the returned EIN and organization before applying IRS-source rules.
Important: An EIN that is syntactically normalized is not automatically proof of a valid tax-exempt organization. The template itself distinguishes EIN identity from IRS eligibility signals.
Why use a consolidated nonprofit verification API?
Input validation and nonprofit verification are different stages.
Pactman lets the application normalize input first, then evaluate returned IRS-derived organization data in one response.
One normalized response
Use the returned EIN, organization identity and IRS signals after input normalization.
Separate source signals
Keep identifier syntax separate from tax-exempt and deductibility status.
Reusable compliance rules
Apply the same normalization and verification sequence across forms, APIs and bulk jobs.
Developer-friendly automation
Prevent malformed user input from being confused with nonprofit-status logic.
Frequently asked questions
Does the current supplied API expose a preflight EIN-validity Boolean?
No. The supplied response model does not include a dedicated preflight validity field.
How should I normalize a formatted EIN?
The UPDATED-v2 template shows removing dashes, such as 12-3456789 to 123456789.
Is a nine-digit-looking EIN proof that it belongs to a nonprofit?
No. You still need to run the nonprofit check and evaluate the returned organization and IRS-source data.
Which returned field should I use to confirm the identifier?
Use ein, then confirm the associated organization_name.
Related Pactman artifacts
- How to Verify a Nonprofit by EIN Using an API
- How to Check if an EIN Belongs to a Tax-Exempt Organization
- How to Handle a Nonprofit Verification API Response With Missing or Null IRS Data
Next step
Normalize EIN input first, then use the returned identity and IRS-source fields to determine whether the identifier resolves to the nonprofit your workflow expects.
Ready to validate EIN input before verification?
Normalize EIN input first, then use Pactman Nonprofit Check Plus API to determine whether the identifier resolves to nonprofit data.