Computational Toxicology and Exposure APIs: About
Application Programming Interfaces (APIs) can effectively automate the process of accessing and downloading the data, such as data used to populate the CompTox Chemicals Dashboard. APIs do this via requests using the Hypertext Transfer Protocol (HTTP) that enables communication between users (e.g., your computer) and servers (e.g., the EPA).
Authentication
The Computational Toxicology and Exposure APIs (CTX APIs) are publicly available at no cost to the user. However, in order to use the APIs, users must have an individual API key. The API key uniquely identifies the user to the EPA servers and verifies that user has permission to access the database. This is to help us understand who is using data to better serve stakeholder needs! Getting an API key is free, but requires contacting the API support team at ccte_api@epa.gov.
Authentication
, found in upper left tab on each web interface page, is required to use the APIs. To authenticate themselves in the API web interface, the user must input their unique API key.
Request Construction
APIs can effectively automate the process of accessing and downloading the data. APIs do this via requests using the Hypertext Transfer Protocol (HTTP) that enables communication between clients (e.g. your computer) and the servers (e.g. the CCD).
In the CTX API web documentation, the colored boxes next to each endpoint indicate the type of the associated HTTP method. GET is used to request data from a specific web resource (e.g. a specific URL); POST is used to send data to a server to create or update a web resource. For the CTX APIs, POST requests are used to perform multiple (batch) searches in a single API call; GET requests are used for non-batch searches.
Consider constructing an API request to Get data by dtxsid
under the Chemical Details Resource
.
The web interface has two subheadings:
- Path Parameters contain user-specified parameters that are required in order to tell the API what URL (web address) to access. In this case, the required parameter is a string for the DTXSID identifying the chemical to be searched.
- Query-String Parameters contain user-specific parameters (usually optional) that tell the API what specific type(s) of information to download from the specified URL. In this case, the optional parameter is a projection parameter, a string that can take one of five values (chemicaldetailall, chemicaldetailstandard, chemicalidentifier, chemicalstructure, ntatoolkit). Depending on the value of this string, the API can return different sets of information about the chemical. If the projection parameter is left blank, then a default set of chemical information is returned.
The default return format is displayed below and includes a variety of fields with data types represented.
Pictured below is an example of returned Details for Bisphenol A with the chemicaldetailstandard
value for projection
selected.