{"description":"Searches Bytbil.com used cars like its search page for free text (make, model, equipment): title, price in SEK, year, mileage in Swedish mil, location and listing link, in the page's order. First page of results (about 24 cars, passenger cars only). Returns an empty list when nothing matches.","effect":"read","id":"bytbil.com/search-used-cars","keywords":["bytbil","bytbil.com","begagnade bilar","bil","bilar","personbil","till salu","volvo","used cars","cars","sweden","sverige","car dealers"],"output":{"schema":{"properties":{"cars":{"items":{"properties":{"id":{"type":["string","null"]},"price_sek":{"type":["number","null"]},"title":{"type":"string"},"url":{"type":"string"}},"required":["title","url"],"type":"object"},"type":"array"},"query":{"type":"string"}},"required":["query","cars"],"type":"object"},"value":"{query: params.query, cars: map(&{id: id || `null`, title: title, price_sek: (price && to_number(trim(replace(replace(replace(price, 'kr', ''), ' ', ''), ' ', '')))) || `null`, url: (href && join('', ['https://www.bytbil.com', href])) || `null`}, steps.search.cars[?href != `null` && title != `null`] || `[]`)}"},"params":{"additionalProperties":false,"properties":{"query":{"description":"Make, model or equipment, e.g. 'volvo xc60', 'volkswagen golf', 'tesla model y'","maxLength":100,"minLength":2,"type":"string"}},"required":["query"],"type":"object"},"provenance":{"method":"har","notes":"One GET to /bil?FreeText=<query>&VehicleType=bil, the site's own search form (FreeText is the free-text field). The page is server-rendered; each car is a div[data-model-id] with a heading link (title, href) and a price in a nested span ('374 800 kr', non-breaking spaces). The site's /sok path is not used. Hashed classes avoided.","recorded_at":"2026-11-08T15:32:29.000Z","recorded_by":"wield-forge (claude-haiku agent)"},"requires_login":false,"schema":"https://wield.run/schema/recipe/v1.json","site":{"country":"SE","id":"bytbil.com","language":"sv","name":"Bytbil","origin":"https://www.bytbil.com","origins":["https://www.bytbil.com"]},"steps":[{"description":"Server-rendered car search /bil?FreeText=<query>&VehicleType=bil (the page's own search form); read-only GET. Each car is a div with data-model-id; its heading link has the title and href, the price is the nested span text.","expect":{"content_type":"html","status":[200]},"extract":{"html_items":{"cars":{"fields":{"href":{"attr":"href","selector":"h3 a"},"id":{"attr":"data-model-id","selector":":scope"},"price":{"selector":"span > span > span"},"title":{"selector":"h3 a"}},"max":60,"selector":"div[data-model-id]"}}},"id":"search","request":{"headers":{"Accept":"text/html"},"method":"GET","query":{"FreeText":"{{params.query}}","VehicleType":"bil"},"url":"/bil"}}],"task":"Search used cars","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.cars) > `0`","length(output.cars[?price_sek > `0`]) > `0`","length(output.cars[?starts_with(url, 'https://www.bytbil.com/')]) == length(output.cars)","length(output.cars[?title != `null`]) == length(output.cars)"],"example_params":{"query":"volvo xc60"},"max_ms":5000},"version":1}