Find recipes on Marmiton.
Searches Marmiton, France's largest recipe site, like its search page: recipe title, course (plat principal, dessert, …), star rating out of 5 and number of reviews, whether it has a video, image and link. The first 15 results in Marmiton's order, with the total number of matches. Cooking times are on the recipe pages, not in the results.
- Site
- Marmiton, France
- Version
- v1
- Runs, last 7 days
- No reports yet
- sha256
- 1b18eba32219…
Run it with your agent
after installing WieldAsk in plain words. Your agent finds this recipe and calls it:
“Find recipes on Marmiton.”
Read-only: it changes nothing on the site. No login needed.
{ "tool": "run", "arguments": { "recipe_id": "marmiton.org/search-recipes", "params": { "query": "lasagnes" } } }
Requests
sent from your browser, in order- 1GET/recettes/recherche.aspx?aqtMarmiton's search page (/recettes/recherche.aspx?aqt=…), server-rendered from its Algolia search: 15 cards in ul.search-list.
Parameters
from your agentReturns
to your agentWhere it can send
- www.marmiton.org
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) == `15`
- output.total > `100`
- length(output.recipes[?starts_with(url, 'https://www.marmiton.org/recettes/recette_')]) == length(output.recipes)
- length(output.recipes[?rating != `null` && rating <= `5`]) > `10`
- length(output.recipes[?reviews > `0`]) > `10`
Raw recipe
Served as canonical JSON from /api/v1/recipes/marmiton.org/search-recipes, so its sha256 matches the ETag and the index.
curl -s https://wield.run/api/v1/recipes/marmiton.org/search-recipes | shasum -a 256 # 1b18eba32219c52491fbe63a58bf9e05e6320d408d1ccb2546bb3a055004a52f
{ "description": "Searches Marmiton, France's largest recipe site, like its search page: recipe title, course (plat principal, dessert, …), star rating out of 5 and number of reviews, whether it has a video, image and link. The first 15 results in Marmiton's order, with the total number of matches. Cooking times are on the recipe pages, not in the results.", "effect": "read", "id": "marmiton.org/search-recipes", "keywords": [ "marmiton", "recette", "recettes", "cuisine", "plat", "dessert", "gâteau", "dîner", "facile", "recipe", "recipes", "french cooking" ], "output": { "schema": { "properties": { "query": { "type": "string" }, "recipes": { "items": { "properties": { "course": { "description": "e.g. Plat principal, Dessert, Entrée", "type": [ "string", "null" ] }, "has_video": { "type": "boolean" }, "image": { "type": [ "string", "null" ] }, "rating": { "description": "0–5", "type": [ "number", "null" ] }, "reviews": { "type": "integer" }, "title": { "type": "string" }, "url": { "type": "string" } }, "type": "object" }, "type": "array" }, "total": { "type": [ "integer", "null" ] } }, "required": [ "query", "recipes" ], "type": "object" }, "value": "{query: params.query, total: (steps.search.total_text && to_number(split(replace(replace(steps.search.total_text, ' ', ''), `\"\\u00a0\"`, ''), 'r')[0])) || `0`, recipes: map(&{title: title, course: course || `null`, rating: (rating && to_number(split(rating, '/')[0])) || `null`, reviews: (reviews && to_number(split(reviews, ' ')[0])) || `0`, has_video: video != `null`, image: image || `null`, url: join('', ['https://www.marmiton.org', href])}, steps.search.recipes[?href != `null`] || `[]`)}" }, "params": { "additionalProperties": false, "properties": { "query": { "description": "Plat ou ingrédients, e.g. 'lasagnes', 'gâteau au chocolat', 'poulet curry'", "maxLength": 100, "minLength": 2, "type": "string" } }, "required": [ "query" ], "type": "object" }, "provenance": { "method": "browser-inspect", "notes": "The search page /recettes/recherche.aspx?aqt=<query> is server-rendered: h1.page-search__title, then a subtitle '<n> résultats', then ul.search-list with 15 li.search-list__item cards (Algolia object ids): a.card-content__title (title, /recettes/recette_<slug>_<id>.aspx), .image-label (course), .rating__rating ('4.8/5'), .rating__nbreviews ('1429 avis'), an item-type-icon--recipe-video marker, img. No sponsored cards were in the list. A search without results answers HTTP 404 with an HTML page and no list; the recipe treats it as zero results. Images are links to assets.afcdn.com (never called).", "recorded_at": "2026-11-07T22:17:00+01:00", "recorded_by": "C4" }, "requires_login": false, "schema": "https://wield.run/schema/recipe/v1.json", "site": { "country": "FR", "id": "marmiton.org", "language": "fr", "name": "Marmiton", "origin": "https://www.marmiton.org", "origins": [ "https://www.marmiton.org" ] }, "steps": [ { "description": "Marmiton's search page (/recettes/recherche.aspx?aqt=…), server-rendered from its Algolia search: 15 cards in ul.search-list.", "expect": { "content_type": "html", "status": [ 200, 404 ] }, "extract": { "html": { "total_text": { "selector": ".page-search__title + .paragraph p" } }, "html_items": { "recipes": { "fields": { "course": { "selector": ".image-label" }, "href": { "attr": "href", "selector": "a.card-content__title" }, "image": { "attr": "src", "selector": "img" }, "rating": { "selector": ".rating__rating" }, "reviews": { "selector": ".rating__nbreviews" }, "title": { "selector": "a.card-content__title" }, "video": { "attr": "class", "selector": ".item-type-icon--recipe-video" } }, "max": 15, "selector": "ul.search-list > li.search-list__item" } } }, "id": "search", "request": { "headers": { "Accept": "text/html" }, "method": "GET", "query": { "aqt": "{{params.query}}" }, "url": "/recettes/recherche.aspx" } } ], "task": "Find recipes on Marmiton", "tos": { "notes": "robots.txt allows /recettes/recherche.aspx?aqt=… and disallows its paged variants (page, start), so the recipe reads the first page only. One request per call; no recipe pages, cookbook or comment actions.", "reviewed": false }, "verify": { "checks": [ "length(output.recipes) == `15`", "output.total > `100`", "length(output.recipes[?starts_with(url, 'https://www.marmiton.org/recettes/recette_')]) == length(output.recipes)", "length(output.recipes[?rating != `null` && rating <= `5`]) > `10`", "length(output.recipes[?reviews > `0`]) > `10`" ], "example_params": { "query": "lasagnes" }, "max_ms": 3000 }, "version": 1 }