Taxonomic Name Resolution Service (TNRS) API
Overview
The Taxonomic Name Resolution Service (TNRS) API is a completely separate application from the online TNRS. It resolves names using the new TNRSbatch application, which uses parallel processing and is therefore faster than the original TNRS. Data are sent as a POST with the input data formatted as JSON. Results are also returned as JSON. See the TNRS API GitHub repository for more details.
Input data
Input data should be organized as a UTF-8 CSV file with two columns. The first column must be an integer ID that uniquely identifies each row. The second column is the taxon name, with or without authorities. Optionally, the family name may be prepended to the taxon name (separated by a whitespace, NOT a comma) to help distinguish between homonyms (identical names applied to different taxa) in different families. Family name, if included, MUST end in -aceae or it will prevent matching. The first letter of the genus name must be capitalized for the parser to recognize it as a genus. Below is an example of a properly formated input file:
1,Arecaceae Mauritia
2,Solanaceae Solanum bipatens Dunal
3,Arecaceae Leopoldinia pulchra Mart.
4,Melastomataceae Leandra schenckii
5,Piper arboreum Aubl.
6,Poaceae Pseudochaetochloa australiensis Hitchc.
7,Juglandaceae Engelhardia spicata var. colebrookeana (Lindl. ex Wall. ) Koord. & Valeton
8,Melastomataceae Miconia sp.1
Options
The following options are currently supported. Default values are indicated by asterisk(*).
Option | Meaning | Values | Default | Notes |
sources | Taxonomic sources | tpl|ildis|gcc|tropicos|usda|ncbi | tpl,ildis,gcc,tropicos,usda | Can be combined, separated by commas. |
class | Family classification | tropicos|ncbi | tropicos | "tropicos" is equivalent to APG III |
mode | Processing mode | resolve|parse | resolve | Parse-only mode separates name components. Resolve mode parses, matches to a published name and resolved synonyms to the accepted name |
API request
The API request must be sent as a POST with options and data in the header as JSON. In the JSON, the comma delimiter in the raw data must be converted to a pipe ("|"). For more details on calling the API, see example scripts for PHP and R in the TNRS API GitHub repository
Record limit
The TNRS API currently has a per-request limit of 5,000 names. If your list has >5,000 names you will need to submit it in multiple batches of <=5,000 names.
Output
Results are returned as JSON. For a detailed description of the TNRS output, see the TNRS Data Dictionary.
Example Script
See this example of how to call the TNRS API in R in the TNRSapi GitHub repository. Or follow this example of calling the TNRS API using PHP.