Coches.net Scraper — Car Listings & Dealers
Pricing
from $1.00 / 1,000 results
Coches.net Scraper — Car Listings & Dealers
Scrape vehicle listings and the full dealer directory from Coches.net, Spain's largest car marketplace. Extract prices, specs, photos, location, and dealer contacts. Filter by brand, model, fuel, price, year, or province. Incremental mode for zero-duplicate feeds.
Pricing
from $1.00 / 1,000 results
Rating
5.0
(2)
Developer
Rastriq — Structured data from the world
Maintained by CommunityActor stats
0
Bookmarked
45
Total users
11
Monthly active users
2.3 hours
Issues response
3 days ago
Last modified
Categories
Share
Coches.net Scraper — Spain Car Listings

Extract vehicle listings from Coches.net, Spain's largest used car marketplace with over 150,000 active listings. Coches.net Scraper lets you scrape prices, brands, models, specifications, dealer info, and location data — no API key or login required.
🚀 Try it free — your first $5 of usage is on Apify. No credit card required.
What is Coches.net Scraper?
Coches.net Scraper is an Apify Actor that extracts structured vehicle data from Spain's leading automotive marketplace. Whether you're tracking used car prices across regions, building a dealer inventory database, or running competitive analysis on the Spanish automotive market, Coches.net Scraper delivers clean, structured JSON data ready for analysis.
The scraper works without browser emulation — it extracts data directly from coches.net's server-rendered pages, making it fast, reliable, and cost-effective.
What data does Coches.net Scraper extract?
| Field | Description |
|---|---|
| 🚗 Vehicle info | Title, make, model, year, mileage (km), horsepower |
| 💰 Pricing | Listing price (EUR), financed price, market average price, price competitiveness rank (1–5), price drop history (original price, % drop, days since drop) |
| ⛽ Specs | Fuel type (Gasolina, Diésel, Eléctrico, Híbrido, GLP) |
| 🏷️ Labels | DGT environmental badge (C, ECO, 0 Emisiones, B), offer type (Ocasión, KM 0, Seminuevo) |
| 🏢 Seller | Professional/private flag, certified vehicle, financing available, warranty included, phone number |
| 📍 Location | Region, province, city |
| 📸 Media | Full photo gallery (all URLs), video URLs, main thumbnail |
| 📅 Dates | Publication date, creation date, scrape timestamp |
| 🔖 Flags | Top/promoted listing, urgent sale, reserved, taxes included |
| 🔗 Links | Direct listing URL |
How to use Coches.net Scraper
Option 1: Search by filters
- Set your filters — choose a make, model, fuel type, price range, or year range. All filters are optional; leave blank to scrape the full inventory.
- Set limits — configure
maxPagesandmaxItemsto control how much data you collect. - Start the run — click "Start" and wait for the scraper to finish (typically under 2 minutes for 1,000 listings).
- Download your data — export results as JSON, CSV, Excel, or connect directly via Apify's API or integrations.
Option 2: Scrape by URL
Paste one or more coches.net URLs directly:
- Listing URLs (e.g.
https://www.coches.net/bmw-serie-3-320i-4p-gasolina-2009-en-madrid-70672809-covo.aspx) → extracts that single listing's full details. - Search URLs (e.g.
https://www.coches.net/segunda-mano/?MakeIds[0]=7) → paginates through those search results.
When URLs are provided, the make/model/fuel filters are ignored — the URL already defines what to scrape. maxPages and maxItems limits still apply to search URLs.
Incremental mode (cursor)
Enable enableCursor to only capture new listings since your last run. The scraper stores the highest listing ID seen and skips everything at or below that watermark on subsequent runs — zero duplicates, you only pay for new results. Ideal for scheduled daily or weekly monitoring.
Note: Incremental mode only works with filter-based search, not URL mode.
Input parameters
| Parameter | Type | Description | Default |
|---|---|---|---|
urls | String[] | One or more coches.net listing or search URLs. When set, search filters are ignored. | — |
make | String | Car brand (Spanish names work: "Mercedes-Benz", "Alfa Romeo") | — |
model | String | Model within the selected make ("Serie 3", "Clase A") | — |
fuel | Enum | Fuel type: gasolina, diesel, electrico, hibrido, glp | — |
minPrice / maxPrice | Integer | Price range in EUR | — |
minYear / maxYear | Integer | Registration year range (1950–2027) | — |
postalCode | String | Spanish postal code to search around. Requires radiusKm. | — |
radiusKm | Integer | Search radius around postalCode, in km | — |
province | Integer | Restrict to one province by INE code (28 = Madrid, 8 = Barcelona) | — |
maxPages | Integer | Max search pages to crawl (~30 listings/page). Capped at 6 — see below. | 3 |
maxItems | Integer | Hard cap on total listings returned | 50 |
enableCursor | Boolean | Return only new and changed listings since your last run | false |
cursorId | String | Namespaces the incremental ledger. Empty = derived from your filters. | — |
emitSeenIds | Boolean | Write every observed listing id to SEEN_IDS for delisting detection | false |
proxyConfiguration | Object | Proxy settings — recommended for runs over 500 listings | — |
Output example
{"id": "71132036","title": "BMW Serie 3 320d EfficientDynamics","make": "BMW","model": "Serie 3","year": 2014,"km": 192000,"hp": 163,"price": 11800,"financed_price": null,"price_average_indicator": 11200,"price_rank_indicator": 3,"price_drop_original": 12500,"price_drop_percentage": 6,"price_drop_days": 1,"fuel_type": "Diésel","environmental_label": "C","is_professional": false,"is_certified": false,"is_financed": false,"is_top": true,"is_urgent": false,"has_warranty": false,"has_reservation": false,"includes_taxes": true,"offer_type": "Ocasión","phone": null,"region": "Madrid","province": "Madrid","city": "Villanueva de Perales","img_url": "https://a.ccdn.es/cnet/2026/07/21/71132036/2119172402_g.jpg/359x269cut/","photos": ["https://a.ccdn.es/cnet/2026/07/21/71132036/2119172402_g.jpg","https://a.ccdn.es/cnet/2026/07/21/71132036/2119172409_g.jpg","https://a.ccdn.es/cnet/2026/07/21/71132036/2119172400_g.jpg"],"videos": [],"publication_date": "2026-07-30T11:18:19Z","creation_date": "2026-07-21T23:10:14Z","url": "https://www.coches.net/bmw-serie-3-320d-efficientdynamics-4p-diesel-2014-en-madrid-71132036-covo.aspx","source": "cochesnet","scraped_at": "2026-07-31T10:30:00+00:00"}
Output fields reference
| Field | Type | Description |
|---|---|---|
id | String | Coches.net listing identifier |
latitude | Number | Municipality centroid latitude — see Location data below |
longitude | Number | Municipality centroid longitude |
ine_municipality_code | String | Official INE municipality code (CPRO+CMUN) |
geo_precision | String | municipality or unavailable |
title | String | Full listing title |
make | String | Car manufacturer/brand |
model | String | Car model name |
year | Integer | Registration year |
km | Integer | Mileage in kilometres |
hp | Integer | Engine power in HP |
price | Number | Listing price in EUR |
financed_price | Number | Financed price in EUR (if available) |
price_average_indicator | Number | Market average price for similar vehicles (EUR) |
price_rank_indicator | Integer | Price competitiveness: 1 = great deal → 5 = overpriced |
price_drop_original | Number | Previous price before last reduction (EUR) |
price_drop_percentage | Number | Percentage of last price drop |
price_drop_days | Integer | Days since last price change |
fuel_type | String | Gasolina, Diésel, Eléctrico, Híbrido, GLP |
environmental_label | String | DGT emissions badge (C, ECO, 0 Emisiones, B) |
is_professional | Boolean | Professional dealer (vs. private seller) |
is_certified | Boolean | Vehicle certified by dealer |
is_financed | Boolean | Financing option available |
is_top | Boolean | Promoted/top listing |
is_urgent | Boolean | Marked as urgent sale |
has_warranty | Boolean | Warranty included |
has_reservation | Boolean | Currently reserved by a buyer |
includes_taxes | Boolean | Price includes taxes (IVA/IGIC) |
offer_type | String | Ocasión, KM 0, Seminuevo, etc. |
phone | String | Seller phone number (if public) |
region | String | Spanish autonomous community |
province | String | Province |
city | String | City |
img_url | String | Main listing thumbnail URL |
photos | String[] | All photo URLs for this listing |
videos | String[] | Video URLs (if any) |
publication_date | String | ISO 8601 — when the listing was last published/renewed |
creation_date | String | ISO 8601 — when the listing was first created |
url | String | Direct listing URL on Coches.net |
source | String | Always cochesnet |
scraped_at | String | ISO 8601 — extraction timestamp |
Location data — what you get and how precise it is
Coches.net does not publish per-listing coordinates on any of its surfaces: not in the search payload, not on the individual listing page, and not through the API gateway behind the site. The complete location object on a listing is province, region and municipality.
What it does expose is location.cityId, and that value is the official INE municipality code
(the Spanish national statistics code). So this Actor resolves coordinates offline from an
embedded table of 8 217 municipality centroids built from official IGN/INE boundaries, covering
8 122 of the 8 124 municipalities in the register.
| Field | Meaning |
|---|---|
latitude / longitude | Centroid of the listing's municipality |
ine_municipality_code | The official code — joins against census, income and registration data |
geo_precision | municipality (~98% of listings, typically 1–8 km), province (fallback), or unavailable |
A small minority of listings carry a sub-municipal entity code rather than a municipality code (for example 28800, "La Moraleja", a district of Alcobendas). Those fall back to the province centroid rather than to a postal-code lookup, because the postal-code tables place 28800 in Alcalá de Henares — roughly 30 km from the real location. A coarse coordinate that is correct beats a precise one that is wrong, and geo_precision always tells you which you have.
No extra requests, no per-listing cost, no geocoding key.
Radius search — find cars near a postal code
Set postalCode and radiusKm and the search is restricted to that radius. Coches.net performs
the filtering itself, using the exact positions it holds internally, so this is more accurate than
computing distances from the municipality centroids above.
{ "postalCode": "28521", "radiusKm": 50, "maxItems": 200 }
One behaviour to know about: the radius is exact for private sellers, but dealers with
national or multi-province stock appear in any radius search regardless of distance. That is how
coches.net itself behaves — a dealer 400 km away who advertises nationally shows up for every
location. If you need a strict geographic bound, filter on is_professional at your end.
Incremental ingestion — keep a catalogue continuously up to date
Turn on enableCursor and the Actor returns only what actually changed.
The Actor keeps a ledger of every listing id already delivered for your search stream, plus a
fingerprint over price / km / title / reservation / price drop:
| Situation | Result |
|---|---|
| Listing id not in the ledger | Emitted, _delta_status: "new" |
| Fingerprint changed | Emitted, _delta_status: "updated" + _changed_fields, _previous_price, _price_delta |
| Seen before, unchanged | Skipped, not charged |
The ledger makes no assumption about result ordering, which matters here: coches.net orders search results by relevance and shuffles that order between sessions, so anything based on "highest id seen so far" silently loses listings that surface out of order.
Runs sharing a cursorId share one ledger; different ids are fully independent. Leave it empty
and the Actor derives a stable id from your filters, so parallel searches never interfere.
Detecting sold vehicles
With delta ingestion your catalogue never expires rows — a vehicle that sells simply stops
appearing. Enable emitSeenIds and the Actor writes every id observed during the sweep (including
those skipped as unchanged) to SEEN_IDS in the run's key-value store. Compare across runs and
mark anything absent for N consecutive sweeps as sold. No extra cost.
Reading the run summary
{"scanned": 180, "items": 12, "emitted_new": 9, "emitted_updated": 3,"unchanged_skipped": 168, "ledger_size": 4211, "engine": "ledger-v0.2"}
unchanged_skipped is the number to watch: listings the ledger recognised and did not charge you
for. A healthy delta run scans many and emits few.
Crawl limits and building a full catalogue
Coches.net's robots.txt disallows pg=7 through pg=69, so no query may be paginated past
page 6 — about 210 listings. This Actor caps maxPages at 6 and logs when it does.
To build a large catalogue, shard the query space rather than paginating deeper:
province × make × price band × year band
Use the province input (INE code) together with make, minPrice/maxPrice and
minYear/maxYear to keep each query inside its page budget. For reference, the national
catalogue is roughly 260 000 listings, so a complete sweep is on the order of several thousand
narrow queries.
Pricing
Coches.net Scraper uses a pay-per-event pricing model:
- Platform fee: $0.05 per start
- Per result: $0.002 per listing
- Example: 1,000 listings costs approximately $2.05
Your first $5 of Apify usage is free — enough to scrape ~2,400 listings at no cost.
Use cases
- Market research: Analyze pricing trends by make, model, region, and age across Spain
- Price monitoring: Track price drops and market positioning with
price_drop_*andprice_rank_indicatorfields - Competitive intelligence: Compare dealer vs. private pricing, warranty offerings, and financing across regions
- Inventory analysis: Map supply distribution by province, fuel type, or price segment
- Incremental ingestion: Use cursor mode for zero-duplicate daily feeds into your data pipeline
- Data enrichment: Combine with AutoScout24 or Mobile.de data for cross-market comparison
Copy to your AI assistant
rastriq/cochesnet-spain on Apify. Spanish car listings from Coches.net with price rank against the live market, price-drop history, mileage, fuel type and region. Call ApifyClient("TOKEN").actor("rastriq/cochesnet-spain").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Full spec: GET https://api.apify.com/v2/acts/rastriq~cochesnet-spain/builds/default (Bearer TOKEN) → inputSchema, actorDefinition.storages.dataset, readme. Token: https://console.apify.com/account/integrations
Related Actors by Rastriq
- AutoScout24 Scraper — Europe's largest car marketplace
- Mobile.de Scraper — Germany's leading car platform
- Wallapop Cars Scraper — Spain's general classifieds marketplace
- Automobile Catalog Taxonomy — Car specs and taxonomy data
- Carandclassic Scraper — Classic car listings
- Classic Trader Scraper — Classic and vintage vehicles
- Collecting Cars Scraper — Car auction platform
- Njuskalo Scraper — Croatian classifieds
- Polovniautomobili Scraper — Serbian car marketplace
About the data
This actor is part of Rastriq's automotive coverage. See the normalised output fields, the full source list and the use cases behind it: used car market data.
FAQ
Is scraping Coches.net legal? Coches.net Scraper extracts only publicly available listing data that any visitor can see. It does not bypass any authentication, paywalls, or access controls. Always review Coches.net's terms of service and ensure your use case complies with applicable laws.
Does Coches.net Scraper require a login? No. The scraper works without any login or API key. It accesses the same public search results that any visitor sees.
How many results can I scrape?
There is no hard limit. Set maxItems to 9999 and increase maxPages to scrape the full inventory. A full-market extraction of 150,000+ listings typically takes 3-4 hours.
How often is the data updated?
Listings on Coches.net change constantly. Schedule daily or weekly runs to maintain an up-to-date dataset. Enable incremental mode (enableCursor) to only capture new listings and avoid re-processing.
Can I scrape a specific search or listing URL?
Yes. Paste any coches.net listing URL (.aspx) or search URL (/segunda-mano/...) into the urls input. The scraper auto-detects the URL type and extracts accordingly.
What is incremental mode?
When enableCursor is enabled, the scraper remembers the highest listing ID from each run. On subsequent runs, it skips all previously seen listings — so you only pay for genuinely new results. Perfect for scheduled monitoring.
Coches.net Scraper — Extracción de anuncios de coches en España
Coches.net Scraper extrae anuncios de vehículos de Coches.net, el mayor portal de compraventa de coches de España con más de 150.000 anuncios activos. Obtén precios, marcas, modelos, especificaciones, información del vendedor y datos de ubicación de forma automática.
¿Qué datos extrae?
- Vehículo: título, marca, modelo, año, kilómetros, caballos de potencia
- Precio: precio de venta (EUR), precio financiado, precio medio de mercado, ranking de competitividad (1–5), historial de bajadas de precio
- Especificaciones: tipo de combustible, etiqueta medioambiental de la DGT
- Vendedor: profesional o particular, vehículo certificado, financiación, garantía, teléfono de contacto
- Ubicación: comunidad autónoma, provincia, ciudad
- Multimedia: galería completa de fotos, vídeos
- Fechas: fecha de publicación, fecha de creación
- Flags: anuncio destacado, venta urgente, reservado, impuestos incluidos
- Enlaces: URL directa del anuncio
Modos de uso
- Búsqueda por filtros: configura marca, modelo, combustible, rango de precio y año.
- Búsqueda por URL: pega una o más URLs de coches.net (anuncios individuales o páginas de búsqueda).
- Modo incremental: activa
enableCursorpara capturar solo anuncios nuevos desde la última ejecución — cero duplicados.
¿Cómo funciona?
- Configura los filtros o pega URLs directamente.
- Establece los límites de páginas y resultados.
- Ejecuta el scraper y descarga los datos en JSON, CSV o Excel.
- Programa ejecuciones periódicas para crear una base de datos histórica de precios.
¿Es legal?
Coches.net Scraper solo extrae datos de anuncios públicos accesibles para cualquier visitante. No requiere inicio de sesión ni sortea ningún tipo de protección. Revisa siempre los términos de uso de Coches.net y la legislación aplicable.
Sobre los datos
Este actor forma parte de la cobertura de automoción de Rastriq. Consulta la lista completa de fuentes, los campos normalizados de salida y los casos de uso: datos del mercado de coches de ocasión.