{"description":"Searches kjell.com, the Swedish electronics retailer, like its search page: product name, current price in SEK, average rating and product link. First page of results only (product tiles, not categories or brands).","effect":"read","id":"kjell.com/search-products","keywords":["kjell","kjell.com","kjell & company","elektronik","sök","mobilskal","headset","laddare","sverige","sweden","electronics","phone accessories","chargers","gadgets"],"output":{"schema":{"properties":{"products":{"items":{"properties":{"name":{"type":"string"},"price_sek":{"description":"Current price in SEK, e.g. 199 or 399.9 (the site writes 399:90)","type":["number","null"]},"rating":{"description":"Average stars, 0 to 5","type":["number","null"]},"ratings_count":{"type":["integer","null"]},"url":{"type":"string"}},"required":["name","url"],"type":"object"},"type":"array"},"query":{"type":"string"}},"required":["query","products"],"type":"object"},"value":"{query: params.query, products: steps.search.products[?name != `null` && href != `null`].{name: name, price_sek: (price && to_number(replace(replace(price, ':-', ''), ':', '.'))) || `null`, rating: (rating_label && to_number(split(rating_label, ' ')[1])) || `null`, ratings_count: (rating_label && to_number(split(rating_label, ' ')[4])) || `null`, url: join('', ['https://www.kjell.com', href])}}"},"params":{"additionalProperties":false,"properties":{"query":{"description":"Product term in Swedish or English, e.g. 'mobilskal', 'headset', 'laddare'","maxLength":100,"minLength":2,"type":"string"}},"required":["query"],"type":"object"},"provenance":{"method":"har","notes":"GET /se/sok?q=<query> returns 200 HTML (about 1 MB) with product tiles marked data-test-id='product-card'. Name is the h3 heading, link is the anchor in data-test-id='list-item-link', price is the first <p> ('199:-'), rating is the aria-label 'Betyg: 4.5 av 5, 28 omdömen'. Category and brand tiles are different markup and are not read. Hashed classes were avoided.","recorded_at":"2026-11-08T16:40:00.000Z","recorded_by":"wield-forge (claude-haiku agent)"},"requires_login":false,"schema":"https://wield.run/schema/recipe/v1.json","site":{"country":"SE","id":"kjell.com","language":"sv","name":"Kjell & Company","origin":"https://www.kjell.com","origins":["https://www.kjell.com"]},"steps":[{"description":"Server-rendered search results page /se/sok?q=...; read-only GET. Product tiles carry data-test-id='product-card'; name is the tile heading, the link is in data-test-id='list-item-link'.","expect":{"content_type":"html","status":[200]},"extract":{"html_items":{"products":{"fields":{"href":{"attr":"href","selector":"[data-test-id='list-item-link'] a"},"name":{"selector":"h3"},"price":{"selector":"p"},"rating_label":{"attr":"aria-label","selector":"[aria-label^='Betyg']"}},"max":60,"selector":"[data-test-id='product-card']"}}},"id":"search","request":{"headers":{"Accept":"text/html"},"method":"GET","query":{"q":"{{params.query}}"},"url":"/se/sok"}}],"task":"Search electronics on Kjell & Company","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.products) > `0`","length(output.products[?price_sek != `null`]) > `0`","length(output.products[?starts_with(url, 'https://www.kjell.com/se/produkter/')]) == length(output.products)"],"example_params":{"query":"mobilskal"},"max_ms":5000},"version":1}