{"description":"Searches recipes on the Arla Denmark site like its search page (/sog/?query=). Returns the recipes the site shows on the 'all' tab: title, link, average rating, rating count, cooking time text and image. Returns an empty list when nothing matches.","effect":"read","id":"arla.dk/search-recipes","keywords":["arla","opskrifter","opskrift","mad","madopskrifter","mejeri","pandekager","lasagne","recipes","food","dairy","denmark","danmark","cooking"],"output":{"schema":{"properties":{"query":{"type":"string"},"recipes":{"items":{"properties":{"cooking_time":{"type":["string","null"]},"image_url":{"type":["string","null"]},"rating":{"description":"Average stars, 0 to 5","type":["number","null"]},"ratings_count":{"type":["integer","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.recipes || `[]`)[?title != `null` && url != `null`].{title: title, url: join('', ['https://www.arla.dk', url]), rating: ratingAverageRounded || `null`, ratings_count: ratingCount || `null`, cooking_time: totalCookingTimeText, image_url: picture.url || `null`}}"},"params":{"additionalProperties":false,"properties":{"query":{"description":"Dish or ingredient, e.g. 'pandekager', 'lasagne', 'risalamande'","maxLength":100,"minLength":2,"type":"string"}},"required":["query"],"type":"object"},"provenance":{"method":"har","notes":"GET /sog/?query=…: the page embeds the search results as JSON in div[data-vue='SearchApp'] data-model (content.recipes). Recipe URLs are relative /opskrifter/… and are joined to the origin. The /?s= search on the home page does not return results. Only the recipe hits on the all tab are read.","recorded_at":"2026-11-08T15:29:49.000Z","recorded_by":"wield-forge (claude-haiku agent)"},"requires_login":false,"schema":"https://wield.run/schema/recipe/v1.json","site":{"country":"DK","id":"arla.dk","language":"da","name":"Arla","origin":"https://www.arla.dk","origins":["https://www.arla.dk"]},"steps":[{"description":"Server-rendered search page /sog/?query=…; read-only GET. The search app keeps its results as JSON in the data-model attribute of div[data-vue='SearchApp']; content.recipes holds the recipe hits.","expect":{"assert":"status == `200` && contains(body, 'data-vue=\"SearchApp\"')","content_type":"html","status":[200]},"extract":{"html":{"recipes":{"attr":"data-model","parse":"json","path":"content.recipes","selector":"div[data-vue='SearchApp']"}}},"id":"search","request":{"headers":{"Accept":"text/html"},"method":"GET","query":{"query":"{{params.query}}"},"url":"/sog/"}}],"task":"Search Arla 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.arla.dk/opskrifter/')]) == length(output.recipes)","length(output.recipes[?title != `null`]) == length(output.recipes)"],"example_params":{"query":"pandekager"},"max_ms":5000},"version":1}