|ping||returns either a positive response (indicating APIs are functional), or returns a negative response or nothing at all (indicating APIs are not functional at that time).|
|pages||takes an EOL page identifier and returns the scientific name for that page, and optionally returns information about common names, media (text, images and videos), and references to the hierarchies which recognize the taxon described on the page|
|search||given a value for a specific element (e.g. scientific name=Homo sapiens), returns a paginated list of the EOL pages containing the search term|
|collections||returns all metadata about a particular collection and the items it contains indexed by EOL|
|data_objects||returns all metadata about a particular data object (text, image or video) indexed by EOL|
|hierarchy_entries||gives access to a single hierarchy indexed by EOL and its internal relationships|
|hierarchies||given a hierarchy identifier, this method returns metadata about the hierarchy and lists the root taxa|
|provider_hierarchies||lists the identifiers for all hierarchies supplied by content partners|
|search_by_provider||get the EOL page IDs given a provider's hierarchy_id and the provider's own unique identifier
(e.g. search for the EOL page ID for the ITIS TSN 180542: http://eol.org/api/search_by_provider/1.0/180542?hierarchy_id=903)
All APIs return by default an XML response. The API methods may be called without a format extension to get the XML response, and adding an XML extension will give an identical response:
Every method can also return a JSON response by adding a .json extension.
... and JSONP by adding a callback parameter
You can identify yourself to EOL by adding your API key to your requests (login and generate your key in your preference page):
Each method's documentation page has an example of both the XML and JSON formatted responses.
The response of any API call can be cached for a specified length of time. A "cache_ttl" parameter can be provided whose value is the number of seconds for which the response will be cached. This will create HTTP headers indicating the result should be cached by web browsers, and additionally the response will be cached on EOL's servers for the specified number of seconds. If the value of "cache_ttl" is changed, the first request with the new value will not hit the cache, but subsequent requests will leverage the newly cached response.