Saltar al contenido principal
Piloterr
Volver al blog
28 de julio de 2026

Web scraping para automoción: seguir precios de coches y piezas en AutoScout24, Mobile.de, Leboncoin y Autodoc

Poner el precio correcto a un coche de ocasión es un problema de datos antes que un problema comercial. El mismo Golf GTI de tres años puede estar anunciado a 24.900 € en Mobile.de en Alemania, 22.400 € en AutoScout24 en Francia y 21.000 € por un particular en Leboncoin, el mismo día. Y una vez que el coche está en su campa, reacondicionarlo depende de piezas cuyos precios varían igual: la misma referencia de kit de frenos puede costar un 20 % menos en autodoc.pl que en auto-doc.fr.

Los grupos de concesionarios, los compradores de flotas y las plataformas de pricing automovilístico que los atienden necesitan lo mismo: una vista continua y estructurada de los anuncios y de los precios de las piezas, a través de marketplaces y países. Nadie consigue eso refrescando páginas de búsqueda a mano. Hace falta un pipeline de recolección automatizado construido sobre datos de marketplace fiables.

Este artículo recorre ese pipeline, a partir de un patrón de producción de uno de nuestros clientes (una plataforma de inteligencia de precios de automoción que no nombraremos), con llamadas de API concretas a AutoScout24, Mobile.de, Leboncoin y Autodoc.

El caso de uso: una plataforma de pricing de vehículos para grupos de concesionarios

Uno de nuestros clientes construye inteligencia de precios para concesionarios y operadores de flotas. Su producto responde a las tres preguntas que todo profesional del vehículo de ocasión se hace a diario:

  1. ¿Cuánto vale este coche ahora mismo? Snapshots de mercado por modelo: precios de anuncios en vivo, tramos de kilometraje, días en el mercado, por país.
  2. ¿Dónde es más barato aprovisionarse? Alertas de arbitraje transfronterizo cuando el mismo modelo cotiza claramente por debajo de su precio doméstico en un país vecino.
  3. ¿Cuánto costará el reacondicionamiento? Un índice de coste de piezas por modelo, alimentado con precios en vivo de los marketplaces de recambios, para convertir una ficha de inspección de tasación en un presupuesto de reacondicionamiento.

Responder a esas preguntas exige recolectar decenas de miles de anuncios al día de sitios fuertemente protegidos, localizados y estructuralmente distintos entre sí. En lugar de mantener internamente una flota de navegadores headless, proxies y parsers por sitio, su plataforma canaliza la recolección por las APIs de Piloterr. Tres propiedades de la web de automoción justifican esa decisión:

  • Cada marketplace tiene una forma distinta. Mobile.de sirve componentes de servidor de Next.js tras reglas anti-bot agresivas; Leboncoin mezcla anuncios de profesionales y particulares con su propia protección; AutoScout24 abarca una docena de dominios europeos. Una sola capa de API lo normaliza todo a JSON.
  • Los precios solo tienen sentido localizados. Una búsqueda alemana y una francesa sobre el mismo modelo son mercados distintos. Las APIs preservan la locale, la divisa y el contexto de mercado de cada anuncio.
  • El volumen es diario, no puntual. Los días en el mercado y la detección de bajadas de precio exigen re-escanear las mismas búsquedas cada día y comparar resultados: una carga de infraestructura, no de scripting.

Anatomía de un pipeline de monitoreo de precios de automoción

Texto plano
Descubrir          Normalizar         Enriquecer         Producir
(APIs search)      (unificar campos)  (APIs ad)          (índices + alertas)
     │                  │                  │                  │
barridos por  →   precio, km,     →  specs completas, →  snapshot de mercado,
modelo y mercado  matriculación,     equipamiento,       alertas de arbitraje,
                  divisa             tipo de vendedor    índice coste piezas

Etapa 1: descubrir anuncios con los endpoints de búsqueda

Todo empieza con barridos por modelo y por mercado. Para cada modelo del catálogo, la plataforma consulta el endpoint de búsqueda de cada marketplace cubierto, en cada país relevante.

En AutoScout24, se pasa cualquier URL de búsqueda de cualquiera de sus dominios europeos: filtros incluidos. Una llamada devuelve las tarjetas de anuncios con especificaciones, precio e información del vendedor:

Bash
curl -G "https://api.piloterr.com/v2/autoscout24/search" \
  -H "x-api-key: YOUR-API-KEY" \
  --data-urlencode "query=https://www.autoscout24.fr/lst/volkswagen/golf?atype=C"

Cambie autoscout24.fr por autoscout24.de o autoscout24.it y estará barriendo otro mercado nacional con la misma integración.

En Mobile.de, la API Search acepta una URL de búsqueda completa o un código de marca/modelo, con un parámetro locale que cubre 10 locales y un parámetro page para la paginación:

Bash
curl -G "https://api.piloterr.com/v2/mobile/search" \
  -H "x-api-key: YOUR-API-KEY" \
  --data-urlencode "query=https://www.mobile.de/fr/voiture/recherche.html?ms=20100&s=Car&vc=Car"

Cada tarjeta de resultado ya es rica: price, currency, mileage, first_registration, fuel_type, power, transmission, location, más price_rating: la propia evaluación de mercado de Mobile.de (GOOD_PRICE, etc.). Alimentar ese label a su propio modelo de pricing le da una señal de calibración gratuita del mayor marketplace alemán.

En Leboncoin, la API Search toma cualquier URL de búsqueda o de categoría y devuelve anuncios parseados. Ahí vive el mercado de particulares, cuyos precios de anuncios clasificados rebajan sistemáticamente los de los profesionales:

Bash
curl -G "https://api.piloterr.com/v2/leboncoin/search" \
  -H "x-api-key: YOUR-API-KEY" \
  --data-urlencode "query=https://www.leboncoin.fr/recherche?category=2&text=golf+gti"

Etapa 2: normalizar hacia un modelo de anuncio único

Tres marketplaces significan tres esquemas, tres divisas y tres maneras de escribir «primera matriculación 03/2023». La capa de normalización lo proyecta todo sobre un único registro:

(marketplace, ad_id, observed_at) → { make, model, price, currency, mileage_km, first_registration, fuel, transmission, seller_type, location, url }

Dos reglas de producción ahorran la mayor parte del dolor:

  • Conservar los campos crudos del marketplace junto a los normalizados. Cuando aparece una anomalía de precio, usted quiere ver exactamente lo que el sitio mostraba.
  • Un anuncio que desaparece es una señal, no un error. Los coches se venden. La fecha en que un anuncio desaparece es lo que convierte una serie de precios en una métrica de días en el mercado: el mejor indicador de demanda del negocio de ocasión.

Etapa 3: enriquecer la shortlist con los endpoints ad

Las tarjetas de búsqueda bastan para las curvas de mercado. Para los coches que un comprador considera de verdad, la plataforma recupera el anuncio completo mediante los endpoints ad: AutoScout24 Ad (specs completas, lista de equipamiento, datos del vendedor), Mobile Ad (precios, specs, imágenes, equipamiento) y Leboncoin Ad (atributos, información del vendedor, imágenes):

Bash
curl -G "https://api.piloterr.com/v2/mobile/ad" \
  -H "x-api-key: YOUR-API-KEY" \
  --data-urlencode "query=https://www.mobile.de/fr/details.html?id=123456789"

La lista de equipamiento importa más de lo que parece: dos Golf con kilometraje idéntico pueden diferir en miles de euros porque uno lleva enganche de remolque y control de crucero adaptativo. Los datos de equipamiento estructurados son lo que hace honesta la comparación entre anuncios.

Etapa 4: presupuestar el reacondicionamiento con los endpoints de piezas

Una tasación solo vale su precio de reventa menos los costes de reacondicionamiento. Aquí es donde los marketplaces de recambios entran en el pipeline.

La API Autodoc Search cubre más de 30 tiendas nacionales (autodoc.de, auto-doc.fr, autodoc.pl, autodoc.es, …) mediante el parámetro domain. Cada resultado incluye price, original_price, discount, la reference del fabricante de la pieza, el vendedor y la disponibilidad:

Bash
# Piezas de freno en la tienda francesa
curl -G "https://api.piloterr.com/v2/autodoc/search" \
  -H "x-api-key: YOUR-API-KEY" \
  --data-urlencode "query=search?keyword=frein" \
  --data-urlencode "domain=auto-doc.fr"

# El mismo barrido en la tienda alemana: mismas referencias, precios distintos
curl -G "https://api.piloterr.com/v2/autodoc/search" \
  -H "x-api-key: YOUR-API-KEY" \
  --data-urlencode "query=search?keyword=bremsen" \
  --data-urlencode "domain=autodoc.de"

El campo reference del fabricante es la clave de unión: permite comparar exactamente la misma pieza entre tiendas nacionales, y contra otras fuentes: Oscaro y Norauto para el mercado francés, y Ovoko para piezas OEM usadas, que a menudo reducen a la mitad una línea de reacondicionamiento. Autodoc Product añade specs, EAN y compatibilidad de vehículos para las piezas que se siguen a largo plazo.

Un ejemplo funcional en Python: una pieza, cinco países

El script siguiente busca la misma palabra clave de pieza en varias tiendas nacionales de Autodoc, une los resultados por la referencia del fabricante e imprime la tienda más barata por referencia. Es deliberadamente mínimo: en producción persistiría los snapshots, seguiría la disponibilidad y convertiría divisas.

Python
import requests
from collections import defaultdict

PILOTERR_API_KEY = "YOUR-API-KEY"
BASE = "https://api.piloterr.com/v2"
HEADERS = {"x-api-key": PILOTERR_API_KEY}

SHOPS = {
    "auto-doc.fr": "frein",
    "autodoc.de": "bremsen",
    "autodoc.es": "freno",
    "autodoc.pl": "hamulec",
    "auto-doc.it": "freno",
}

def sweep_autodoc(domain: str, keyword: str) -> list[dict]:
    r = requests.get(f"{BASE}/autodoc/search", headers=HEADERS,
                     params={"query": f"search?keyword={keyword}", "domain": domain},
                     timeout=60)
    r.raise_for_status()
    return [
        {
            "shop": domain,
            "name": item["name"],
            "reference": item.get("reference"),
            "price": item.get("price"),
            "original_price": item.get("original_price"),
            "discount": item.get("discount"),
            "availability": item.get("availability"),
            "url": item.get("product_url"),
        }
        for item in r.json().get("results", [])
    ]

def main():
    by_reference = defaultdict(list)
    for domain, keyword in SHOPS.items():
        for offer in sweep_autodoc(domain, keyword):
            if offer["reference"] and offer["price"] is not None:
                by_reference[offer["reference"]].append(offer)

    multi_shop = {ref: offers for ref, offers in by_reference.items()
                  if len(offers) >= 2}

    print(f"{len(by_reference)} referencias recopiladas, "
          f"{len(multi_shop)} disponibles en 2+ tiendas\n")

    for ref, offers in sorted(multi_shop.items()):
        offers.sort(key=lambda offer: offer["price"])
        best, worst = offers[0], offers[-1]
        spread = (worst["price"] - best["price"]) / worst["price"] * 100
        print(f"{ref}  {best['name'][:50]}")
        print(f"  best: {best['price']} @ {best['shop']}  "
              f"worst: {worst['price']} @ {worst['shop']}  "
              f"spread: {spread:.0f}%\n")

if __name__ == "__main__":
    main()

La misma lógica de unión por referencia impulsa el lado de coches del pipeline: sustituya tiendas por marketplaces, referencias por buckets normalizados de (marca, modelo, año, tramo de km), y el spread se convierte en una alerta de arbitraje transfronterizo.

Más allá de los anuncios: subastas, maquinaria y el mercado británico

El mismo enfoque API-first va más allá de los marketplaces europeos principales:

  • Siniestros y subastas: Copart expone lotes de subasta, la fuente con la que compradores de vehículos dañados y aseguradoras valoran los siniestros totales.
  • Camiones y maquinaria: Mascus cubre maquinaria pesada usada, tractores y vehículos comerciales.
  • Mercados UK y US: Autotrader incorpora anuncios con volante a la derecha y norteamericanos al mismo pipeline.
  • Referencias de alquiler: AutoEurope añade puntos de precio de alquiler, útiles para operadores de movilidad que modelan la utilización de flotas.

Los anuncios de vehículos son ofertas comerciales mostradas públicamente, y el monitoreo de precios sobre datos públicos es uno de los casos de uso de scraping más consolidados: la misma práctica sustenta todos los comparadores de precios. Aplican los principios habituales: recopilar solo datos públicos, respetar los límites de velocidad y tener cuidado con los datos personales en los anuncios de particulares (almacenar lo que el análisis necesita, no el teléfono del vendedor). Para el marco general, consulte nuestra guía sobre la legalidad del web scraping.

En resumen

La inteligencia de precios de automoción es un pipeline: descubrir con APIs de búsqueda de marketplaces, normalizar hacia un modelo de anuncio único, enriquecer la shortlist con endpoints ad, y presupuestar el reacondicionamiento con APIs de piezas unidas por referencias de fabricante. Ganan las plataformas cuya vista de mercado es más fresca que la intuición del concesionario. Para la mecánica de las diferencias de precio entre países (divisas, promociones asíncronas, surtido), nuestra guía de monitoreo de precios multirregional aplica a los recambios de coche exactamente igual que a los bienes de consumo.

Piloterr proporciona esa capa de recolección como API: AutoScout24, Mobile.de, Leboncoin, Autodoc, Ovoko, Copart y el resto de la biblioteca de 500 endpoints, con bypass anti-bot y renderizado de navegador gestionados por nosotros. Si está construyendo herramientas de pricing de automoción y quiere evaluar la calidad de los datos con sus propios modelos, cree una cuenta gratuita (+500 créditos, sin tarjeta de crédito) o hable con nosotros sobre precios por volumen y endpoints que podemos añadir para su caso de uso.

Más para leer

Guías y noticias sobre web scraping, proxies y extracción de datos.

Web Scraping

Web scraping para brand protection: cazar falsificaciones en AliExpress, Alibaba y Amazon

Cómo las plataformas de brand protection usan APIs de scraping para detectar anuncios falsificados, capturar evidencias del vendedor y vigilar las republicaciones en AliExpress, Alibaba, Amazon y otros marketplaces. Diseño del pipeline, ejemplos de API y un script en Python.

Josselin Liebe
Josselin Liebe
Leer
Web Scraping

Migración desde NetNut: qué hacer tras el cierre de la red

Google tomó medidas contra la red de proxies NetNut/Popa junto al FBI y Lumen. Cómo replantear tu stack de scraping sin gestionar proxies por tu cuenta.

Josselin Liebe
Josselin Liebe
Leer
Web Scraping

€17.99 en Francia, €29.99 en Alemania: monitoreo de precios por país

Misma referencia en el ERP, diferentes precios por país: promociones, monedas y surtido varían de una tienda a otra. Modelo de datos, ejemplos de API y un script en Python para un monitoreo de precios confiable.

Josselin Liebe
Josselin Liebe
Leer

¿Listo para empezar?

Tu API de web scraping está a un clic. Comienza con +500 créditos, sin infraestructura que configurar, sin proxies que gestionar y sin necesidad de tarjeta de crédito.

  • +500 créditos
  • Sin tarjeta de crédito
  • Todos los endpoints incluidos