Search used cars.
Searches Standvirtual, the Portuguese used-car marketplace, by free text like its results page: title, url, price in euros, mileage in km, first registration year, fuel and gearbox. First results page only (about 36 listings). Returns an empty list when nothing matches.
- Site
- Standvirtual, Portugal
- Version
- v1
- Runs, last 7 days
- No reports yet
- sha256
- f22a7dced1e1…
Run it with your agent
after installing WieldAsk in plain words. Your agent finds this recipe and calls it:
“Search used cars.”
Read-only: it changes nothing on the site. No login needed.
{ "tool": "run", "arguments": { "recipe_id": "standvirtual.com/search-used-cars", "params": { "query": "volkswagen golf" } } }
Requests
sent from your browser, in order- 1GET/carros/q-{{ params.query | urlencode }}Free-text results page /carros/q-<text>, the same page the site shows for a search. Read-only GET, server-rendered. Each listing is an article[data-id] card: title and link in h2 a, price in h3 span, specs in dd[data-parameter].
Parameters
from your agentquerystringrequiredMake, model or words, e.g. 'volkswagen golf', 'renault clio', 'bmw série 3'
Returns
to your agentlistingsobject[]fuel, gearbox, mileage_km, price_eur, title, url, year
querystring
Where it can send
- www.standvirtual.com
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.listings) > `0`
- length(output.listings[?starts_with(url, 'https://www.standvirtual.com/carros/anuncio/')]) == length(output.listings)
- length(output.listings[?title != `null`]) == length(output.listings)
Raw recipe
Served as canonical JSON from /api/v1/recipes/standvirtual.com/search-used-cars, so its sha256 matches the ETag and the index.
Check it yourself
curl -s https://wield.run/api/v1/recipes/standvirtual.com/search-used-cars | shasum -a 256 # f22a7dced1e19c74253a1d9cf12d118ba7d088097f57bd39491f087337cda5e5
standvirtual.com/search-used-cars.json, v1
{ "description": "Searches Standvirtual, the Portuguese used-car marketplace, by free text like its results page: title, url, price in euros, mileage in km, first registration year, fuel and gearbox. First results page only (about 36 listings). Returns an empty list when nothing matches.", "effect": "read", "id": "standvirtual.com/search-used-cars", "keywords": [ "standvirtual", "carros", "carros usados", "automóveis", "usados", "venda", "portugal", "veículos", "used cars", "cars", "car marketplace", "volkswagen", "golf", "standvirtual.com" ], "output": { "schema": { "properties": { "listings": { "items": { "properties": { "fuel": { "type": [ "string", "null" ] }, "gearbox": { "type": [ "string", "null" ] }, "mileage_km": { "type": [ "integer", "null" ] }, "price_eur": { "type": [ "number", "null" ] }, "title": { "type": "string" }, "url": { "type": "string" }, "year": { "type": [ "integer", "null" ] } }, "required": [ "title", "url" ], "type": "object" }, "type": "array" }, "query": { "type": "string" } }, "required": [ "query", "listings" ], "type": "object" }, "value": "{query: params.query, listings: steps.search.listings[?title != `null` && href != `null`].{title: title, url: (starts_with(href, 'http') && href) || join('', ['https://www.standvirtual.com', href]), price_eur: (price && to_number(replace(replace(price, ' ', ''), ' ', ''))) || `null`, mileage_km: (mileage && to_number(replace(replace(replace(replace(mileage, ' ', ''), ' ', ''), 'km', ''), '.', ''))) || `null`, year: (year && to_number(year)) || `null`, fuel: fuel || `null`, gearbox: gearbox || `null`}}" }, "params": { "additionalProperties": false, "properties": { "query": { "description": "Make, model or words, e.g. 'volkswagen golf', 'renault clio', 'bmw série 3'", "maxLength": 100, "minLength": 2, "type": "string" } }, "required": [ "query" ], "type": "object" }, "provenance": { "method": "har", "notes": "GET /carros/q-<text> (free-text listing path, the search page the site shows for a query; /?s= returns the homepage). The HTML holds the first page of listing cards (article[data-id]). Title and href come from h2 a, price from h3 span, and mileage, year, fuel and gearbox from dd[data-parameter]. Promoted listings are not filtered. Other listings can appear in the results, such as related makes.", "recorded_at": "2026-11-08T12:00:00.000Z", "recorded_by": "wield-forge (claude-haiku agent)" }, "requires_login": false, "schema": "https://wield.run/schema/recipe/v1.json", "site": { "country": "PT", "id": "standvirtual.com", "language": "pt", "name": "Standvirtual", "origin": "https://www.standvirtual.com", "origins": [ "https://www.standvirtual.com" ] }, "steps": [ { "description": "Free-text results page /carros/q-<text>, the same page the site shows for a search. Read-only GET, server-rendered. Each listing is an article[data-id] card: title and link in h2 a, price in h3 span, specs in dd[data-parameter].", "expect": { "content_type": "html", "status": [ 200 ] }, "extract": { "html_items": { "listings": { "fields": { "fuel": { "selector": "dd[data-parameter='fuel_type']" }, "gearbox": { "selector": "dd[data-parameter='gearbox']" }, "href": { "attr": "href", "selector": "h2 a" }, "mileage": { "selector": "dd[data-parameter='mileage']" }, "price": { "selector": "h3 span" }, "title": { "selector": "h2 a" }, "year": { "selector": "dd[data-parameter='first_registration_year']" } }, "max": 60, "selector": "article[data-id]" } } }, "id": "search", "request": { "headers": { "Accept": "text/html" }, "method": "GET", "url": "/carros/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[?starts_with(url, 'https://www.standvirtual.com/carros/anuncio/')]) == length(output.listings)", "length(output.listings[?title != `null`]) == length(output.listings)" ], "example_params": { "query": "volkswagen golf" }, "max_ms": 5000 }, "version": 1 }