Sign inTry it

Search WoRMS marine species.

Searches the World Register of Marine Species (WoRMS) by scientific name, like its taxon list page: each matching name with its link to the taxon record. Returns the first page of matches (up to 20). Names that are synonyms or represented by another name are listed as the name the page shows.

No reports yetRead-only, no login
Site
WoRMS, Belgium
Version
v1
Runs, last 7 days
No reports yet
sha256
807a63dd7c92…

Run it with your agent

after installing Wield

Ask in plain words. Your agent finds this recipe and calls it:

“Search WoRMS marine species.”

Read-only: it changes nothing on the site. No login needed.

{
  "tool": "run",
  "arguments": {
    "recipe_id": "marinespecies.org/search-papers",
    "params": {
      "query": "Mytilus edulis"
    }
  }
}

Requests

sent from your browser, in order
  1. 1GET/aphia.php?p&tNameTaxon list page aphia.php?p=taxlist&tName=<query>, read-only GET. Each match is a list item; its first link is the taxon name and points to the taxon record.

Parameters

from your agent
querystringrequiredScientific name or part of one, e.g. 'Mytilus edulis', 'Calanus', 'Tursiops truncatus'

Returns

to your agent
itemsobject[]name, url
querystring

Where it can send

  • www.marinespecies.org

Anything else is blocked by the extension.

Reads from your session

Nothing. Your browser attaches the site's cookies by itself.

Used only in requests to the addresses on the left. Never sent to wield.run or your agent.

Checks

a run passes when
  • length(output.items) > `0`
  • length(output.items[?starts_with(url, 'https://www.marinespecies.org/aphia.php?p=taxdetails&id=')]) == length(output.items)
  • length(output.items[?name != `null`]) == length(output.items)

Raw recipe

Served as canonical JSON from /api/v1/recipes/marinespecies.org/search-papers, so its sha256 matches the ETag and the index.

Check it yourself
curl -s https://wield.run/api/v1/recipes/marinespecies.org/search-papers | shasum -a 256
# 807a63dd7c9236b2a11c0cf2e2b9cc78bf861d8d46974fe617031205713dd5ec
marinespecies.org/search-papers.json, v1
{
  "description": "Searches the World Register of Marine Species (WoRMS) by scientific name, like its taxon list page: each matching name with its link to the taxon record. Returns the first page of matches (up to 20). Names that are synonyms or represented by another name are listed as the name the page shows.",
  "effect": "read",
  "id": "marinespecies.org/search-papers",
  "keywords": [
    "worms",
    "marine species",
    "species",
    "taxonomy",
    "marinespecies.org",
    "aphia",
    "sea",
    "ocean",
    "meeresarten",
    "taxon",
    "biology",
    "marine biology",
    "biodiversity",
    "register"
  ],
  "output": {
    "schema": {
      "properties": {
        "items": {
          "items": {
            "properties": {
              "name": {
                "type": "string"
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "name",
              "url"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "query": {
          "type": "string"
        }
      },
      "required": [
        "query",
        "items"
      ],
      "type": "object"
    },
    "value": "{query: params.query, items: steps.search.species[?name != `null` && href != `null`].{name: name, url: join('', ['https://www.marinespecies.org/', href])}}"
  },
  "params": {
    "additionalProperties": false,
    "properties": {
      "query": {
        "description": "Scientific name or part of one, e.g. 'Mytilus edulis', 'Calanus', 'Tursiops truncatus'",
        "maxLength": 100,
        "minLength": 2,
        "type": "string"
      }
    },
    "required": [
      "query"
    ],
    "type": "object"
  },
  "provenance": {
    "method": "har",
    "notes": "One GET to /aphia.php?p=taxlist&tName=<query> (server-rendered HTML, 200). The page lists up to 20 matches as li.list-group-item; each item's first link is the taxon record. Data comes from the WoRMS taxon list.",
    "recorded_at": "2026-11-08T16:30:00Z",
    "recorded_by": "wield-forge (claude-haiku agent)"
  },
  "requires_login": false,
  "schema": "https://wield.run/schema/recipe/v1.json",
  "site": {
    "country": "BE",
    "id": "marinespecies.org",
    "language": "en",
    "name": "WoRMS",
    "origin": "https://www.marinespecies.org",
    "origins": [
      "https://www.marinespecies.org"
    ]
  },
  "steps": [
    {
      "description": "Taxon list page aphia.php?p=taxlist&tName=<query>, read-only GET. Each match is a list item; its first link is the taxon name and points to the taxon record.",
      "expect": {
        "content_type": "html",
        "status": [
          200
        ]
      },
      "extract": {
        "html_items": {
          "species": {
            "fields": {
              "href": {
                "attr": "href",
                "selector": "a"
              },
              "name": {
                "selector": "a"
              }
            },
            "max": 60,
            "selector": "li.list-group-item"
          }
        }
      },
      "id": "search",
      "request": {
        "headers": {
          "Accept": "text/html"
        },
        "method": "GET",
        "query": {
          "p": "taxlist",
          "tName": "{{params.query}}"
        },
        "url": "/aphia.php"
      }
    }
  ],
  "task": "Search WoRMS marine species",
  "tos": {
    "notes": "Not reviewed. One search page per call, the same page a visitor loads. The site's terms on automated access were not checked.",
    "reviewed": false
  },
  "verify": {
    "checks": [
      "length(output.items) > `0`",
      "length(output.items[?starts_with(url, 'https://www.marinespecies.org/aphia.php?p=taxdetails&id=')]) == length(output.items)",
      "length(output.items[?name != `null`]) == length(output.items)"
    ],
    "example_params": {
      "query": "Mytilus edulis"
    },
    "max_ms": 5000
  },
  "version": 1
}