See the Getting started page for examples of EOL API usage, terms of use and information on registering for an API key.

EOL Forums

Click here to access the beta test of the new EOL forums. Your feedback is welcome.


Method Description
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
hierarchy_entries_descendants gives access to descendants of a single hierarchy entry
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)

Response Formats

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: http://www.eol.org/api/search/Robin http://www.eol.org/api/search/Robin.xml

Every method can also return a JSON response by adding a .json extension. http://www.eol.org/api/search/Robin.json

... and JSONP by adding a callback parameter http://www.eol.org/api/search/Robin.json?callback=some_neat_function

You can identify yourself to EOL by adding your API key to your requests (login and generate your key by opening your EOL profile for editing. The key will be saved here; open your profile for editing again to retrieve it later): http://www.eol.org/api/search/Robin?key=1111111111111111111111111111111111

Each method's documentation page has an example of both the XML and JSON formatted responses.

Caching Results

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. http://www.eol.org/api/search/Robin?cache_ttl=60