Coches.net Scraper — Used Car Listings & Prices Spain avatar

Coches.net Scraper — Used Car Listings & Prices Spain

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Coches.net Scraper — Used Car Listings & Prices Spain

Coches.net Scraper — Used Car Listings & Prices Spain

Scrape used car listings from Coches.net, Spain's largest car marketplace: price vs. market average, price drops, km, fuel, DGT badge, dealers and photos. Filter by brand, model, fuel, price, year, province or postal code. Incremental mode returns only changes. No login. $0.001 per listing.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(2)

Developer

Actor stats

0

Bookmarked

65

Total users

16

Monthly active users

2.4 hours

Issues response

4 days ago

Last modified

Share

Coches.net Scraper — Spain Car Listings

Used car listings normalised to comparable rows: price rank against the live market, mileage, year and region

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.

Your first run in 10 seconds

The form comes pre-filled with Toyota hybrids, 2 pages, 30 results. Press Start: it takes about 10 seconds, returns 30 listings (price, km, year, fuel, province, price rank vs. market) and costs about $0.03. Then change the brand, fuel, price or province, or paste your own coches.net search URL.

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?

FieldDescription
🚗 Vehicle infoTitle, make, model, year, mileage (km), horsepower
💰 PricingListing price (EUR), financed price, market average price, price competitiveness rank (1–5), price drop history (original price, % drop, days since drop)
⛽ SpecsFuel type (Gasolina, Diésel, Eléctrico, Híbrido, GLP)
🏷️ LabelsDGT environmental badge (C, ECO, 0 Emisiones, B), offer type (Ocasión, KM 0, Seminuevo)
🏢 SellerProfessional/private flag, certified vehicle, financing available, warranty included, phone number
🏬 DealerDealer ID, name, Coches.net plan, rating and review count (search and URL mode). Address, postal code, coordinates, website and stock page (URL mode). Professional sellers only
📍 LocationRegion, province, city
📸 MediaFull photo gallery (all URLs), video URLs, main thumbnail
📅 DatesPublication date, creation date, scrape timestamp
🔖 FlagsTop/promoted listing, urgent sale, reserved, taxes included
🔗 LinksDirect listing URL

How to use Coches.net Scraper

Option 1: Search by filters

  1. 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.
  2. Set limits — configure maxPages and maxItems to control how much data you collect.
  3. Start the run — click "Start" and wait for the scraper to finish (about 10 seconds for 30 listings; each page holds ~35 listings).
  4. 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 or changed listings since your last run. The Actor keeps a ledger of delivered listing ids plus a fingerprint of price, km, title, reservation and price drop: unchanged listings are skipped and not charged. Ideal for scheduled daily or weekly monitoring (details in Incremental ingestion below).

Note: Incremental mode only works with filter-based search, not URL mode.

Input parameters

ParameterTypeDescriptionDefault
urlsString[]One or more coches.net listing or search URLs. When set, search filters are ignored.—
makeStringCar brand (Spanish names work: "Mercedes-Benz", "Alfa Romeo")—
modelStringModel within the selected make ("Serie 3", "Clase A")—
fuelEnumFuel type: gasolina, diesel, electrico, hibrido, glp. Gasolina, diésel, eléctrico and híbrido are filtered by Coches.net itself (híbrido = its "Híbrido" category, plug-in hybrids not included); GLP is filtered on the pages fetched, so use maxPages 6.—
minPrice / maxPriceIntegerPrice range in EUR—
minYear / maxYearIntegerRegistration year range (1950–2027)—
postalCodeStringSpanish postal code to search around. Requires radiusKm.—
radiusKmIntegerSearch radius around postalCode, in km—
provinceIntegerRestrict to one province by INE code (28 = Madrid, 8 = Barcelona)—
maxPagesIntegerMax search pages to crawl (~35 listings/page). Recommended 1-6 — see Crawl limits below.6
maxItemsIntegerHard cap on total listings returned50
enableCursorBooleanReturn only new and changed listings since your last runfalse
cursorIdStringNamespaces the incremental ledger. Empty = derived from your filters.—
emitSeenIdsBooleanWrite every observed listing id to SEEN_IDS for delisting detectionfalse
proxyConfigurationObjectProxy settings. Empty → Apify residential proxy, country ESResidential ES

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,
"seller_id": null,
"seller_name": null,
"seller_pack": null,
"seller_rating_avg": null,
"seller_rating_count": null,
"seller_address": null,
"seller_postal_code": null,
"seller_latitude": null,
"seller_longitude": null,
"seller_website": null,
"seller_url": 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

FieldTypeDescription
idStringCoches.net listing identifier
latitudeNumberMunicipality centroid latitude — see Location data below
longitudeNumberMunicipality centroid longitude
ine_municipality_codeStringOfficial INE municipality code (CPRO+CMUN)
geo_precisionStringmunicipality or unavailable
titleStringFull listing title
makeStringCar manufacturer/brand
modelStringCar model name
yearIntegerRegistration year
kmIntegerMileage in kilometres
hpIntegerEngine power in HP
priceNumberListing price in EUR
financed_priceNumberFinanced price in EUR (if available)
price_average_indicatorNumberMarket average price for similar vehicles (EUR)
price_rank_indicatorIntegerPrice competitiveness: 1 = great deal → 5 = overpriced
price_drop_originalNumberPrevious price before last reduction (EUR)
price_drop_percentageNumberPercentage of last price drop
price_drop_daysIntegerDays since last price change
fuel_typeStringGasolina, Diésel, Eléctrico, Híbrido, GLP
environmental_labelStringDGT emissions badge (C, ECO, 0 Emisiones, B)
is_professionalBooleanProfessional dealer (vs. private seller)
is_certifiedBooleanVehicle certified by dealer
is_financedBooleanFinancing option available
is_topBooleanPromoted/top listing
is_urgentBooleanMarked as urgent sale
has_warrantyBooleanWarranty included
has_reservationBooleanCurrently reserved by a buyer
includes_taxesBooleanPrice includes taxes (IVA/IGIC)
offer_typeStringOcasión, KM 0, Seminuevo, etc.
phoneStringSeller phone number (if public)
seller_idStringDealer (contract) ID — stable dealer key. Professional sellers only
seller_nameStringDealer trading name. Professional sellers only
seller_packStringDealer's Coches.net plan (start, reference, expert…). Professional sellers only
seller_rating_avgNumberAverage dealer review score. Professional sellers only
seller_rating_countIntegerNumber of dealer reviews. Professional sellers only
seller_addressStringDealer street address. URL mode only
seller_postal_codeStringDealer postal code. URL mode only
seller_latitude / seller_longitudeNumberDealer coordinates. URL mode only
seller_websiteStringDealer's own website, if published. URL mode only
seller_urlStringDealer stock page on Coches.net. URL mode only
regionStringSpanish autonomous community
provinceStringProvince
cityStringCity
img_urlStringMain listing thumbnail URL
photosString[]All photo URLs for this listing
videosString[]Video URLs (if any)
publication_dateStringISO 8601 — when the listing was last published/renewed
creation_dateStringISO 8601 — when the listing was first created
urlStringDirect listing URL on Coches.net
sourceStringAlways cochesnet
scraped_atStringISO 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.

FieldMeaning
latitude / longitudeCentroid of the listing's municipality
ine_municipality_codeThe official code — joins against census, income and registration data
geo_precisionmunicipality (~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:

SituationResult
Listing id not in the ledgerEmitted, _delta_status: "new"
Fingerprint changedEmitted, _delta_status: "updated" + _changed_fields, _previous_price, _price_delta
Seen before, unchangedSkipped, 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.


How much does it cost to use Coches.net Scraper?

Coches.net Scraper uses a pay-per-event pricing model:

  • Start: $0.0005 per GB of memory (256 MB default, so at most $0.0005 per run)
  • Per result: $0.001 per listing (unchanged listings skipped by incremental mode are not charged)
What you scrapeListingsApprox. cost
First-run example (Toyota hybrids, 2 pages)30$0.03
One province, one brand200$0.20
A price/year band across Spain1,000$1.00
Daily incremental feed (≈5% changes)~50/day~$0.05/day

Platform usage (compute, proxy) is included in these prices. Set a maximum cost per run in the run options to cap spending. Your first $5 of Apify usage is free — enough for ~5,000 listings at no cost.

🔒 Privacy — GDPR compliance

Enable Strip seller personal data (stripSellerPII: true) to remove personal data of private sellers from the output:

FieldAction
phoneSet to null

Coordinates are already municipal centroids (~1 km precision) and are not modified. Professional seller data is never affected.

The seller_* dealer fields are always null for private sellers, whether stripSellerPII is on or off: the actor never reads a private seller's name or user ID.

When stripSellerPII is off (the default), the actor behaves exactly as before — all fields are emitted as-is.

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_* and price_rank_indicator fields
  • 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

🧪 Ready-made examples

Start from a pre-configured task and adapt it to your needs:


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? Each search query is best kept to 6 pages (~210 listings) because coches.net asks crawlers not to go deeper. To build a large catalogue, split the search by province, make, price band and year band (see Crawl limits), and use incremental mode to keep it updated. You pay only for the listings returned.

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 Actor remembers every listing it delivered (with a fingerprint of price, km, title, reservation and price drop). On later runs it returns only new listings and listings whose fingerprint changed, flagged with _delta_status. Unchanged listings are skipped and not charged. Perfect for scheduled monitoring.

My run returned 0 or very few results. Why?

  • Brand or model not found: the brand name must exist on coches.net (use makeId for DS, MG, Polestar, XPeng...). An unknown model falls back to the whole brand (see the run log).
  • LPG (GLP): the filter is applied to the pages fetched, so set maxPages to 6 and expect few matches.
  • Very narrow filters (small province + high price floor) may legitimately have no listings.
  • Coches.net temporarily blocked the request: leave the proxy field as pre-filled (residential, Spain) and retry.

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

  1. Búsqueda por filtros: configura marca, modelo, combustible, rango de precio y año.
  2. Búsqueda por URL: pega una o más URLs de coches.net (anuncios individuales o páginas de búsqueda).
  3. Modo incremental: activa enableCursor para capturar solo anuncios nuevos desde la última ejecución — cero duplicados.

¿Cómo funciona?

  1. Configura los filtros o pega URLs directamente.
  2. Establece los límites de páginas y resultados.
  3. Ejecuta el scraper y descarga los datos en JSON, CSV o Excel.
  4. Programa ejecuciones periódicas para crear una base de datos histórica de precios.

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.