Skip to main content

How to Automate EPA Form 8700-22 with Playwright

Automate critical EPA hazardous waste notification workflows with Playwright when APIs aren’t available or sufficient. You’ll eliminate manual compliance reporting and reduce environmental violation risks by automating repetitive hazardous waste declaration processes. Use Playwright to interact with EPA’s notification system programmatically. View EPA’s developer resources for available APIs when applicable.

Setup

Install Playwright and configure authentication:
npm install playwright

Automate Workflows

Create scripts for common EPA Form 8700-22 tasks:
import { chromium } from 'playwright';

const browser = await chromium.launch();
const page = await browser.newPage();

// Navigate to EPA RCRAInfo system
await page.goto('https://www.epa.gov/hwgenerators/uniform-hazardous-waste-manifest-instructions-sample-form-and-continuation-sheet');

// Start new hazardous waste notification
await page.click('[data-testid="new-notification"]');
await page.selectOption('[name="notification_type"]', 'initial');

// Facility information
await page.fill('[name="facility_name"]', 'ABC Manufacturing Plant');
await page.fill('[name="facility_address"]', '123 Industrial Blvd');
await page.fill('[name="city"]', 'Detroit');
await page.selectOption('[name="state"]', 'MI');
await page.fill('[name="zip_code"]', '48201');
await page.fill('[name="epa_id_number"]', 'MID987654321');

// Handler classification
await page.check('[name="generator"]');
await page.check('[name="transporter"]');
await page.fill('[name="estimated_annual_quantity"]', '2500');
await page.selectOption('[name="quantity_units"]', 'tons');

// Waste stream information
await page.click('[data-testid="add-waste-stream"]');
await page.selectOption('[name="waste_code"]', 'D001');
await page.fill('[name="waste_description"]', 'Ignitable waste solvents');
await page.selectOption('[name="physical_form"]', 'liquid');
await page.fill('[name="annual_quantity"]', '500');

// Contact person details
await page.fill('[name="contact_first_name"]', 'Sarah');
await page.fill('[name="contact_last_name']', 'Johnson');
await page.fill('[name="contact_title"]', 'Environmental Manager');
await page.fill('[name="contact_phone"]', '555-123-4567');
await page.fill('[name="contact_email"]', 'sarah.johnson@abcmfg.com');

// Certification and submission
await page.check('[name="certify_accuracy"]');
await page.fill('[name="certifier_name"]', 'Sarah Johnson');
await page.fill('[name="certifier_title"]', 'Environmental Manager');
await page.click('[data-testid="submit-notification"]');

// Download confirmation
await page.click('[data-testid="download-confirmation"]');

await browser.close();
Playwright handles waste code validation, quantity calculations, and regulatory submission processes automatically. You can automate facility updates, annual reporting, and compliance tracking workflows.

Scale your EPA Form 8700-22 automation with Anchor Browser

Run your Playwright EPA automations on cloud browsers with enterprise-grade reliability and persistent environmental compliance sessions. Learn more and get started for free: https://anchorbrowser.io
I