Intergovernmental FRS API
The FRS API exposes several RESTful web services for querying and submitting data with FRS for federal, state, local, and tribal government organizations.
Intergovernmental FRS API Specifications
The technical details of the FRS API endpoints are documented in the FRS API Swagger pages:
- Production Query API Swagger Page (most common API used)
- Production Submit API Swagger Page (validation of submit process required in Pre-production Submit API)
Pre-production APIs used for testing
- Pre-production Submit API Swagger Page (used by teams validating their submit process to FRS)
- Pre-production Query API Swagger Page (optional)
Business Users - it is recommended to use the Swagger pages for an explanation of the data elements in FRS and inform how to use the open (no sign-up required) FRS API hosted in Envirofacts.
FRS Submit API IDs Explanation
When submitting new facilities, your information system's identifier should be assigned as the "programSystemId" in FRS. These identifiers should be unique within your system. Subsequent updates, or adding additional information (contacts, organizations, etc.), would be for that same "programSystemId".
Once submitted, FRS will auto-assign the "registryId". This acts as a unique key across all facilities in FRS.
FRS API Error Codes
The FRS API returns error codes to inform the user why a request was not accepted. If an error code is not understood, please contact the the FRS_Support@epa.gov (FRS helpdesk) for an explanation of the error.
New Users - How to Connect
Short Explanation
- Determine which API version you need
- Query data in FRS (most common request, no testing required)
- Submit data to FRS (more complex, testing required)
- Request a Production NAAS account
- Get NAAS username in an email and call NAAS helpdesk for the password
- Use NAAS username and password in related Swagger page to validate credentials
- If you run into any issues
- Contact FRS_Support@epa.gov (FRS helpdesk) for FRS API help (Swagger page errors)
- Contact nodehelpdesk@epa.gov (CDX helpdesk) for NAAS account help (Username and password are not accepted)
Long Explanation
Determine which API you need
For querying data in FRS (including non-public data), use the production API (Production Query API Swagger Page).
For submitting data to FRS, use the production API (Production Submit API Swagger Page).
Note - the FRS team determines if you require using the pre-production submit API (Pre-production Submit API Swagger Page) to validate your submit approach. The query API does not require pre-production testing but can be used by users.
If you are unsure on what API to request, reach out to the FRS helpdesk at FRS_Support@epa.gov.
Request a NAAS account
A Network Authentication Authorization Services (NAAS) account is required to use the FRS API.
Send an email to the nodehelpdesk@epa.gov (CDX helpdesk) and cc the FRS_Support@epa.gov (FRS helpdesk) to request a NAAS account with the following information (note - pre-production FRS APIs use a Production NAAS account).
Example Email
Hello nodehlepdesk,
I am following the instructions on https://www.epa.gov/frs/intergovernmental-frs-api and want access to the FRS API through a NAAS account.
- Full Name: John Doe
- NAAS Account Type: Production NAAS Account
- Email (used as the account user ID): john.doe@abc.gov
- Organization: ABC Division
- Supervisor’s Name: Sam Doe
- Supervisor’s Email: sam.doe@abc.gov
FRS API Choice (one or both): FRS Query and/or FRS Submit
Choose between: FRS Query API - receive data from FRS into the partner system OR FRS Submit API -provide data from partner system to FRS
- Reason for requesting access to the FRS API: ABC government organization needs to "add your reason here" with EPA FRS system
After sending the email above with your information the CDX team contacts the FRS team to validate the request. After FRS team gives the go-ahead the CDX team provisions your NAAS account and sends you an email.
Get NAAS username in an email and call NAAS help desk for password
The node helpdesk team gives you the NAAS username in an email and provide instructions on what number to call to get your password. You call the CDX phone number and get the password that goes with your NAAS username. You are now ready to test your credentials in the Swagger page.
Note - use the nodehelpdesk@epa.gov for password resets.
Use NAAS username and password in related Swagger page
You use your NAAS username and password in directly in the Swagger page (for example in the Production Query API Swagger Page) to test that FRS information is returned and not an error.
If an authorization error is returned the username or password may need to be reconfigured by the CDX team. Contact both nodehelpdesk@epa.gov (CDX helpdesk) and FRS_Support@epa.gov (FRS helpdesk) in your email.
Submit API additional setup step
For submitting data to FRS, you need to coordinate with the FRS team (FRS_Support@epa.gov) to determine the Program System Acronym (programSystemAcronym) you plan to submit to otherwise an error is returned.
The FRS team helps in validating your developer's approach in the pre-production Submit API and then gives access to the production submit API. Note the query API does not require this step.
Issues?
Contact FRS_Support@epa.gov (FRS helpdesk) for FRS API help (e.g., Swagger page throws an error)
Contact nodehelpdesk@epa.gov (CDX helpdesk) for NAAS account help (e.g., forgot your password)
When in doubt send a single email to both teams' helpdesk so the teams can verify who can assist.
GitHub FRS API connection example
For an example of connecting to the FRS API in a programmatic way using your NAAS account credentials, see this 2023 open source Python FRS API client. FRS recommends you can use a personal NAAS account for testing, but use a generic team NAAS account for programmatic usage of the FRS API for a team's related system.
Note - duplicated FRS API documentation is on the Exchange Network at the Environmental Information Exchange Network documentation of FRS API page.
API Release Notes
Active
- Version 1.07.00