API

API de Autodoc: qué recambios montan en tu coche y a qué precio, desde autodoc.es

En Autodoc el catálogo se ordena por coche, no por pieza. Las pastillas de freno de un Seat Ibiza no existen como lista; existen las de un Ibiza 6J 1.2 TSI de 105 cv concreto. La API recorre ese mismo árbol: `vehicle_lookup` baja de la marca al modelo, de ahí a la generación y por último a la motorización, y `search` devuelve las piezas que Autodoc tiene para esa versión con precio en euros, marca, número de pieza y los datos técnicos del fabricante, en español. Para quien trabaja con referencias de origen, como un taller o una tienda de recambios, `oem_lookup` busca directamente por número OE. Si lo que interesa es el seguimiento de precios, cada precio trae su fecha de validez (`price_valid_until`); el historial lo construye uno mismo con llamadas fechadas, porque la API no guarda precios anteriores. Solo lee la tienda pública: no sirve para vender en Autodoc ni para hacer pedidos. Sin `"market": "es"` contesta la tienda británica, con precios en libras.

Endpoints

endpointQué devuelveObligatorios
vehicle_lookupRecorre los vehículos de autodoc.es paso a paso. Sin parámetros, todas las marcas; con `maker`, los modelos (SEAT LEON, IBIZA, ARONA…); con `model`, las generaciones con su código de chasis (6J5, KJ1); con `generation`, cada motorización con kW, cv, cilindrada, combustible («Gasolina», «Gasóleo») y años de fabricación, más el id de vehículo que pide `search`.todos opcionales
searchLas piezas de una categoría que montan en una motorización concreta, 20 por página: id de artículo, número de pieza del fabricante, marca, precio y precio anterior, valoración, número de opiniones, imagen y la tabla de datos del fabricante (lado de montaje, espesor, número WVA, EAN). Necesita la categoría y el vehículo completo, o una URL de vehículo de Autodoc.category
product_detailUna pieza por id de artículo o URL: precio con fecha de validez, disponibilidad, gastos de envío con plazo, días para devolverla, la ficha técnica completa, EAN, todas las referencias OE con el fabricante del coche, marcas compatibles, piezas equivalentes, galería con vista de 360 grados y las opiniones que publica la página.todos opcionales
part_searchEl buscador de Autodoc en todo el catálogo, sin limitarse a un coche: con un número de pieza como `402B0071` devuelve esa pieza y sus alternativas; con un término en español como «pastillas de freno», una lista normal de resultados.query
oem_lookupTodo lo que Autodoc vende como sustituto de una referencia original del fabricante del vehículo, por ejemplo la BMW 34216774692, con precio, marca y número de pieza de cada alternativa.oem_number
categoriesLas 199 categorías de piezas con el slug y el número que necesita `search`; en autodoc.es, con nombres en español («Pastillas de freno coche», «Latiguillos de freno coche»). Se pueden filtrar con `group`.todos opcionales

Cada llamada se cobra en créditos. Las llamadas fallidas y bloqueadas son gratuitas.

Ejemplo que funciona

Para llegar hasta aquí bastaron tres llamadas a `vehicle_lookup` (seat → ibiza → ibiza-v-6j5-6p5, 1 crédito cada una) y esta búsqueda de 2 créditos: 5 créditos en total para la primera pregunta sobre ese coche. La lista mezcla eje trasero y eje delantero; cuál es cada juego se lee en `specifications`, en «Lado de montaje». Pedimos además la ficha del primer juego trasero con `product_detail`: 9,95 € de envío con plazo de «3-5 días hábiles», 14 días para devolverlo, 233 referencias OE y un precio válido hasta el 29 de octubre de 2026.

Petición
curl -X POST https://api.reefapi.com/autodoc/v1/search \
  -H "x-api-key: TU_CLAVE" \
  -H "content-type: application/json" \
  -d '{"category": "pastilla-de-freno-10130", "maker": "seat", "model": "ibiza", "generation": "ibiza-v-6j5-6p5", "vehicle": "33689", "market": "es", "max_results": 5}'
Respuesta (recortada)
{
  "ok": true,
  "data": {
    "parts": [
      {
        "article_id": "7998953",
        "article_number": "402B0029",
        "url": "https://www.autodoc.es/ridex/7998953",
        "title": "RIDEX 402B0029 Juego de pastillas de freno Eje trasero",
        "brand": "RIDEX",
        "category_name": "Juego de pastillas de freno",
        "price": 12.99,
        "price_was": null,
        "currency": "EUR",
        "rating": 5.0,
        "review_count": 244,
        "specifications": [
          { "name": "Lado de montaje", "value": "Eje trasero" },
          { "name": "Sistema de frenos", "value": "TRW / LUCAS / GIRLING" },
          { "name": "Espesor", "value": "17" },
          { "name": "Ancho [mm]", "value": "87" },
          { "name": "Números de EAN", "value": "4059191313075" },
          ...
        ],
        "in_stock": true,
        "fits_selected_vehicle": true
      },
      ...
      {
        "article_id": "7998976",
        "article_number": "402B0019",
        "title": "RIDEX 402B0019 Juego de pastillas de freno Eje delantero",
        "brand": "RIDEX",
        "price": 15.49,
        "currency": "EUR",
        "rating": 4.0,
        "review_count": 84,
        "specifications": [
          { "name": "Lado de montaje", "value": "Eje delantero" },
          { "name": "Número de WVA", "value": "23130" },
          { "name": "cumple norma ECE", "value": "ECE-R90" },
          { "name": "utilizable en vehículos hasta año", "value": "2016 / 11" },
          ...
        ],
        "fits_selected_vehicle": true
      },
      ...
    ],
    "category": {
      "slug": "pastilla-de-freno-10130",
      "category_id": "10130",
      "name": "Pastillas de freno Seat Ibiza 6J 1.2 TSI gasolina 105 cv / 77 kW CBZB"
    },
    "vehicle": {
      "vehicle_id": "33689",
      "vehicle_slug": "33689-1-2-tsi",
      "maker": "seat",
      "model": "ibiza",
      "generation": "ibiza-v-6j5-6p5",
      "url": "https://www.autodoc.es/recambios/seat/ibiza/ibiza-v-6j5-6p5/33689-1-2-tsi"
    }
  },
  "meta": {
    "record_count": 5,
    "market": { "code": "es", "base_url": "https://www.autodoc.es", "expected_currency": "EUR" },
    "fitment": "vehicle",
    "pagination": { "page": 1, "per_page": 20, "returned": 5, "total_results": null, "known_pages_at_least": 5, "has_more": true, "next_page": 2 },
    "charged_credits": 2,
    "cache_hit": false,
    "mode": "live"
  }
}

Hacer scraping de autodoc.es: el idioma de la tienda decide el resultado

autodoc.es se añadió como mercado el 18 de septiembre de 2026, a petición de un cliente. El árbol cuelga de `/recambios`, las piezas de `/repuestos` y las 199 categorías conservan el mismo número que en la tienda británica y en la alemana: `pastilla-de-freno-10130` en España es la misma categoría que en las otras dos. Lo que cambia es el texto: claves de ficha en español («Números de EAN», «Número de artículo»), potencia en cv y combustible «Gasolina» o «Gasóleo». Un parser que busque las claves de la versión inglesa no las va a encontrar aquí.

El buscador libre solo entiende el idioma de su propia tienda, y la API devuelve exactamente lo que devuelve la web. Medido en las páginas originales el mismo día: «pastillas de freno» en autodoc.es dio 20 de 20 juegos de pastillas, y «filtro de aceite», 20 de 20 filtros de aceite. La misma frase en autodoc.de devolvió cinco ambientadores, y «brake pads» en autodoc.es, accesorios. No añadimos ninguna capa de traducción, porque habría sido adivinar. Para buscar por coche, la vía segura es `categories` con una palabra en español y después `search`, que trabaja con el número de categoría.

En aquella misma revisión apareció un error de stock en las tarjetas de la lista. El contador de unidades de Autodoc a veces vale 0 aunque la pieza esté disponible: los 23 kits de discos y pastillas de una página de referencia OE de autodoc.es tenían el contador a 0, y las dos fichas que se abrieron para comprobarlo decían «En almacén». Desde entonces, `in_stock` es null cuando el contador es 0, en lugar de false, y la disponibilidad fiable es la de `product_detail`.

En los tres casos Autodoc respondió sin ningún error y con la página llena de productos. Si adaptas a autodoc.es un parser escrito para autodoc.co.uk, no basta con comprobar que devuelve filas: busca «brake pads» y «pastillas de freno» y compara lo que llega en cada caso.

Límites y notas honestas

  • Autodoc no tiene nada que ver con esta API. Es un servicio no oficial, y entre ReefAPI y Autodoc no hay acuerdo ni relación comercial.
  • `market` admite `uk` (por defecto, en libras), `de` y `es` (ambas en euros). Los ids de artículo, vehículo y categoría coinciden en las tres tiendas; cambian el precio, la moneda y el idioma.
  • El filtro `group` de `categories` busca en los nombres de la tienda elegida. En autodoc.es, `"group": "brake"` devolvió 0 categorías y cobró 1 crédito; `"group": "freno"` devolvió 18.
  • `search` necesita marca, modelo, generación y motorización, o una URL de vehículo. Por encima de la motorización Autodoc no tiene lista de piezas.
  • La lista de un vehículo mezcla juegos del eje delantero y del trasero. Además, `fits_selected_vehicle: true` no lo resuelve todo: algunos juegos limitan el año en su propia ficha («utilizable en vehículos hasta año»), y hay que leer `specifications`.
  • Autodoc no publica el total de resultados. `total_results` es null y `known_pages_at_least` es solo un mínimo.
  • Lo que trae `product_detail` en `description` es el texto promocional de la página, con emojis y frases sobre la tienda, no una descripción técnica; la parte técnica está en `specifications`. En esa misma ficha, `fits_vehicles` llegó como un único texto largo, sin separar por modelo, y con el título de la sección siguiente pegado al final.
  • `compatible_makers` junta a veces varias marcas en una sola entrada: en nuestra llamada aparecieron «DACIA DS FIAT» y «LANCIA LAND-ROVER NISSAN» con un único id cada una.
  • El número de opiniones puede no cuadrar entre lista y ficha (244 en `search`, 242 en `product_detail` para la misma pieza), y las opiniones de la página suelen venir sin estrellas (`rating: null`), que significa «sin valoración», no cero.
  • Los gastos de envío son los que Autodoc indica para esa pieza (9,95 € en el ejemplo). El envío gratuito a partir de 120 € que la tienda menciona en el texto de la ficha no se descuenta de ninguna cifra de la respuesta.
  • Créditos por llamada: `vehicle_lookup` y `categories` 1; `search`, `product_detail` y `part_search` 2; `oem_lookup` 3. Si una llamada falla, también con NOT_FOUND, no se descuenta nada.