Search books on Indigo.
Searches Indigo, the Canadian bookstore, like its search page: title, format (e.g. Paperback, Hardcover, Kobo eBook), price in CAD, and product link. One entry per format the search shows, so a book can appear more than once. First results page only.
- Site
- Indigo, Canada
- Version
- v1
- Runs, last 7 days
- No reports yet
- sha256
- 29e359ecf61e…
Run it with your agent
after installing WieldAsk in plain words. Your agent finds this recipe and calls it:
“Search books on Indigo.”
Read-only: it changes nothing on the site. No login needed.
{ "tool": "run", "arguments": { "recipe_id": "indigo.ca/search-books", "params": { "query": "Margaret Atwood" } } }
Requests
sent from your browser, in order- 1GET/search?qSearch results page /search?q=...; read-only GET. The results are in the page's elevar-search-results-view JSON (items with name, variant, price, handle). Product URLs are /products/<handle>.
Parameters
from your agentquerystringrequiredTitle, author or keyword, e.g. 'Margaret Atwood', 'cookbook', 'Harry Potter'
Returns
to your agentitemsobject[]format, price_cad, title, url
querystring
Where it can send
- www.indigo.ca
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.items) > `0`
- length(output.items[?price_cad != `null`]) > `0`
- length(output.items[?starts_with(url, 'https://www.indigo.ca/products/')]) == length(output.items)
Raw recipe
Served as canonical JSON from /api/v1/recipes/indigo.ca/search-books, so its sha256 matches the ETag and the index.
Check it yourself
curl -s https://wield.run/api/v1/recipes/indigo.ca/search-books | shasum -a 256 # 29e359ecf61e0f209b205a762694a329e951f8fca18c86de15b6f0b7bee77c69
indigo.ca/search-books.json, v1
{ "description": "Searches Indigo, the Canadian bookstore, like its search page: title, format (e.g. Paperback, Hardcover, Kobo eBook), price in CAD, and product link. One entry per format the search shows, so a book can appear more than once. First results page only.", "effect": "read", "id": "indigo.ca/search-books", "keywords": [ "indigo", "indigo.ca", "chapters", "books", "bookstore", "livres", "book search", "canada", "canadian", "novel", "cookbook", "paperback", "hardcover", "ebook" ], "output": { "schema": { "properties": { "items": { "items": { "properties": { "format": { "description": "Edition or format, e.g. 'Paperback', 'Hardcover', 'Kobo eBook'", "type": [ "string", "null" ] }, "price_cad": { "description": "Price in Canadian dollars", "type": [ "number", "null" ] }, "title": { "type": "string" }, "url": { "type": "string" } }, "required": [ "title", "url" ], "type": "object" }, "type": "array" }, "query": { "type": "string" } }, "required": [ "query", "items" ], "type": "object" }, "value": "{query: params.query, items: steps.search.items[?name != `null` && handle != `null`].{title: name, format: variant || `null`, price_cad: (price && to_number(price)) || `null`, url: join('', ['https://www.indigo.ca/products/', handle])}}" }, "params": { "additionalProperties": false, "properties": { "query": { "description": "Title, author or keyword, e.g. 'Margaret Atwood', 'cookbook', 'Harry Potter'", "maxLength": 100, "minLength": 2, "type": "string" } }, "required": [ "query" ], "type": "object" }, "provenance": { "method": "har", "notes": "GET /search?q=<query> returns 200 HTML. The results are in script#elevar-search-results-view (a JSON app snippet with items: id, name, brand, category, variant, price as a string such as '10.99', productId, variantId, handle, and currencyCode CAD). Product links are /products/<handle>. The items are per variant, so one title can repeat with different formats. No cross-site hosts are called.", "recorded_at": "2026-11-08T16:45:00.000Z", "recorded_by": "wield-forge (claude-haiku agent)" }, "requires_login": false, "schema": "https://wield.run/schema/recipe/v1.json", "site": { "country": "CA", "id": "indigo.ca", "language": "en", "name": "Indigo", "origin": "https://www.indigo.ca", "origins": [ "https://www.indigo.ca" ] }, "steps": [ { "description": "Search results page /search?q=...; read-only GET. The results are in the page's elevar-search-results-view JSON (items with name, variant, price, handle). Product URLs are /products/<handle>.", "expect": { "content_type": "html", "status": [ 200 ] }, "extract": { "embedded_json": { "required": true, "selector": "script#elevar-search-results-view", "vars": { "items": "items" } } }, "id": "search", "request": { "headers": { "Accept": "text/html" }, "method": "GET", "query": { "q": "{{params.query}}" }, "url": "/search" } } ], "task": "Search books on Indigo", "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.items) > `0`", "length(output.items[?price_cad != `null`]) > `0`", "length(output.items[?starts_with(url, 'https://www.indigo.ca/products/')]) == length(output.items)" ], "example_params": { "query": "Margaret Atwood" }, "max_ms": 5000 }, "version": 1 }