Extractor de Productos de Otto

El catálogo de un minorista alemán,
un producto por fila.

Otto es uno de los mayores minoristas generalistas de Alemania, y sus páginas de producto se montan en el navegador en vez de servirse enteras. Este servicio las carga como lo hace un navegador y devuelve diecisiete columnas por URL de producto: el mismo esquema que usan nuestros otros scrapers de catálogo, así que un solo importador las lee todas.

500 filas gratis por única vezdespués 0,002 $ por filadiecisiete columnas por productoCSV · JSON · Excel
Cómo funciona

Una lista de URLs entra, una hoja de cálculo sale.

  1. PASO 1Inicia sesión en la plataforma.
  2. PASO 2Abre el Otto Products Scraper.
  3. PASO 3Pega las URLs de producto de Otto que quieras, una por línea.
  4. PASO 4Elige tu formato de salida (CSV / JSON / XLSX).
  5. PASO 5Lanza el trabajo.
  6. PASO 6Descarga los resultados: una fila por URL, diecisiete columnas.
Lo que conviene saber

Qué condiciona una ejecución contra Otto.

Los listados se montan en el navegador

Pide https://www.otto.de con un cliente corriente y obtienes una página funcional de unos 320 KB con setenta y pico etiquetas de script y ningún enlace de producto en el marcado servido. El catálogo llega después, desde JavaScript. Cualquier cosa construida sobre una librería HTTP y un analizador de HTML lee una página válida y no encuentra productos en ella; este servicio carga la página como lo hace un navegador.

Un minorista de consumo, no un distribuidor profesional

Otto vende al público, y merece la pena decirlo porque los otros catálogos de este esquema -BiggestBook, Vistaprint, Waxie- son sitios profesionales cuyas columnas de precio vuelven vacías por razones propias de cada uno. Una tienda de consumo publica sus precios para todos. No hemos medido los de Otto, así que tampoco los prometemos, pero las razones que dan aquellas páginas para las columnas de dinero vacías no se trasladan aquí.

Diecisiete columnas, y algunas van en pareja

La exportación lleva price y parsed_price, sku y sku_code, image e images, url y product_url. Una de cada pareja es para leer y otra para calcular, y saber cuál es cuál antes de escribir el importador ahorra una reescritura.

La misma forma que el resto de la familia

Livescraper usa este esquema en una serie de fuentes de retail y suministro. Los diecisiete nombres y su orden son idénticos, así que un solo importador las lee todas, y añadir una segunda fuente es un cambio de configuración y no un proyecto.

Cada fila dice si funcionó

La última columna es status, escrita por nuestro exportador y no por el sitio. Una fila que no se pudo recuperar llega igualmente, con el motivo. Concilias contra la lista de entrada en vez de descubrir un hueco silencioso tres semanas después.

Decimos lo que no hemos medido

Las dos ejecuciones que hay detrás de esta página enviaron una URL de marcador que devolvió un 404, así que no tenemos ningún dato de producto de Otto. La lista de columnas de abajo es real: es la cabecera de esas exportaciones. Los valores no se describen, porque no hemos visto ninguno.

Lo que recibes

Diecisiete columnas, por producto.

Leídas de la cabecera de una exportación real de este servicio, en el orden de la hoja. Las dos ejecuciones que tenemos no devolvieron datos bajo esa cabecera -mira la nota debajo de la tabla-, así que cada entrada dice para qué sirve la columna y ahí se detiene.

query
La URL de Otto que enviaste, repetida en cada fila para que una exportación con muchos productos siga siendo separable. Consérvala: es el único registro de a qué entrada responde el resto de la fila.
sku_code
El código de artículo tal como lo imprime el catálogo. Emparejado con sku más abajo: revisa los dos antes de elegir una clave de cruce, porque en esta familia de esquemas se rellenan de forma independiente y se han observado tanto idénticos como distintos.
product_url
La página de producto canónica. Distinta de url, que indica la dirección desde la que se produjo realmente la fila; las dos difieren en cuanto un enlace enviado redirige.
name
El título del producto tal como lo indica la página. Espera alemán, porque esta es una tienda alemana: planifica la colación y la codificación de esa columna en consecuencia.
description
El texto de la descripción. Espera un campo de texto libre largo y no una etiqueta corta, y dale una columna ancha o un tipo texto en tu base de datos.
parsed_price
El precio como número puro, sin símbolo ni separador de miles: el que usar para aritmética, ordenación y umbrales.
price
El precio tal como se muestra. Úsalo cuando necesites enseñar a un cliente exactamente lo que decía la página; usa parsed_price cuando necesites calcular. En una tienda alemana la forma mostrada no es la que tu hoja de cálculo interpreta por defecto.
currency
La moneda en la que se cotiza el precio. Léela en vez de suponerla: así es como acaba sumándose una cifra en euros a una en dólares.
availability
El estado de stock tal como se publica en la página. Trátalo como la afirmación del catálogo en el momento del scraping, no como un feed de inventario en vivo.
rating
La valoración media, cuando la página publica una. No todos los productos llevan una, así que escribe el importador para que acepte una celda vacía en vez de fallar.
reviews
El número de reseñas, con la misma advertencia que rating. Donde ambos están presentes van juntos; una nota sin el recuento detrás no basta para ordenar.
images
Todas las imágenes que lleva la página, en un solo campo. Sepáralo antes de guardar si necesitas una fila por recurso, y comprueba primero cuál es realmente el separador, porque en esta familia de esquemas eso ya ha dado problemas.
brand
El fabricante o la marca. Este es el campo por el que agrupar para trabajo de surtido: qué marcas lista un minorista y con qué profundidad cada línea.
sku
La referencia de artículo. La otra mitad de la pareja de identificadores con sku_code.
url
La dirección desde la que se produjo la fila. Compárala con query para detectar redirecciones y con product_url para detectar canonicalización.
image
La imagen principal por separado, para que el caso habitual -una miniatura por producto- no requiera partir cadenas.
status
Un indicador por fila escrito por nuestro exportador, no por Otto. Informa de si la fila se recuperó. Las dos ejecuciones que hay detrás de esta página llevan aquí http 404, porque la URL enviada era un marcador que no existe.

Diecisiete columnas por fila · CSV, JSON o Excel

Detrás de esta página hay dos ejecuciones, del 14 y el 15 de julio de 2026, cuyas cargas son idénticas byte a byte. Las dos enviaron https://www.example.com/product/123 -un marcador, no una dirección de Otto- y las dos devolvieron una sola fila con http 404 y las catorce columnas de datos vacías. Así que podemos contarte el esquema con seguridad y no podemos contarte nada de los valores de Otto, y esta página no finge lo contrario. Los diecisiete nombres aparecen en el mismo orden en nuestras exportaciones de BiggestBook, Vistaprint y Waxie, y las de Waxie están rellenas, que es como sabemos que el esquema está vivo y no es un esbozo. Deliberadamente no describimos las columnas de Otto usando los valores de aquellas páginas: son sitios profesionales cuyas columnas de dinero están vacías por razones particulares de cada uno, y Otto es un minorista de consumo. Tomar prestadas sus mediciones sería una suposición vestida de hecho.

Flujos de trabajo habituales

Para qué sirve un catálogo minorista.

Seguimiento de precios

Vigilar una gama, no un solo artículo

Envía las URLs de los productos que te importan de forma programada y guarda parsed_price, currency y la fecha de ejecución. El valor no está en ninguna cifra suelta sino en la serie: un minorista suele mover una gama entera de golpe, y una tabla lo enseña donde una pestaña del navegador no.

Precios · Monitorización
Análisis de surtido

Ver qué marcas lleva realmente un minorista

Agrupa una exportación por brand y cuenta. La profundidad por marca te dice dónde se ha comprometido un minorista y dónde solo está probando: la misma pregunta que se hace un comprador antes de añadir un proveedor, respondida desde el propio catálogo.

Compras de categoría · Surtido
Enriquecimiento de catálogo

Rellenar los campos que faltan en tus registros

Las bases de datos de producto suelen ser fuertes en identificadores y flojas en textos e imágenes. description, image e images cubren ese hueco contra un identificador que ya tienes, sin volver a fotografiar nada.

Ops de ecommerce · Catálogo
Estudio de entrada en mercado

Leer una tienda alemana desde fuera de Alemania

El catálogo de un minorista nacional es la fotografía más barata disponible de qué tiene un mercado y a qué nivel de precio. Guarda name, brand y parsed_price y tendrás la forma de una categoría sin encargar un estudio.

Estrategia · Investigación de mercado
Precios

Paga solo por lo que realmente usas.

Plan gratuito

Las primeras 500 filas son gratis

Por única vez, al registrarte. Sin tarjeta y sin nada que cancelar después.

Por única vez, al registrarte
Tarifa

después 0,002 $ por fila

Se factura por filas realmente devueltas. Una fila que vuelve con un status distinto de uno correcto no es una fila de datos de producto, y no se te cobra como tal.

Facturado por filas devueltas
Sin suscripción

Nada recurrente

Los créditos no caducan en un ciclo mensual. Lanza un barrido de catálogo en marzo y nada más hasta septiembre si el trabajo tiene esa forma.

Sin caducidad mensual
10 % de descuento en tu primera ejecución de pago.Usa el código LIVESCRAPER10 al pagar.
Registrarse
Combina bien con

Otros catálogos, las mismas diecisiete columnas.

La parte legal

¿Es legal hacer scraping de Otto?

Los hechos de producto en una página de acceso público son información competitiva corriente. Las advertencias que merece la pena señalar aquí van sobre la reutilización y sobre el hecho de que un sitio alemán es un sitio alemán.

Un precio, un nombre de producto, una marca y un estado de stock son hechos sobre bienes puestos a la venta. Leerlos de una página que se sirve a cualquier visitante es la misma actividad que un comprador hace a mano, a una velocidad útil. Nada en las diecisiete columnas describe a una persona: no hay nombre, ni correo, ni teléfono, ni cuenta, así que las cuestiones de protección de datos que marcan nuestros servicios sobre personas no se plantean aquí. Conviene decirlo explícitamente en un sitio alemán, porque el RGPD es lo primero por lo que se pregunta, y regula datos personales, que una fila de producto no es.

Dos advertencias merecen nombrarse. Primero, la reutilización: las descripciones y la fotografía de producto son obra protegida de alguien. Usarlas internamente para seguimiento de precios, análisis de surtido o conciliación con tus propios registros es práctica corriente; republicarlas como catálogo propio es otra pregunta con otra respuesta. Segundo, las preferencias declaradas del propio sitio. Otto publica un robots.txt y, para un rastreador general, lleva solo un puñado de exclusiones estrechas en vez de una general, así que las páginas de producto no están entre las rutas que pide evitar. Leemos ese archivo en vez de suponer, nos quedamos en páginas de acceso público y vamos a un ritmo considerado.

Nuestras condiciones son las mismas que en cualquier otro servicio de aquí. Solo páginas de acceso público, nada detrás de un inicio de sesión, sin rastreadores de terceros en la capa de datos, y las exportaciones se eliminan automáticamente a los 30 días. Tus primeras 500 filas son gratis y no necesitan tarjeta.

livescraper.app · qué condiciona una ejecución
Una URL de producto por fila
La página se renderiza, no solo se descarga
Solo acceso anónimo
Ningún valor de Otto medido: solo el esquema
Las exportaciones se eliminan a los 30 días
Podemos decirte la forma de la tabla con seguridad. Lo que Otto pone dentro, todavía no lo hemos visto.
Preguntas frecuentes

Lo que la gente pregunta antes de registrarse.

¿Qué columnas contiene la exportación?+
Diecisiete, en este orden: query, sku_code, product_url, name, description, parsed_price, price, currency, availability, rating, reviews, images, brand, sku, url, image y status. Una fila por URL de producto que envíes.
¿Hay datos de ejemplo de Otto en esta página?+
No, y no vamos a inventarlos. Las dos ejecuciones que hay detrás enviaron una URL de marcador que devolvió http 404, así que todas las columnas de datos volvieron vacías. Eso basta para establecer los diecisiete nombres de columna y nada más, por eso esta página describe para qué sirve cada columna y nunca cómo son sus valores.
¿Vendrán con datos las columnas de precio?+
No las hemos medido, así que no vamos a prometerlo. Lo que sí podemos decir es que las razones que dan nuestras otras páginas de catálogo para las columnas de precio vacías no aplican aquí: aquellos son sitios profesionales que cotizan por cuenta o por cantidad, y Otto es un minorista de consumo que publica precios para todos. Eso lo hace probable, no seguro, y preferimos marcar la diferencia a reclamar una medición que no tenemos.
¿Por qué Otto necesita más que una simple petición HTTP?+
Porque los listados se montan en el navegador. Una petición a https://www.otto.de con un cliente corriente devuelve una página funcional de unos 320 KB con unas setenta etiquetas de script y ningún enlace de producto en el marcado servido. El catálogo se pide y se renderiza después, así que un scraper basado solo en un analizador de HTML ve una página válida sin nada dentro.
¿Volverán los datos en alemán?+
Cuenta con ello: name y description son lo que imprime la tienda, y esta es una tienda alemana. Planifica la codificación y la colación de esas columnas en consecuencia, y recuerda que el price mostrado usará formato numérico alemán aunque parsed_price esté ahí precisamente para calcular.
¿Por qué hay dos columnas de precio y dos de identificador?+
Una de cada pareja es para leer y otra para calcular. price es el precio tal como se muestra y parsed_price la misma cifra como número puro; sku y sku_code se rellenan de forma independiente en esta familia de esquemas y se han observado tanto idénticos como distintos, así que revisa los dos antes de elegir clave de cruce. Lo mismo aplica a image e images, y a url y product_url.
¿Qué significa la columna status?+
La escribe nuestro exportador, no Otto, e informa de si la fila se recuperó. Una fila fallida llega igualmente con el motivo, así que puedes conciliar la exportación con tu lista de entrada en vez de descubrir un hueco silencioso después. Las dos ejecuciones que hay detrás de esta página leen ahí http 404.
¿Cuánto cuesta?+
Tus primeras 500 filas son gratis, por única vez y sin tarjeta. Después son 0,002 $ por fila, facturadas por filas realmente devueltas, sin suscripción y sin caducidad mensual de créditos.
¿En qué formatos puedo exportar?+
CSV, JSON o Excel. Las diecisiete columnas y su orden son los mismos en los tres.

Lee el catálogo como una tabla.

Diecisiete columnas por producto, de una tienda que se monta a sí misma en el navegador. Tus primeras 500 filas son gratis, después 0,002 $ cada una.

Se activa al instante · sin tarjeta

Hacer scraping de datos de producto de Otto

Otto es uno de los mayores minoristas generalistas de Alemania y vende ropa, muebles, electrónica y artículos del hogar al público a través de otto.de. Que sea una tienda de consumo y no un distribuidor profesional importa más de lo que parece, porque los otros catálogos que comparten este esquema -BiggestBook, Vistaprint, Waxie- son todos sitios profesionales, y cada uno tiene su propia razón para devolver columnas de precio vacías. Un minorista que vende a todo el mundo publica sus precios para todo el mundo. No hemos medido los de Otto, así que esta página no los promete, pero el razonamiento que aplica a aquellas páginas no se traslada a esta y preferimos decirlo a dejar que el parecido de familia insinúe algo que no hemos comprobado.

El obstáculo práctico es cómo está construido el sitio. Una petición a https://www.otto.de desde un cliente HTTP corriente devuelve una respuesta correcta de unos 320 KB con alrededor de setenta etiquetas de script y ningún enlace de producto en el marcado que sirve: los listados se montan en el cliente, después de que llegue esa cáscara. Cualquier cosa construida sobre una librería HTTP y un analizador de HTML leerá por tanto una página válida y no encontrará nada dentro, que es el motivo más común de que un scraper casero parezca funcionar y devuelva filas vacías. Este servicio carga la página como lo hace un navegador, así que los productos están presentes cuando se lee algo.

La exportación son diecisiete columnas por URL de producto: query, sku_code, product_url, name, description, parsed_price, price, currency, availability, rating, reviews, images, brand, sku, url, image y status. Cuatro de ellas son parejas -precio como se muestra frente a precio como número, dos campos de identificador, imagen principal frente a todas las imágenes, URL pedida frente a URL canónica- y saber qué mitad usar antes de escribir el importador es la diferencia entre una carga limpia y una reescritura. Que la pareja de identificadores merece revisarse no es teórico: en nuestra exportación de Waxie, que usa este mismo esquema, las dos columnas llevaban números genuinamente distintos, el número de artículo del distribuidor y el del fabricante. Espera texto en alemán en name y description, y formato numérico alemán en el price mostrado.

Somos deliberadamente claros sobre los límites de lo que podemos enseñar. Las dos ejecuciones que hay detrás de esta página, del 14 y el 15 de julio de 2026, enviaron una dirección de marcador en vez de una de Otto, y las dos volvieron con un 404 y todas las columnas de datos vacías. Eso establece el esquema -una cabecera es una cabecera real aunque no haya datos debajo- y no establece nada sobre los valores de Otto, así que no encontrarás precios, referencias ni valoraciones de ejemplo en ninguna parte de esta página. En el plano legal, una fila de producto no contiene datos personales, que es lo primero que suele plantear un sitio alemán; las descripciones y la fotografía son un asunto aparte de derechos de autor y reutilización. Otto publica un robots.txt y, para un rastreador general, lista solo un puñado de exclusiones estrechas en vez de una general, así que las páginas de producto no están entre las rutas que pide evitar. Solo páginas de acceso público, sin rastreadores de terceros en la capa de datos, y las exportaciones se eliminan automáticamente a los 30 días. Tus primeras 500 filas son gratis y no necesitan tarjeta.