Reference Source

US state hazardous waste generator annual fees by category

State-by-state annual registration and compliance fees for hazardous waste generators. Each record is one state’s fee for one generator category (VSQG, SQG, LQG, transporter, TSD facility), with the dollar amount, the fee basis (flat annual, per-ton, revenue-based), the due date, and the legal citation. Answers 'what is the annual hazardous waste fee for an SQG in [state]', 'which states charge VSQGs', 'what are the hazardous waste fees in North Carolina vs Vermont'. Fees range from $75 (Vermont VSQG) to $3,880+ (Massachusetts SQG) — a 50× range across states for equivalent generator categories.

Records29
Sources9
Verified
Review by
Licenceunknown

The data

StateGenerator CategoryAnnual FeeFee BasisDue DateLegal CitationTonnage FeeEffective Date
District of ColumbiaLQG$1,000flat annualMarch 120 DCMR 4390
District of ColumbiaSQG$500flat annualMarch 120 DCMR 4390
District of ColumbiaTSD Facility$2,500flat annualMarch 120 DCMR 4390
District of ColumbiaVSQG$100 (fewer than 8 employees) / $250 (8 or more employees)flat annualMarch 120 DCMR 4390
IllinoisIncineration Facility$4,000flat annual415 ILCS 5/22.15
IllinoisLQG$500flat annual415 ILCS 5/22.15
IllinoisOff-site Disposal Facility$70,000flat annual415 ILCS 5/22.15
IllinoisOn-site Disposal Facility$18,000flat annual415 ILCS 5/22.15
IllinoisStorage Facility$500flat annual415 ILCS 5/22.15
IllinoisTreatment Facility$2,000flat annual415 ILCS 5/22.15
IowaLQG$250flat annualApril 15Iowa Code 455B.424
IowaSQG$25flat annualApril 15Iowa Code 455B.424
New JerseyCESQG$50flat annual (adjusted annually)N.J.A.C. 7:26G-3.3
New JerseyLQG$940flat annual (adjusted annually)N.J.A.C. 7:26G-3.3
New JerseySQG$660flat annual (adjusted annually)N.J.A.C. 7:26G-3.3
North CarolinaDisposer$1,992flat annualN.C.G.S. 130A-294.1$2.45/ton received (commercial facilities only)July 1, 2025
North CarolinaLQG$1,660flat annualN.C.G.S. 130A-294.1$0.70/ton generatedJuly 1, 2025
North CarolinaSQG$317flat annualN.C.G.S. 130A-294.1$0.70/ton generatedJuly 1, 2025
North CarolinaStorer$1,992flat annualN.C.G.S. 130A-294.1$2.45/ton received (commercial facilities only)July 1, 2025
North CarolinaTransporter$996flat annualN.C.G.S. 130A-294.1July 1, 2025
North CarolinaTreater$1,992flat annualN.C.G.S. 130A-294.1$2.45/ton received (commercial facilities only)July 1, 2025
VermontLQG$600flat annualApril 3010 VSA Section 6608(f)
VermontSQG$125flat annualApril 3010 VSA Section 6608(f)
VermontVSQG$75flat annualApril 3010 VSA Section 6608(f)
VirginiaLQG$1,000flat annual9VAC20-60-1285August 27, 2014
VirginiaTSD Facility$2,800flat annual9VAC20-60-1285August 27, 2014
WashingtonAll generators$69flat annual (revenue-based threshold: applies if gross income exceeded $12,000)August 20RCW 70A.3002025
WisconsinLQG$470flat annual plus tonnageWis. Stat. 289.67(2)$20/ton generated
WisconsinSQG$350flat annual plus tonnageWis. Stat. 289.67(2)$20/ton generated

Where this came from

Every record above links the page it was taken from and quotes the sentence that states it. These are the 9 sources this dataset was assembled from.

Machine-readable

From your own code

Same records, same quotes, without scraping the page: refsource is on PyPI and npm. Each value comes back carrying the URL it was read from and the sentence on that page that states it — .source and .quote sit on the value itself rather than in a side channel, so the checking step is available instead of skipped.

pip install refsource
refsource lookup hazardous-waste-generator-fees-by-state state="District of Columbia"

npx -y refsource lookup hazardous-waste-generator-fees-by-state state="District of Columbia"

Set your AI assistant up to use this

Two files and no account. Put this in .mcp.json at the root of your project — Claude Code, Cursor, Windsurf, VS Code and Codex all read that file — and your assistant can look this dataset up instead of recalling it. The server is remote, keyless and read-only.

{
  "mcpServers": {
    "referencesource": {
      "type": "http",
      "url": "https://referencesource.org/mcp"
    }
  }
}

Add to Cursor · or, on the command line: claude mcp add --transport http referencesource https://referencesource.org/mcp --scope project

Then one line in the project's CLAUDE.md or AGENTS.md, so the assistant knows when to reach for it:

When a question needs "US state hazardous waste generator annual fees by category", call the referencesource MCP server at https://referencesource.org/mcp (tool `search_records`, dataset_slug `hazardous-waste-generator-fees-by-state`) instead of answering from memory — every record it returns carries its source URL and a verbatim quote from that page.

What each tool does, and the servers built over single registers: Connect your AI assistant.

29 records. last verified against source . due for re-check by .

Licence. unknown