API

API de El Corte Inglés: precios, variantes y EAN de elcorteingles.es en JSON

Esta API consulta elcorteingles.es sin cuenta ni cookies y devuelve en JSON lo que aparece en la tienda: nombre, marca, EAN-13, precio en euros, precio tachado y, para cada combinación de color y talla, si se puede comprar en ese momento. Quien vende en el marketplace de El Corte Inglés y busca la integración de vendedor no la encontrará en esta página: con esta API no se da de alta ningún producto ni se gestiona ningún pedido. Es la vista del comprador, consultada en directo, e incluye también las fichas de vendedores externos, que llegan marcadas con `is_marketplace`. Para vigilar precios a diario hay un endpoint aparte, `price`: devuelve precio, descuento, el precio más bajo de los últimos 30 días y el estado de cada variante sin descargar la ficha completa.

Endpoints

endpointQué devuelveObligatorios
searchBúsqueda por texto en castellano («zapatillas running», «lavadora bosch»), por código de El Corte Inglés (A56390869) o por EAN, o recorrido de una categoría (`electrodomesticos/cafeteras`). Cada fila: código, URL lista para `product_detail`, nombre, marca, EAN-13, precio mínimo y máximo entre colores, colores, número de variantes y cuántas se pueden comprar, categoría y si la vende un tercero. Orden por precio, descuento, valoración, novedad, nombre o stock. El Corte Inglés sirve 12 productos por página; con `max_results` se piden hasta 60 en una llamada.todos opcionales
product_detailLa ficha por URL, código o EAN: galería completa, matriz de color y talla con id de variante, EAN, precio, precio tachado y disponibilidad en cada fila, quién vende cada variante, promociones activas, precio más bajo de los 30 días anteriores, tabla de especificaciones con los grupos de la web, valoración media y hasta 8 opiniones. En productos de supermercado llega la información nutricional en lugar de la matriz de tallas.todos opcionales
priceConsulta rápida de un producto que ya sigues, por URL, código o EAN: precio de hoy, precio tachado, descuento, precio más bajo de 30 días y, por cada color y talla, su EAN, su precio, su vendedor y si se puede comprar. No trae galería, descripción ni opiniones, y no admite productos de supermercado.todos opcionales

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

Ejemplo que funciona

Una cafetera Nespresso De'Longhi Vertuo Pop, consultada el 27 de octubre de 2026: 59 € con el precio de 99 € tachado (-40 %). El dato que conviene guardar al lado del precio es `lowest_recent_price`, 48,76 €: el precio más bajo de los últimos 30 días que la ficha publica por la normativa europea sobre anuncios de descuentos. Aquí queda por debajo de los 59 € de hoy, así que el «-40 %» y ese mínimo cuentan cosas distintas. Amarillo y negro tienen cada uno su EAN y su id de variante, y los dos estaban a la venta.

Petición
curl -X POST https://api.reefapi.com/elcorteingles/v1/price \
  -H "x-api-key: TU_CLAVE" \
  -H "content-type: application/json" \
  -d '{"url": "https://www.elcorteingles.es/electrodomesticos/A45376808-8004399024649-pr-cafetera-de-capsulas-nespresso-delonghi-vertuo-pop-para-capsulas-nespresso-vertuo-amarillo/"}'
Respuesta (recortada)
{
  "ok": true,
  "data": {
    "product": {
      "product_id": "A45376808",
      "name": "Cafetera de cápsulas Nespresso De'Longhi Vertuo Pop para cápsulas Nespresso Vertuo Amarillo",
      "brand": "De'Longhi",
      "gtin13": "8004399024649",
      "price": 59.0,
      "list_price": 99.0,
      "discount_percent": 40,
      "lowest_recent_price": 48.76,
      "currency": "EUR",
      "availability": "in_stock",
      "variant_count": 2,
      "in_stock_variant_count": 2,
      "is_marketplace": false,
      "variants": [
        {
          "variant_id": "001007741406982",
          "gtin13": "8004399024649",
          "colour": "Amarillo",
          "size": "Variante única",
          "price": 59.0,
          "list_price": 99.0,
          "lowest_recent_price": 48.76,
          "in_stock": true,
          "seller_id": "001"
        },
        {
          "variant_id": "001007741406974",
          "gtin13": "8004399024632",
          "colour": "Negro",
          "price": 59.0,
          "in_stock": true,
          ...
        }
      ]
    }
  },
  "meta": { "record_count": 1, "upstream_calls": 1, "cache_hit": false, "mode": "live" }
}

Scraping de El Corte Inglés: tres respuestas que parecen buenas

Una subcategoría que no existe, colgada de un departamento que sí existe, no da 404. `/electronica/no-such-sub-xyzzy/` responde HTTP 200 con 12 productos y un total de 10.000: son los de `/electronica/`, con el total de toda la web. Nos pasó con un ejemplo nuestro: `deportes/zapatillas-deportivas`, que habíamos dado por buena tras ver «12 productos», no es una categoría de El Corte Inglés y devolvía exactamente las filas de `/deportes/`. Ahora el motor compara la categoría que pediste con la que la web dice haber servido y, si no coinciden, responde NOT_FOUND indicando a cuál cayó.

Pasar de la última página tampoco da error. En `perfumeria/afeitado`, con 6 páginas, la página 9 respondía 200 con cero productos, y nuestro motor la entregaba como `ok: true` y lista vacía: un recorrido que se pasa de largo cree que el catálogo se ha quedado vacío. Hoy esa llamada devuelve NOT_FOUND con la última página real y el total. La única lista vacía que se mantiene como respuesta correcta es la de una búsqueda por texto para la que El Corte Inglés cuenta cero resultados.

Un artículo retirado sigue publicado, pero con HTTP 410 y todas las variantes sin precio. En agosto de 2026, 71 de los 72 errores UPSTREAM_HTTP de `product_detail` en dos semanas eran ese 410 sobre cuatro prendas de moda infantil, y nuestro motor los trataba como caída del servidor y los reintentaba. Ahora responden NOT_FOUND con `meta.withdrawn: true` y el nombre del producto, para que tu monitor lo dé de baja en lugar de esperar a que vuelva.

En ninguno de los tres casos la web avisa de nada, así que un script propio los guarda como datos válidos: una categoría inventada llena de productos de otra, un final de catálogo que no lo es y un artículo que ya no se vende. Para mirar un precio suelto basta con el navegador; para una base que se actualiza cada noche, el trabajo está en cazar justo estas tres cosas.

Límites y notas honestas

  • El Corte Inglés no ha creado ni supervisa esta API, y ReefAPI no trabaja con El Corte Inglés bajo ningún contrato.
  • No hay cantidades de stock. La web solo dice si cada variante se puede comprar (`in_stock`, `status`); tampoco publica el stock de cada centro comercial.
  • En una búsqueda por texto sin ordenar, El Corte Inglés intercala 4 posiciones patrocinadas entre las 12 de la página, y el motor las quita: «cafetera nespresso» devolvió 8 productos (`tiles_seen` 12, `sponsored_slots` 4). Las páginas de categoría y las búsquedas ordenadas no llevan patrocinados.
  • La búsqueda por texto usa la ruta /search-nwx/, que el robots.txt de El Corte Inglés excluye para rastreadores; recorrer por `category` usa rutas permitidas, y `meta.robots` indica cuál respondió.
  • Coste de `search`: 1 crédito por cada página de 12 que responde, con un mínimo de 2. Una llamada normal cuesta 2 y una de 60 resultados, 5. `product_detail` cuesta 2.
  • Las valoraciones no las publica El Corte Inglés sino el servicio de opiniones que carga su ficha: como mucho llegan 8 opiniones y en nuestra medición solo 27 de 48 productos tenían alguna. `rating.count` da el total real.
  • Los productos de supermercado se abren con `product_detail`, pero no se pueden buscar. Y el buscador de la web no cuenta más de 10.004 resultados (834 páginas).