LPSN API

Introduction

LPSN offers downloads of nomenclatural information via an Application Programming Interface (API). The usage of this API underlies the LPSN copyright. Login is required but registration is free. See also the LPSN download files, which provide an alternative means for bulk download of data.
Registration is done on the LPSN API website. A technical description of how to access the API is also given there, including detailed information on the API endpoints. Links to freely available API clients for distinct programming languages are also given on the LPSN API website.
The LPSN API is designed to be expandable in the future without creating any backwards incompatibility for users who read the manual. The LPSN API has a REST interface with currently three endpoints (two kinds of searches and one fetch command) and yields JSON that is paginated when necessary. Code examples are provided for how to use the API, particularly in the client implementations.
Below the content of the API records, which are returned as JSON objects, is described in detail. While the LPSN API website is the authoritative source for the interface of the API, the present page is the authoritative source for its content.

Conventions

Successful calls of the LPSN API when querying with an ID yield a JSON array of JSON objects. Each of such JSON objects is a single record in the database and corresponds to one ID.
The following conventions are used regarding the names of keys in JSON objects. The values of keys identical to "id" or ending with "_id" are integer numbers that act as identifiers. They refer to the same or another record found in the LPSN API. The values of other keys that start with "is_" are Boolean. The values of other keys that end in "_data" are JSON objects. The values of others keys that end with an English plural word are arrays. The values of the remaining keys are character strings.
JSON objects in LPSN records are not supposed to contain null values. In case of a missing value the key is also missing.

Caveats

Users interested in names validly published under the ICNP or some code of nomenclature are advised to explicitly check for "ICNP" as value of "validly_published". The data may at any time be expanded to include names that are validly published under some other code of nomenclature or to include names that are not validly published.
Also note that some aspects of the data are not supposed to be stable over time. In particular, the taxonomic opinions expressed in the data can be subject to change.

List of top-level keys

Details on the JSON content are given here. See the LPSN glossary for the abbreviations used. The keys and their values are not guaranteed to be delivered in a particular ordering.
Key Meaning
id Identifier (ID) for this record in the LPSN API. Identical to the record number found in the LPSN CSV file.
monomial Genus name within the name of a species or subspecies, or taxon name for a rank of subgenus or higher, hence always present.
species_epithet Species epithet within the name of a species or subspecies. Missing for taxa of other categories.
subspecies_epithet Subspecies epithet within the name of a subspecies. Missing for taxa of other categories.
full_name An appropriate combination of monomial, species_epithet (if present) and subspecies_epithet (if present).
authority A combination of the names of the authors of this taxon name and the year of publication. In the case of a name whose valid publication is an IJSEM validation list, this year may differ from the year of the effective publication. The entry can also include the authority of the basonym in parentheses at the beginning and a reference to the Approved Lists in parentheses at the end, as dictated by the ICNP.
category The taxonomic category of the taxon name. Each category yields a rank in the Linnaean hierarchy. The ordering of the categories is fixed by the ICNP (and by the other codes of nomenclature).
proposed_as An indicator of the kind of taxonomic proposal corresponding to Rule 27 (2a) of the ICNP.
validly_published Brief indication of the code of nomenclature under which this taxon name is validly published. If the name is not validly published, this key is missing. If the name is validly published, the key is present.
is_legitimate For a name validly published under some code of nomenclature, a Boolean indicator of whether or not the name is legitimate, i.e. in agreement with the rules of this code.
nomenclatural_status More details on whether or not the name is validly published and, if so, whether or not it is legitimate.
is_spelling_corrected Boolean indicating whether an orthographical or grammatical correction was made relative to the spelling of the name in the effective publication.
nomenclatural_type_id Identifier (ID) of the nomenclatural type of this taxon in the same API. Not available for species and subspecies (whose nomenclatural type is given in type_strain_names instead). See also id.
type_strain_names Array of names of the type-strain deposits, if any, including the original strain name as well as deposits in culture collections, if any. Only available for species and subspecies (the nomenclatural type of taxa of higher ranks is given in nomenclatural_type_id instead).
basonym_id Identifier (ID) of the basonym, if any, of this taxon name in the same API. Only available for names of species and subspecies (but not for all of them, of course). See also id.
publication_text Textual description of the publication in which this name was proposed. See also publication_kind.
publication_kind Kind of the publication given in publication_text relative to the given name. In the case of a validly published name, the publication is effective, valid, or both valid and effective. In the case of a not validly published name it is just the original publication.
ijsem_list_text Textual description of the IJSEM list, if any, in which this name was mentioned. See also ijsem_list_kind.
ijsem_list_kind Kind of the IJSEM list given in ijsem_list_text. In case of a Validation List, this list constitutes the valid publication of the name under the ICNP. See also ijsem_list_text.
emendations Array of JSON objects that provide the authority and the publication details for each emendation of the description of this taxon. Missing if no emendations are recorded.
lpsn_correct_name_id Identifier (ID) of the correct name for this taxon name in the same API. May be identical to id. As the correct name may depend on taxonomic opinion, this key is prefixed with "lpsn_" to indicate that we are dealing with the taxonomic opinion of LPSN. See also lpsn_taxonomic_status.
lpsn_taxonomic_status More details about the current taxonomic opinion of LPSN regarding this name. See also lpsn_correct_name_id.
lpsn_address URL of the page on the LPSN website for this name. Note that the LPSN copyright indicates that you need link to this page if you display information obtained from LPSN about this name in the WWW. Also note that you can alternatively use the id value to form a URL by appending it to "https://lpsn.dsmz.de/taxon/".