Compras · Otto

API de búsqueda de Otto

La API de búsqueda de Otto te da datos de Otto en tiempo real en el momento en que los pides, limpios y estructurados, listos para tu propia app, una hoja de cálculo o un asistente de IA. Sin scraping, nada que mantener.

100 solicitudes gratis al mes · sin tarjeta de crédito · una clave de API para todas las plataformas

Datos clave

Actualizado el

Una búsqueda en otto.de de "Highboard" devuelve varios miles de productos repartidos en más de doscientas páginas, mezclados con posiciones patrocinadas y con un ranking distinto según el comprador ordene por más vendidos, precio o novedades. La API de búsqueda de Otto de everydata.io te da esas páginas de resultados como JSON estructurado (una llamada por página, con el orden que elijas) para que puedas seguir rankings, descubrir anuncios nuevos o elaborar estadísticas de precios por categoría sin renderizar la tienda.

Plataforma
Otto
Endpoint principal
/otto-search-by-keyword
Cuota por llamada
2 solicitudes
Plan gratuito
100 solicitudes / mesdespués, desde 30 € / mes
Lo que obtienes

Qué devuelve la API de búsqueda de Otto

Cada respuesta empieza con los metadatos de la búsqueda: keyword y sortStrategy repiten tu solicitud, resultCount es el número total de resultados que indica otto.de, numberOfProducts cuántos artículos hay en esta página, y nextPage / lastPage guían tu bucle de paginación. Una búsqueda de Highboard, por ejemplo, devuelve 120 productos en la primera página de un total de 5166 repartidos en 56 páginas.

searchProductDetails es la lista de resultados. Cada entrada incluye productDescription (el título del anuncio), manufacturer, productId y el variationId que Otto eligió para el resultado, price y retailPrice en EUR, productRating y countReview, imgUrl, dpUrl (la ruta relativa del producto con ?variationId=), deliveryMessage como "lieferbar - in 2-3 Werktagen bei dir", un booleano sponsored y un array variations con los variationId hermanos y sus etiquetas, por ejemplo "Weiß | Korpus: Weiß".

  • keyword, sortStrategy, resultCount, numberOfProducts, nextPage y lastPage para una paginación determinista
  • Por producto: productDescription, manufacturer, productId, variationId, dpUrl e imgUrl
  • price y retailPrice como números: el descuento en la página de resultados está a una resta
  • productRating y countReview para filtrar artículos bien valorados
  • deliveryMessage y sponsored para separar los resultados orgánicos de las posiciones de pago
  • variations[] con variationId y value para cada color o talla que Otto muestra en el resultado
  • sortBy: topseller (por defecto), preis-aufsteigend, preis-absteigend, neuheiten, bewertung
Casos de uso

Lo que los equipos construyen con la API de búsqueda de Otto

Seguimiento de posiciones por palabra clave

Registra cada mañana la posición de tu productId para tus términos principales con sortBy=topseller, distingue posiciones patrocinadas de orgánicas y avisa cuando un competidor te supere.

Descubrimiento de anuncios nuevos

Consulta periódicamente un término de categoría con sortBy=neuheiten y compara los productId con los del día anterior para detectar en pocas horas artículos, marcas o variantes de color nuevos.

Análisis de franjas de precio

Recorre una búsqueda con preis-aufsteigend y preis-absteigend para encontrar las ofertas más baratas y más caras de un tipo de producto, y calcula el precio mediano y la profundidad del descuento a partir de price y retailPrice.

Auditorías de posiciones patrocinadas

Las agencias cuentan los resultados patrocinados por página y palabra clave para medir cuánto inventario de pago vende Otto para un término y qué marcas lo compran.

Punto de partida para rastreos de productos

Usa la búsqueda como punto de entrada para recopilar los dpUrl de toda una categoría y pásalos después al endpoint de producto para obtener especificaciones, imágenes y la matriz completa de variantes.

Cómo funciona

API de búsqueda de Otto: solicitud y respuesta de ejemplo

Llama a GET /ott/otto-search-by-keyword con keyword y page; ambos son obligatorios. Añade sortBy para reproducir el orden elegido por un comprador: los valores son las claves de ordenación propias de Otto, en alemán. La página uno con el orden topseller por defecto corresponde a lo que ve un visitante tras escribir el término en el buscador de otto.de.

GET /ott/otto-search-by-keyword

curl "https://api.everydata.io/ott/otto-search-by-keyword?keyword=highboard&page=1&sortBy=topseller" \
  -H "x-api-key: YOUR_API_KEY"

Respuesta (abreviada)

200 OK · application/json
{
  "responseStatus": "PRODUCT_FOUND_RESPONSE",
  "responseMessage": "Product successfully found!",
  "sortStrategy": "topseller",
  "domainCode": "de",
  "keyword": "highboard",
  "numberOfProducts": 120,
  "resultCount": 5166,
  "nextPage": 2,
  "lastPage": 56,
  "searchProductDetails": [
    {
      "productDescription": "LeGer Home by Lena Gercke Highboard Essentials, Sideboard, Kommode, Anrichte, Schrank, Stauraumschrank, Breite: 111 cm, UV lackiert, Push-to-open-Funktion",
      "manufacturer": "LeGer Home by Lena Gercke",
      "productId": "1658198337",
      "variationId": "2081559634",
      "countReview": 1,
      "imgUrl": "https://i.otto.de/i/otto/5ce00b97-95ba-5927-9915-35aaa2278456?$responsive_ft2$",
      "price": 869.99,
      "retailPrice": 1109.99,
      "productRating": "1.0",
      "dpUrl": "/p/leger-home-by-lena-gercke-highboard-essentials-sideboard-kommode-anrichte-schrank-stauraumschrank-breite-111-cm-uv-lackiert-push-to-open-funktion-1658198337/?variationId=2081559634",
      "deliveryMessage": "lieferbar - in 2-3 Werktagen bei dir",
      "sponsored": true,
      "variations": [
        {
          "variationId": "2081559598",
          "value": "Weiß | Korpus: Weiß"
        },
        {
          "variationId": "2081559615",
          "value": "Kaschmir | Korpus: Kaschmir"
        }
      ]
    }
  ]
}
API de búsqueda de Otto: campos de la respuesta de ejemplo de /ott/otto-search-by-keyword
API de búsqueda de Otto: campos de la respuesta de ejemplo de /ott/otto-search-by-keyword

dpUrl es relativo: antepón https://www.otto.de para obtener una URL que puedes pasar directamente a GET /ott/otto-lookup-product. El variationId de la query string es el artículo que Otto mostró en el resultado; cámbialo por uno de los IDs de variations[] para abrir otro color. La paginación profunda funciona, pero un resultCount de varios miles rara vez necesita todas las páginas: para trabajos de ranking, las tres primeras páginas cubren lo que los compradores realmente recorren.

Los resultados no incluyen shippingPrice ni una cantidad en stock; eso está en la página del producto. Usa el endpoint de búsqueda como capa de descubrimiento y el de producto como capa de detalle, y guarda en caché las páginas de búsqueda con withCache cuando rastrees el mismo término varias veces al día.

sortStrategy en la respuesta confirma qué orden aplicó realmente otto.de. Si pasas un valor de sortBy desconocido, Otto vuelve a su orden por defecto y el campo te lo indica.

Endpoints relacionados

GET/ott/otto-search-by-keyword

Buscar productos. Búsqueda por palabra clave con paginación: título, precio, valoración e imagen de cada producto.

GET/ott/otto-lookup-product

Detalles del producto. Página de producto por URL. No disponible temporalmente (protección antibots de otto.de): devuelve 502 y no se cobra.

GET/ott/otto-lookup-reviews

Reseñas. Reseñas paginadas de un producto.

Referencia completa de la API
Precios

Precios de la API de búsqueda de Otto: paga por solicitud

Cada página de búsqueda es una solicitud, sea cual sea su tamaño: los resultados de Otto van de 24 a 120 productos por página según el término. Seguir 50 palabras clave en sus tres primeras páginas cada día requiere unas 4500 solicitudes al mes, que caben en el plan Starter (30 €). withCache permite que las consultas repetidas del mismo término compartan una sola consulta al sitio de origen.

Free
100 solicitudes / mes
Starter
5000 solicitudes · 30 €
Production
50.000 solicitudes · 80 €
Business
300.000 solicitudes · 300 €

API de búsqueda de Otto: preguntas frecuentes

¿Qué valores de sortBy se admiten?

topseller (por defecto), preis-aufsteigend, preis-absteigend, neuheiten y bewertung: las mismas claves que usa otto.de en su menú de ordenación. El orden aplicado se repite en sortStrategy.

¿Cuántos resultados contiene una página?

numberOfProducts lo indica en cada respuesta; otto.de suele mostrar entre 24 y 120 resultados según la categoría y el diseño del dispositivo. Usa nextPage y lastPage para iterar en lugar de suponer un tamaño de página fijo.

¿Puedo filtrar por marca, color o rango de precio?

El endpoint solo acepta keyword, page y sortBy. Incluye la marca en la palabra clave ("Vladon Highboard") para una búsqueda limitada a esa marca y filtra por precio o fabricante en el cliente a partir de los campos devueltos.

¿Se incluyen los productos patrocinados?

Sí, aparecen en la lista exactamente donde los muestra otto.de y llevan sponsored: true. Exclúyelos si quieres el ranking orgánico.

¿La búsqueda devuelve stock o gastos de envío?

Devuelve deliveryMessage en cada resultado, que indica disponibilidad y plazo de entrega, pero no shippingPrice ni cantidades. Para eso, llama al endpoint de producto con dpUrl.

Lanza tu primera búsqueda en otto.de

Crea una cuenta gratuita y obtén una página de resultados de búsqueda en JSON en menos de un minuto, sin automatizar navegadores ni usar proxies.