{"description":"Searches Otomoto.pl used cars like its search page for a query: title, price in PLN, mileage in km, fuel type and listing link, in the page's order. First page of results (about 32 listings). Returns an empty list when nothing matches.","effect":"read","id":"otomoto.pl/search-used-cars","keywords":["otomoto","samochody","używane samochody","ogłoszenia","auto","motoryzacja","otomoto.pl","polska","used cars","cars","poland","vehicles"],"output":{"schema":{"properties":{"listings":{"items":{"properties":{"fuel_type":{"type":["string","null"]},"id":{"type":["string","null"]},"mileage_km":{"type":["number","null"]},"price_pln":{"type":["number","null"]},"title":{"type":["string","null"]},"url":{"type":"string"}},"required":["title","url"],"type":"object"},"type":"array"},"query":{"type":"string"}},"required":["query","listings"],"type":"object"},"value":"{query: params.query, listings: map(&{id: [0].id || `null`, title: [1].name || `null`, price_pln: ([1].price && to_number([1].price)) || `null`, mileage_km: ([1].mileage && to_number([1].mileage)) || `null`, fuel_type: [1].fuel || `null`, url: ([0].href && (starts_with([0].href, 'http') && [0].href || join('', ['https://www.otomoto.pl', [0].href]))) || `null`}, zip(steps.search.ads || `[]`, steps.search.offers || `[]`))[?url != `null`]}"},"params":{"additionalProperties":false,"properties":{"query":{"description":"Make, model or words to search for, e.g. 'volkswagen golf', 'skoda octavia', 'bmw seria 3'","maxLength":100,"minLength":2,"type":"string"}},"required":["query"],"type":"object"},"provenance":{"method":"har","notes":"One GET to /osobowe/suche/q-<query> (the query goes into the path, spaces as %20; the ?q= parameter is ignored by the site). Listing ids and links come from article[data-id] tiles; name, price, mileage and fuel come from the listing JSON-LD (script data-testid=listing-json-ld), which lists the same offers in the same order. Results are zipped by position. Promoted listings are included with the others.","recorded_at":"2026-11-08T15:27:23.000Z","recorded_by":"wield-forge (claude-haiku agent)"},"requires_login":false,"schema":"https://wield.run/schema/recipe/v1.json","site":{"country":"PL","id":"otomoto.pl","language":"pl","name":"Otomoto","origin":"https://www.otomoto.pl","origins":["https://www.otomoto.pl"]},"steps":[{"description":"Server-rendered search results page /osobowe/suche/q-<query>; read-only GET. Listing links and ids are the article[data-id] tiles. Titles, prices, mileage and fuel type come from the page's listing JSON-LD, in the same order as the tiles.","expect":{"content_type":"html","status":[200]},"extract":{"embedded_json":{"required":false,"selector":"script[data-testid='listing-json-ld']","vars":{"offers":"mainEntity.itemListElement[].{name: itemOffered.name, price: priceSpecification.price, fuel: itemOffered.fuelType, mileage: itemOffered.mileageFromOdometer.value}"}},"html_items":{"ads":{"fields":{"href":{"attr":"href","selector":"h2 a"},"id":{"attr":"data-id","selector":":scope"}},"max":60,"selector":"article[data-id]"}}},"id":"search","request":{"headers":{"Accept":"text/html"},"method":"GET","url":"/osobowe/suche/q-{{params.query | urlencode}}"}}],"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.listings) > `0`","length(output.listings[?price_pln > `0`]) > `0`","length(output.listings[?starts_with(url, 'https://www.otomoto.pl/')]) == length(output.listings)","length(output.listings[?title != `null`]) == length(output.listings)"],"example_params":{"query":"volkswagen golf"},"max_ms":5000},"version":1}