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.
- Site
- NOAA NCEI, United States
- Version
- v1
- Runs, last 7 days
- No reports yet
- sha256
- f37d5f17f5ab…
Run it with your agent
after installing WieldAsk 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- 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 agentquerystringrequiredDataset, product or topic, e.g. 'daily summaries', 'hurricane tracks', 'temperature normals'
Returns
to your agentproductsobject[]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 }