WoRMS webservice

As a user or developer you can use the WoRMS webservice to feed your own application with standard WoRMS data.
A non exhaustive list of applications:
  • get the AphiaID for your taxon
  • check the spelling of your taxa
  • get the authority for your taxa
  • get the full classification for your taxa
  • resolve your unaccepted names to accepted ones
  • get all synonyms for a taxon
  • fuzzy/near match your species list
  • resolve a common name/vernacular to a scientific name
  • get the common name(s)/vernacular(s) for a taxon
  • get the sources/references for a taxon
  • get the WoRMS citation for a taxon
  • get the direct children for a taxon
  • get all taxa modified during a time interval
  • get an external identifier for a taxon
  • get the AphiaID for an external identifier/database
  • get all distributions for a taxon
  • get all attributes for a taxon
We support these methods of accessing the service:

RESTful service

SOAP service

Please, let us know if you are using the webservice, so we can add you to the users list.
Don't use the webservice to harvest WoRMS completely, you can request a database dump by completing this form
For problems or questions, please contact info@marinespecies.org

Example implementations

Change history

You can stay informed of any changes to the webservice: send an empty mail to webservice-subscribe@marinespecies.org.

  • 2023-04-17
    • Added function AphiaRecordFullByAphiaID that returns a Linked Open Data implementation of an AphiaRecord.
  • 2022-01-03 Enforced SSL on all webservice endpoints (SOAP & REST). Non-HTTPS requests are now redirected via a HTTP 301 Moved Permanently response
  • 2019-05-10
    • AphiaRecord object now exposes its taxonRankID
    • Added functions AphiaTaxonRanksByID & AphiaTaxonRanksByName functions to get information about the available ranks in the system
    • Added function AphiaRecordsByTaxonRankID to get all entries of specific rank. Can optionally be limited to a certain parent taxon (eg: get all species in a specific family).
    • matchAphiaRecordsByNames (SOAP) & AphiaRecordsByMatchNames (REST) now both return the current (final) accepted name (similar as in the update from 2018-10-01)
  • 2019-02-01 Added offset parameter to support fetching more than 50 resultsgetAphiaSynonymsByID
  • 2018-11-27 lowercase the parameter 'aphiaids' for the function AphiaRecordsByAphiaIDs
  • 2018-11-06 added function AphiaRecordsByAphiaIDs to get an AphiaRecord for multiple AphiaIDs in one go
  • 2018-10-01 valid_AphiaID property of an AphiaRecord now contains the current (final) accepted name.
    • Previously valid_AphiaID could be another synonym, so one would need to loop to get the actual accepted name.
    • This also influences the AphiaSynonymsByAphiaID function: from now you will get all synonyms, also 'synonyms of synonyms'.
  • 2018-04-10 AphiaRecordsByNames & AphiaRecordsByMatchNames now returns an empty array instead of an array with a single null item in it
  • 2018-04-05 Replaced R example with rest implementation because no R-libraries can handle the advanced SOAP nesting for attributes
  • 2018-01-19 modified REST functions
    • AphiaExternalIDByAphiaID now always returns an array of strings (numeric values were not converted to string)
    • AphiaRecordByExternalID fix for parameter should be of type string to support requests with an lsid
  • 2018-01-17 modified REST function AphiaClassificationByAphiaID now returns 'null' for the deepest child (was an empty array)
  • 2017-11-06 added 4 functions to retrieve attributes
  • 2016-12-21 added RESTful service
  • 2016-10-20 added Python example with studs
  • 2016-06-10 added function getAphiaDistributionsByID
  • 2016-04-28 updated R example: omegahat domain changed
  • 2016-02-17 added example for ColdFusion/Railo/Lucee

Webservice/API has been published or implemented in:

Linking to WoRMS

If you simply want to link to WoRMS, just use this URL: https://marinespecies.org/aphia.php?p=taxlist&tName=Your Species
i.e. https://marinespecies.org/aphia.php?p=taxlist&tName=Solea solea
(This assumes that you have no idea if the taxon exists, or you do not want to look up the AphiaID)

If you know the taxon exists, lookup the AphiaID, via the search interface, and link to this URL: https://marinespecies.org/aphia.php?p=taxdetails&id=AphiaID
i.e. the AphiaID for Solea solea is 127160: https://marinespecies.org/aphia.php?p=taxdetails&id=127160

Wikispecies has a template to link back to WoRMS.
It is available here: https://commons.wikimedia.org/wiki/Template:WRMS (credits go to Lycaon)

Life Science Identifier (LSID)

LSIDs are persistent, location-independent, resource identifiers for uniquely naming biologically significant resources.
The LSID concept introduces a straightforward approach to naming and identifying data resources stored in multiple, distributed data stores in a manner that overcomes the limitations of naming schemes in use today.
More information here and here.

WoRMS has implemented LSIDs for all its taxonomic names and they are displayed on each taxon page. We have integrated the AphiaID into the LSID, so in fact you can continue using the AphiaID.

For example: the LSID for Solea solea is: urn:lsid:marinespecies.org:taxname:127160
You can resolve an LSID via the various services available.
Example for Solea solea: LSID Resolver

The returned model is RDF (XML) with metadata elements from Darwin Core and Dublin Core.

Vocabularies using a WoRMS unique identifier