Search Hugendubel for books, eBooks and audiobooks.
Searches Hugendubel, the German bookseller, like its search page: title, author, format (hardcover, paperback, eBook, audiobook, …), price in euros, availability ('Sofort lieferbar'), number of customer ratings, cover image and link. First page of results.
- Site
- Hugendubel, Germany
- Version
- v1
- Runs, last 7 days
- No reports yet
- sha256
- 6eb33c23c68e…
Run it with your agent
after installing WieldAsk in plain words. Your agent finds this recipe and calls it:
“Search Hugendubel for books, eBooks and audiobooks.”
Read-only: it changes nothing on the site. No login needed.
{ "tool": "run", "arguments": { "recipe_id": "hugendubel.de/search-books", "params": { "query": "dune" } } }
Requests
sent from your browser, in order- 1GET/de/search?qThe search results page (server-rendered result list). Recommendation carousels on the same page use other classes and are not read.
Parameters
from your agentquerystringrequiredTitle, author or ISBN, e.g. 'dune', 'sebastian fitzek', '9783453317178'
Returns
to your agentbooksobject[]author, availability, format, image, price_eur, ratings_count, title, url
querystring
Where it can send
- www.hugendubel.de
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.books) > `5`
- length(output.books[?price_eur > `0`]) > `5`
- length(output.books[?contains(title, 'Wüstenplanet') || contains(title, 'Dune')]) > `3`
- length(output.books[?starts_with(url, 'https://www.hugendubel.de/de/')]) == length(output.books)
Raw recipe
Served as canonical JSON from /api/v1/recipes/hugendubel.de/search-books, so its sha256 matches the ETag and the index.
Check it yourself
curl -s https://wield.run/api/v1/recipes/hugendubel.de/search-books | shasum -a 256 # 6eb33c23c68e861bd3dadd62fd34385c510dd7c6f8e6d7727352f6b2934f5572
hugendubel.de/search-books.json, v1
{ "description": "Searches Hugendubel, the German bookseller, like its search page: title, author, format (hardcover, paperback, eBook, audiobook, …), price in euros, availability ('Sofort lieferbar'), number of customer ratings, cover image and link. First page of results.", "effect": "read", "id": "hugendubel.de/search-books", "keywords": [ "hugendubel", "buch", "bücher", "ebook", "hörbuch", "taschenbuch", "roman", "kaufen", "buchhandlung", "books", "bookstore", "audiobook", "germany" ], "output": { "schema": { "properties": { "books": { "items": { "properties": { "author": { "type": [ "string", "null" ] }, "availability": { "type": [ "string", "null" ] }, "format": { "description": "e.g. 'Taschenbuch', 'Buch (gebunden)', 'eBook epub', 'Hörbuch-Download'", "type": [ "string", "null" ] }, "image": { "type": [ "string", "null" ] }, "price_eur": { "type": [ "number", "null" ] }, "ratings_count": { "type": [ "integer", "null" ] }, "title": { "type": "string" }, "url": { "type": "string" } }, "type": "object" }, "type": "array" }, "query": { "type": "string" } }, "required": [ "query", "books" ], "type": "object" }, "value": "{query: params.query, books: steps.search.items[?title != `null` && href != `null`].{title: title, author: author || `null`, format: format || `null`, price_eur: price && to_number(replace(replace(replace(replace(replace(replace(price, '€', ''), '*', ''), ' ', ''), ' ', ''), '.', ''), ',', '.')) || `null`, availability: availability || `null`, ratings_count: ratings && to_number(replace(ratings, '.', '')) || `null`, image: image && (starts_with(image, '/') && join('', ['https://www.hugendubel.de', image]) || image) || `null`, url: join('', ['https://www.hugendubel.de', href])}}" }, "params": { "additionalProperties": false, "properties": { "query": { "description": "Title, author or ISBN, e.g. 'dune', 'sebastian fitzek', '9783453317178'", "maxLength": 120, "minLength": 2, "type": "string" } }, "required": [ "query" ], "type": "object" }, "provenance": { "method": "browser-inspect", "notes": "GET /de/search?q=…: server-rendered .search-item blocks (.title, .author, .item-type, .item-price '14,00 €*', .availability, .rating-value = number of ratings; the star value is drawn as icons, so it is not returned). The first .search-item can be an editorial banner without a title; it is skipped. Recommendation carousels use .article-item and are not read. No paging links are rendered server-side, so only the first page is returned. robots.txt has no AI-agent rules. Answers servers.", "recorded_at": "2026-11-07T22:31:00+01:00", "recorded_by": "C4" }, "requires_login": false, "schema": "https://wield.run/schema/recipe/v1.json", "site": { "country": "DE", "id": "hugendubel.de", "language": "de", "name": "Hugendubel", "origin": "https://www.hugendubel.de", "origins": [ "https://www.hugendubel.de" ] }, "steps": [ { "description": "The search results page (server-rendered result list). Recommendation carousels on the same page use other classes and are not read.", "expect": { "content_type": "html", "status": [ 200 ] }, "extract": { "html_items": { "items": { "fields": { "author": { "selector": ".author" }, "availability": { "selector": ".availability" }, "format": { "selector": ".item-type" }, "href": { "attr": "href", "selector": "a[href*='produkt-details']" }, "image": { "attr": "src", "selector": "img" }, "price": { "selector": ".item-price" }, "ratings": { "selector": ".rating-value" }, "title": { "selector": ".title" } }, "max": 40, "selector": ".search-item:not(.search-item-filter)" } } }, "id": "search", "request": { "headers": { "Accept": "text/html" }, "method": "GET", "query": { "q": "{{params.query}}" }, "url": "/de/search" } } ], "task": "Search Hugendubel for books, eBooks and audiobooks", "tos": { "notes": "One search page per call, the same page a visitor sees; no basket, no account.", "reviewed": false }, "verify": { "checks": [ "length(output.books) > `5`", "length(output.books[?price_eur > `0`]) > `5`", "length(output.books[?contains(title, 'Wüstenplanet') || contains(title, 'Dune')]) > `3`", "length(output.books[?starts_with(url, 'https://www.hugendubel.de/de/')]) == length(output.books)" ], "example_params": { "query": "dune" }, "max_ms": 5000 }, "version": 1 }