Pactman Developer Resources · Nonprofit verification answers for developers and compliance teams
Home  /  Artifacts  /  How to Check a Nonprofit’s IRS Filing Requirement Code
Artifact · Developer How-To

How to Check a Nonprofit’s IRS Filing Requirement Code

Send the nonprofit's EIN to Pactman Nonprofit Check Plus API and read `filing_req_code`. The supplied Pactman data mapping defines this field as the code specifying the main tax return or returns the organization is obligated to file. Preserve the returned code exactly, then review BMF, Pub. 78, church-message, group-exemption, exemption-status and freshness fields when your workflow needs additional IRS context.

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

Direct answer

To check a nonprofit's IRS filing requirement code, send its EIN to Pactman Nonprofit Check Plus API and read filing_req_code.

In the supplied Pactman data mapping, filing_req_code specifies the main tax return or returns the organization is obligated to file. Preserve the returned code exactly. When the record involves a church or religious organization, also review pub78_church_message and bmf_church_message, because those fields can use filing-requirement context to explain why ordinary Pub. 78 or BMF presence rules may not apply.

  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 endpoint for one nonprofit or the bulk endpoint for multiple EINs.
  3. Confirm the organization. Match ein and organization_name to the nonprofit your application intended to evaluate.
  4. Read the filing requirement code. Use filing_req_code.
  5. Preserve the code exactly. Store the value returned by the API rather than inventing a replacement field or label.
  6. Review BMF context. Evaluate bmf_status, bmf_ein, bmf_organization_name, bmf_subsection and subsection_description when your workflow also needs BMF classification.
  7. Review religious-organization context. Check pub78_church_message and bmf_church_message when populated.
  8. Review group and exemption context. Use group_exemption and exempt_status_code when relevant.
  9. Check freshness. Review most_recent_bmf, most_recent_pub78 and organization_info_last_modified.
  10. Keep revocation history separate. Review revocation_code, revocation_date and reinstatement_date only when the broader workflow needs current status or eligibility information.

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
filing_req_code The supplied data mapping defines this as the code specifying the main tax return or returns the organization is obligated to file. Preserve the returned code as its own IRS filing-requirement attribute.
ein / organization_name Confirms the code is tied to the nonprofit your application intended to evaluate. Continue only when the returned organization matches the intended entity.
bmf_status Indicates whether the organization appears in the Business Master File data used by Pactman. Use as separate BMF-presence context rather than inferring BMF status from the filing code.
bmf_subsection / subsection_description Provides BMF tax-exempt subsection classification. Keep subsection classification separate from filing requirement.
pub78_church_message Can explain that an organization not listed in Pub. 78 has a filing requirement code indicating a religious organization. Route the record through religious-organization exception logic when populated.
bmf_church_message Can explain that an organization not listed in the IRS data store has a filing requirement code indicating a church or religious organization that is not obligated to be included in BMF to validate status. Avoid automatically treating ordinary BMF absence as a failure when this message is populated.
group_exemption / exempt_status_code Provides separate group-exemption and exemption-status context. Preserve these signals separately rather than deriving them from filing_req_code.
Source dates most_recent_bmf, most_recent_pub78 and organization_info_last_modified provide freshness context. Use them when deciding whether the returned IRS-related data is current enough for the workflow.
Revocation fields revocation_code, revocation_date and reinstatement_date expose revocation history. Keep revocation separate from filing-requirement interpretation, but include it in broader current-status workflows when needed.

Example decision logic

A practical filing-requirement lookup might:

  • match ein and organization_name to the intended nonprofit;
  • read and preserve filing_req_code;
  • keep BMF subsection and exemption-status fields separate;
  • review pub78_church_message and bmf_church_message when populated;
  • retain group-exemption context where relevant; and
  • consider source dates before treating the overall IRS record as current enough for the workflow.

The supplied bulk sample demonstrates that filing_req_code is returned as a string value. EIN "680343125" returns filing_req_code: "01", while EIN "996103790" returns filing_req_code: "00".

Important: The supplied data mapping explains what filing_req_code represents, but it does not provide a complete code-to-tax-return lookup table for every possible value. Do not invent meanings for individual codes in your integration. Preserve the code returned by Pactman and interpret it only with an authoritative code mapping available to your implementation.

Why use a consolidated nonprofit verification API?

A filing-requirement code is more useful when the application can receive it together with organization identity, BMF presence, subsection classification, religious-organization context, group-exemption information, exemption status and source freshness.

Pactman Nonprofit Check Plus returns those signals in one normalized response. The supplied single-EIN and bulk examples use the same current 43 organization-level fields, so the same filing-requirement logic can be reused for interactive and batch workflows.

One normalized response

Retrieve the filing requirement code together with organization identity, BMF context, church-message signals, group-exemption information and source freshness from one Pactman organization record.

Separate source signals

Keep filing_req_code, BMF subsection, exemption status, church messages, revocation history and other IRS signals distinct so your application preserves what each field represents.

Reusable compliance rules

Apply one filing-requirement interpretation layer across nonprofit onboarding, donations, grantmaking, fintech and recurring compliance workflows.

Developer-friendly automation

Retrieve and store the IRS filing requirement code automatically from an EIN instead of relying on manual IRS record review.

Frequently asked questions

Which Pactman field contains the IRS filing requirement code?

Use filing_req_code. The supplied Pactman data mapping defines it as the code specifying the main tax return or returns the organization is obligated to file.

Does Pactman return a text description for every filing requirement code?

The supplied data mapping defines the purpose of filing_req_code, but it does not include a complete code-to-tax-return lookup table for all values. Preserve the returned code and avoid inventing a description that is not supported by the supplied data.

Why are pub78_church_message and bmf_church_message relevant?

The supplied mapping ties both messages to filing-requirement context for churches or religious organizations. They can explain why ordinary Pub. 78 or BMF presence expectations should not automatically be applied to those records.

Is filing_req_code the same thing as exempt_status_code?

No. They are separate fields in the current Pactman response. filing_req_code concerns the main tax return or returns the organization is obligated to file, while exempt_status_code is a separate exemption-status field.

Next step

Use filing_req_code as the IRS filing-requirement value, preserve the church-message, BMF, subsection, group-exemption and exemption-status fields separately, and avoid assigning unsupported meanings to individual filing codes.

Ready to automate filing-requirement checks?

Use Pactman Nonprofit Check Plus API to retrieve IRS filing requirement codes directly from an EIN.

Get an API Key →