{"description":"Searches the Bokkilden Norwegian bookshop like its search page: title, link, author, price in NOK for the first results page (about 36 books). Returns an empty list when nothing matches.","effect":"read","id":"bokkilden.no/search-books","keywords":["bokkilden","bøker","bok","bokhandel","norge","norsk","nettbutikk","roman","kokebok","lydbok","books","norway","bookstore","literature"],"output":{"schema":{"properties":{"books":{"items":{"properties":{"author":{"type":["string","null"]},"price_nok":{"type":["number","null"]},"title":{"type":"string"},"url":{"type":"string"}},"required":["title","url"],"type":"object"},"type":"array"},"query":{"type":"string"}},"required":["query","books"],"type":"object"},"value":"{query: params.query, books: steps.search.books[?title != `null` && href != `null`].{title: title, url: join('', ['https://www.bokkilden.no', href]), author: author || `null`, price_nok: (price && to_number(replace(replace(split(price, ',')[0], ' ', ''), ' ', ''))) || `null`}}"},"params":{"additionalProperties":false,"properties":{"query":{"description":"Author, title or subject, e.g. 'Jo Nesbø', 'Harry Potter', 'kokebok'","maxLength":100,"minLength":2,"type":"string"}},"required":["query"],"type":"object"},"provenance":{"method":"har","notes":"GET /enkeltSok.do?enkeltsok=…: the HTML holds one article per book with the title link (h2 a, title attribute), author in cite, the price in strong and. The page's JSON-LD ItemList has the same books, but its items carry no price. Items marked 'Anbefalt' are the site's badge on ordinary results and are kept.","recorded_at":"2026-11-08T16:35:31.000Z","recorded_by":"wield-forge (claude-haiku agent)"},"requires_login":false,"schema":"https://wield.run/schema/recipe/v1.json","site":{"country":"NO","id":"bokkilden.no","language":"no","name":"Bokkilden","origin":"https://www.bokkilden.no","origins":["https://www.bokkilden.no"]},"steps":[{"description":"Server-rendered search results page /enkeltSok.do?enkeltsok=…, read-only GET. Each book is an article with its title link in h2 a, the author in cite, the price in strong.","expect":{"assert":"status == `200` && contains(body, 'produkt.do')","content_type":"html","status":[200]},"extract":{"html_items":{"books":{"fields":{"author":{"selector":"cite"},"href":{"attr":"href","selector":"h2 a"},"price":{"selector":"strong"},"title":{"attr":"title","selector":"h2 a"}},"max":60,"selector":"article"}}},"id":"search","request":{"headers":{"Accept":"text/html"},"method":"GET","query":{"enkeltsok":"{{params.query}}"},"url":"/enkeltSok.do"}}],"task":"Search books on Bokkilden","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.books) > `0`","length(output.books[?starts_with(url, 'https://www.bokkilden.no/')]) == length(output.books)","length(output.books[?title != `null`]) == length(output.books)"],"example_params":{"query":"Jo Nesbø"},"max_ms":5000},"version":1}