{"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}