Sign inTry it

Search NOAA climate datasets.

Searches NOAA National Centers for Environmental Information like its content search page: product or dataset title, link, short description, and publication date, in the site's order. First page of results only.

No reports yetRead-only, no login
Site
NOAA NCEI, United States
Version
v1
Runs, last 7 days
No reports yet
sha256
f37d5f17f5ab…

Run it with your agent

after installing Wield

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

“Search NOAA climate datasets.”

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

{
  "tool": "run",
  "arguments": {
    "recipe_id": "ncei.noaa.gov/search-open-data",
    "params": {
      "query": "daily summaries"
    }
  }
}

Requests

sent from your browser, in order
  1. 1GET/search/content?keysServer-rendered content search /search/content?keys=…; read-only GET (the keys field is the Drupal views keyword filter; q is ignored). Each result is a div.views-view-responsive-grid__item with the title link, a publication time element and the body text.

Parameters

from your agent
querystringrequiredDataset, product or topic, e.g. 'daily summaries', 'hurricane tracks', 'temperature normals'

Returns

to your agent
productsobject[]published, summary, title, type, url
querystring

Where it can send

  • www.ncei.noaa.gov

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.products) > `0`
  • length(output.products[?starts_with(url, 'https://www.ncei.noaa.gov/')]) == length(output.products)
  • length(output.products[?title != `null`]) == length(output.products)

Raw recipe

Served as canonical JSON from /api/v1/recipes/ncei.noaa.gov/search-open-data, so its sha256 matches the ETag and the index.

Check it yourself
curl -s https://wield.run/api/v1/recipes/ncei.noaa.gov/search-open-data | shasum -a 256
# f37d5f17f5abadc239cdbbaad061428843df5627ffda74a2be8818c257917f9b
ncei.noaa.gov/search-open-data.json, v1
{
  "description": "Searches NOAA National Centers for Environmental Information like its content search page: product or dataset title, link, short description, and publication date, in the site's order. First page of results only.",
  "effect": "read",
  "id": "ncei.noaa.gov/search-open-data",
  "keywords": [
    "noaa",
    "ncei",
    "climate",
    "weather",
    "datasets",
    "open data",
    "climate data",
    "temperature",
    "hurricane",
    "archive",
    "environment",
    "us",
    "national centers for environmental information",
    "meteorology"
  ],
  "output": {
    "schema": {
      "properties": {
        "products": {
          "items": {
            "properties": {
              "published": {
                "description": "Publication date, YYYY-MM-DD",
                "type": [
                  "string",
                  "null"
                ]
              },
              "summary": {
                "description": "Start of the description, may be truncated",
                "type": [
                  "string",
                  "null"
                ]
              },
              "title": {
                "type": "string"
              },
              "type": {
                "description": "Content type, e.g. 'Product'",
                "type": [
                  "string",
                  "null"
                ]
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "title",
              "url"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "query": {
          "type": "string"
        }
      },
      "required": [
        "query",
        "products"
      ],
      "type": "object"
    },
    "value": "{query: params.query, products: steps.search.products[?title != `null` && href != `null`].{title: title, url: join('', ['https://www.ncei.noaa.gov', href]), type: type || `null`, published: (published && split(published, 'T')[0]) || `null`, summary: summary || `null`}}"
  },
  "params": {
    "additionalProperties": false,
    "properties": {
      "query": {
        "description": "Dataset, product or topic, e.g. 'daily summaries', 'hurricane tracks', 'temperature normals'",
        "maxLength": 100,
        "minLength": 2,
        "type": "string"
      }
    },
    "required": [
      "query"
    ],
    "type": "object"
  },
  "provenance": {
    "method": "har",
    "notes": "GET /search/content?q=…: the server-rendered HTML lists the results as Drupal views grid items (views-view-responsive-grid__item) with a title link (views-field-title), a time element (views-field-created) and a body (views-field-body). Selectors use the Drupal views field classes, not hashed classes.",
    "recorded_at": "2026-11-08T17:05:00.000Z",
    "recorded_by": "wield-forge (claude-haiku agent)"
  },
  "requires_login": false,
  "schema": "https://wield.run/schema/recipe/v1.json",
  "site": {
    "country": "US",
    "id": "ncei.noaa.gov",
    "language": "en",
    "name": "NOAA NCEI",
    "origin": "https://www.ncei.noaa.gov",
    "origins": [
      "https://www.ncei.noaa.gov"
    ]
  },
  "steps": [
    {
      "description": "Server-rendered content search /search/content?keys=…; read-only GET (the keys field is the Drupal views keyword filter; q is ignored). Each result is a div.views-view-responsive-grid__item with the title link, a publication time element and the body text.",
      "expect": {
        "content_type": "html",
        "status": [
          200
        ]
      },
      "extract": {
        "html_items": {
          "products": {
            "fields": {
              "href": {
                "attr": "href",
                "selector": ".views-field-title a"
              },
              "published": {
                "attr": "datetime",
                "selector": ".views-field-created time"
              },
              "summary": {
                "selector": ".views-field-body"
              },
              "title": {
                "selector": ".views-field-title a"
              },
              "type": {
                "selector": ".views-field-type"
              }
            },
            "max": 50,
            "selector": "div.views-view-responsive-grid__item"
          }
        }
      },
      "id": "search",
      "request": {
        "headers": {
          "Accept": "text/html"
        },
        "method": "GET",
        "query": {
          "keys": "{{params.query}}"
        },
        "url": "/search/content"
      }
    }
  ],
  "task": "Search NOAA climate datasets",
  "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.products) > `0`",
      "length(output.products[?starts_with(url, 'https://www.ncei.noaa.gov/')]) == length(output.products)",
      "length(output.products[?title != `null`]) == length(output.products)"
    ],
    "example_params": {
      "query": "daily summaries"
    },
    "max_ms": 5000
  },
  "version": 1
}