WoRMS banner
Add search provider Add provider
Twitter: Latest updates @WRMarineSpecies

WoRMS webservice

As a user or developer you can use the WoRMS webservice to feed your own application with standard WoRMS taxonomy.
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
Currently, we support these methods of accessing the 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 SOAP implementations

Change history

You can stay informed of any changes to the webservice.
Send an empty mail to webservice-subscribe@marinespecies.org.
  • 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
  • 2015-02-23 updated function getAphiaID to return -999, when multiple matches are found (i.e. homonyms). Now returning 'replaced by' AphiaID for deleted taxa
  • 2014-06-27 updated R instructions to fix the 'infinite recursion' error
  • 2013-08-06 bugfix for mixing up 'extidentifiers' and 'externalidentifiers', the latter is kept
  • 2013-07-17 added function getAphiaRecordByExtID and getExtIDbyAphiaID (this results in removing the function getAphiaRecordByTSN)
  • 2013-07-17 added function matchAphiaRecordsByNames, which uses the TAXAMATCH algorithm by Tony Rees. This results in removing/ignoring the fuzzy parameter in all other functions

Webservice/API has been published or implemented in:

Linking to WoRMS

If you simply want to link to WoRMS, just use this URL: http://marinespecies.org/aphia.php?p=taxlist&tName=Your Species
i.e. http://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: http://marinespecies.org/aphia.php?p=taxdetails&id=AphiaID
i.e. the AphiaID for Solea solea is 127160: http://marinespecies.org/aphia.php?p=taxdetails&id=127160

Wikispecies has a template to link back to WoRMS.
It is available here: http://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].

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: Rod Page's LSID Tester

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

Vocabularies using a WoRMS unique identifier