2026-08-25
Back in May, I wrote about Tax Court Opinion Search, a free, open-source tool I built for searching the full text of U.S. Tax Court opinions. I have found it to be very useful, so I decided to expand it.
Tax Authorities is the successor to that tool. It searches the same Tax Court opinions, plus two more datasets: IRS revenue rulings (which also includes Notices, Announcements, and Revenue Procedures) and IRS private letter rulings (written determinations, including PLRs, CCAs, and TAMs). You can search all three at once, or use checkboxes to narrow it down to just the ones you want.
Windows:
Open PowerShell and run:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"uv tool install tax-authoritiestax-authHere is a short video on installation and usage.
Mac:
Open Terminal and run:
curl -LsSf https://astral.sh/uv/install.sh | shuv tool install tax-authoritiestax-authFor Python developers:
pip install tax-authorities also works, as long as tax-auth ends up on your PATH.
The first time you run tax-auth, it downloads all three datasets from Hugging Face (~420MB). This only happens once. Run tax-authorities download-data any time you want to refresh all three with the latest data. We hope to update these datasets monthly.
Type your search term(s) and pick which of the three datasets to search: Tax Court Opinions, Revenue Rulings, or Private Letter Rulings. Results show 300 characters of context before and after each match, along with relevant metadata — the opinion's date, type, page count, docket number, judge, and taxpayer name for cases; the ruling type, year, and number for revenue rulings; and the written determination number for private letter rulings.
You can also exclude terms with a - prefix, and wrap multiple words in quotes to search for an exact phrase. Or, if you'd rather write a regular expression, there's a separate field for that.
For example, searching "innocent spouse" across all three datasets turns up cases, revenue rulings, and private letter rulings addressing innocent spouse relief, each with enough surrounding text to see the context of the match.
The three datasets are all on Hugging Face as parquet files, compatible with Python's Pandas library: