Check 1,000 nonprofits' IRS status in one run, free and offline
Description and use
The charity-check tool lets users verify up to 1,000 nonprofit IRS statuses offline by downloading public IRS files and matching EINs from a spreadsheet, producing a detailed CSV with eligibility and revocation flags.
Problem
Organizations that give money to other nonprofits must verify each recipient is still an IRS-recognized charity, but the IRS lookup site checks only one organization at a time and paid services are required for bulk checks.
Outcome
The tool enables donors to verify up to 1,000 nonprofit IRS statuses offline, producing a detailed CSV with eligibility, revocation, and other flags, while keeping sensitive data local.
Workflow
- 1. Prepare a CSV with an EIN column.
- 2. Run
python charity_check.py grantees.csv -o checked.csv. - 3. The script downloads IRS Publication 78, the automatic‑revocation list, and optionally the Exempt Organizations Business Master File.
- 4. It caches the files and matches each EIN, adding status and related columns to the output CSV.
- 5. Review the new columns (e.g., irs_status, revocation dates, foundation code) before making grant decisions.
Evidence
The IRS lookup site, Tax Exempt Organization Search, checks one organization at a time. Paid services check in bulk.
I built charity-check, a free and open tool that does the bulk check on your own computer.
It downloads three IRS files: Publication 78, the automatic‑revocation list and, with --bmf, the Exempt Organizations Business Master File (1.96 million rows).
Spreadsheet damage is handled: EINs with dashes, without dashes, saved as 530196605.0, or missing the leading zero all work.
charity-check only downloads the public IRS files and does the matching locally, so your list never leaves your machine.
- Record date: 2026-10-15T09:41:08.429Z