Sign inTry it

Search Danish recipes.

Searches the Valdemarsro recipe blog like its search page (/?s=). Returns each matching post with its title, absolute link and image. Returns an empty list when nothing matches.

No reports yetRead-only, no login
Site
Valdemarsro, Denmark
Version
v1
Runs, last 7 days
No reports yet
sha256
c43f2bdfde0c…

Run it with your agent

after installing Wield

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

“Search Danish recipes.”

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

{
  "tool": "run",
  "arguments": {
    "recipe_id": "valdemarsro.dk/search-recipes",
    "params": {
      "query": "frikadeller"
    }
  }
}

Requests

sent from your browser, in order
  1. 1GET/?sWordPress search results page /?s=…; read-only GET. Each hit is div.post-list-item in the results list (the page reports the count as '… indlæg fundet'), with its title in span.post-list-item-title a.

Parameters

from your agent
querystringrequiredDish or ingredient, e.g. 'frikadeller', 'æbleskiver', 'rugbrød'

Returns

to your agent
querystring
recipesobject[]image_url, title, url

Where it can send

  • www.valdemarsro.dk

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

Raw recipe

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

Check it yourself
curl -s https://wield.run/api/v1/recipes/valdemarsro.dk/search-recipes | shasum -a 256
# c43f2bdfde0cba067dc86e0725d62da8f0280c1cad4e140713700313a16897f4
valdemarsro.dk/search-recipes.json, v1
{
  "description": "Searches the Valdemarsro recipe blog like its search page (/?s=). Returns each matching post with its title, absolute link and image. Returns an empty list when nothing matches.",
  "effect": "read",
  "id": "valdemarsro.dk/search-recipes",
  "keywords": [
    "valdemarsro",
    "opskrifter",
    "opskrift",
    "madblog",
    "mad",
    "kogebog",
    "frikadeller",
    "rugbrød",
    "æbleskiver",
    "recipes",
    "food",
    "blog",
    "denmark",
    "danmark",
    "cooking"
  ],
  "output": {
    "schema": {
      "properties": {
        "query": {
          "type": "string"
        },
        "recipes": {
          "items": {
            "properties": {
              "image_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "title": {
                "type": "string"
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "title",
              "url"
            ],
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [
        "query",
        "recipes"
      ],
      "type": "object"
    },
    "value": "{query: params.query, recipes: steps.search.posts[?name != `null` && href != `null`].{title: name, url: (starts_with(href, 'https://') && href) || join('', ['https://www.valdemarsro.dk', href]), image_url: image || `null`}}"
  },
  "params": {
    "additionalProperties": false,
    "properties": {
      "query": {
        "description": "Dish or ingredient, e.g. 'frikadeller', 'æbleskiver', 'rugbrød'",
        "maxLength": 100,
        "minLength": 2,
        "type": "string"
      }
    },
    "required": [
      "query"
    ],
    "type": "object"
  },
  "provenance": {
    "method": "har",
    "notes": "GET /?s=…: WordPress search page; the hits are div.post-list-item elements inside div.post-list-items, and the count line says how many were found. Title is the link text in span.post-list-item-title, the URL is that link's href, and the image is the img in div.post-list-item-image. No sidebar or recommended lists sit in that container.",
    "recorded_at": "2026-11-08T15:30:27.000Z",
    "recorded_by": "wield-forge (claude-haiku agent)"
  },
  "requires_login": false,
  "schema": "https://wield.run/schema/recipe/v1.json",
  "site": {
    "country": "DK",
    "id": "valdemarsro.dk",
    "language": "da",
    "name": "Valdemarsro",
    "origin": "https://www.valdemarsro.dk",
    "origins": [
      "https://www.valdemarsro.dk"
    ]
  },
  "steps": [
    {
      "description": "WordPress search results page /?s=…; read-only GET. Each hit is div.post-list-item in the results list (the page reports the count as '… indlæg fundet'), with its title in span.post-list-item-title a.",
      "expect": {
        "assert": "status == `200` && contains(body, 'post-list-items')",
        "content_type": "html",
        "status": [
          200
        ]
      },
      "extract": {
        "html_items": {
          "posts": {
            "fields": {
              "href": {
                "attr": "href",
                "selector": "span.post-list-item-title a"
              },
              "image": {
                "attr": "src",
                "selector": "div.post-list-item-image img"
              },
              "name": {
                "selector": "span.post-list-item-title a"
              }
            },
            "max": 60,
            "selector": "div.post-list-items div.post-list-item"
          }
        }
      },
      "id": "search",
      "request": {
        "headers": {
          "Accept": "text/html"
        },
        "method": "GET",
        "query": {
          "s": "{{params.query}}"
        },
        "url": "/"
      }
    }
  ],
  "task": "Search Danish recipes",
  "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.recipes) > `0`",
      "length(output.recipes[?starts_with(url, 'https://www.valdemarsro.dk/')]) == length(output.recipes)",
      "length(output.recipes[?title != `null`]) == length(output.recipes)"
    ],
    "example_params": {
      "query": "frikadeller"
    },
    "max_ms": 5000
  },
  "version": 1
}