Skip to main content

An API utility wrapper for accessing the e-Manifest hazardous waste tracking system maintained by the US Environmental Protection Agency

Project description


Downloads PyPI

emanifest is a Python utility wrapper for accessing the e-Manifest API of the US Environmental Protection Agency's RCRAInfo national electronic hazardous waste management system.



  • Python 3.6


  • requests
  • requests_toolbelt
  • getpass
  • pandas
  • json
  • zipfile
  • io


emanifest can be installed directly from the Python package directory using pip:

pip install emanifest


Getting Started

Before using the emanifest package, ensure you have a RCRAInfo user account and the necessary permissions to generate an API ID and key. Make note of your ID and key somewhere safe.

To add emanifest to your current Python environment and authenticate your account, peform the following commands:

from emanifest import emanifest as em


Your environment variable can be any of the following for which you have permission: "dev", "sandbox", "preprod", "prod"

Once you receive a "Authentication successful" message, you are ready to use the full functionality of the emanifest package. Functions designed for use by other groups, such as regulators or industry users, will return 'Access Denied' errors if you are not authorized to view this content in RCRAInfo.


There are ten categories of functions in the emanifest package. For more information about these services, visit the Swagger page of your selected environment. (DEV, SANDBOX, PREPROD, PROD)

  1. [All users] Authentication services
  2. [All users] e-Manifest Lookup Services
  3. [All users] Lookup Services
  4. [All users] Site Services
  5. [Industry users] e-Manifest Services
  6. [Industry users] e-Manifest UI Link Services
  7. [Regulator users] CM&E Evaluation Services
  8. [Regulator users] e-Manifest Services
  9. [Regulator users] Handler Services
  10. [Regulator users] User Services

Most content will be returned as a Pandas Dataframe item. To output this data as a CSV or Excel file, you will need to ensure the Pandas library is active in your current Python environment, select a desired emanifest function (e.g. GetSiteDetails), and perform one of the following commands:

import pandas as pd # Unnecessary if you have imported Pandas elsewhere



More complicated results will be returned as a JSON object.

Functions that download file attachments will store these in the same folder as your Python document. Functions that update, correct, or save manifests by uploading new .json and/or .zip files must receive the specific location of these files on your computer. By default, these functions will assume the files are located in the same folder as your Python document.


If you are uncertain how to use a function, run help(em.FunctionName) in your Python environment. This will return a description of the function, any required inputs, and the formats of those inputs. For a list of all the functions contained in emanifest and additional information about this package, run help(emanifest) in your Python environment.


Please direct questions to the EPA e-Manifest team at USEPA/e-manifest


The United States Environmental Protection Agency (EPA) GitHub project code is provided on an "as is" basis and the user assumes responsibility for its use. EPA has relinquished control of the information and no longer has responsibility to protect the integrity , confidentiality, or availability of the information. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by EPA. The EPA seal and logo shall not be used in any manner to imply endorsement of any commercial product or activity by EPA or the United States Government.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for emanifest, version 1.0.5
Filename, size File type Python version Upload date Hashes
Filename, size emanifest-1.0.5-py3-none-any.whl (8.6 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size emanifest-1.0.5.tar.gz (10.5 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page