Compras · Otto

API de busca Otto

API de busca Otto: dados ao vivo de Otto no momento em que você pede, limpos e estruturados – prontos para seu próprio app, uma planilha ou um assistente de IA. Sem scraping, nada para manter.

100 requisições grátis por mês · sem cartão de crédito · uma chave de API para todas as plataformas

Fatos principais

Atualizado em

Uma busca por palavra-chave no otto.de por “Highboard” retorna vários milhares de produtos distribuídos em mais de duzentas páginas, misturados a posições patrocinadas e com um ranking diferente conforme o comprador ordena por mais vendidos, preço ou novidades. A API de busca Otto da everydata.io entrega essas páginas de resultados em JSON estruturado – uma chamada por página, com a ordenação que você escolher –, para que você monitore rankings, descubra novos anúncios ou monte estatísticas de preços por categoria sem renderizar a loja.

Plataforma
Otto
Endpoint principal
/otto-search-by-keyword
Cota por chamada
2 requisições
Plano gratuito
100 req. / mêsdepois, a partir de € 30 / mês
O que você recebe

API de busca Otto: o que ela retorna

Toda resposta começa com os metadados da busca: keyword e sortStrategy repetem a sua requisição, resultCount é o total de resultados informado pelo otto.de, numberOfProducts é quantos itens há nesta página, e nextPage / lastPage conduzem o seu loop de paginação. Uma busca por Highboard, por exemplo, retorna 120 produtos na primeira página, de um total de 5.166 distribuídos em 56 páginas.

searchProductDetails é a lista de resultados. Cada entrada traz productDescription (o título do anúncio), manufacturer, productId e o variationId que a Otto escolheu para o card, price e retailPrice em EUR, productRating e countReview, imgUrl, dpUrl (o caminho relativo do produto, incluindo ?variationId=), deliveryMessage como “lieferbar - in 2-3 Werktagen bei dir”, um booleano sponsored e um array variations com os variationIds das variações irmãs e seus rótulos, por exemplo “Weiß | Korpus: Weiß”.

  • keyword, sortStrategy, resultCount, numberOfProducts, nextPage e lastPage para uma paginação determinística
  • Por produto: productDescription, manufacturer, productId, variationId, dpUrl e imgUrl
  • price e retailPrice como números, então os descontos da página de resultados estão a uma subtração de distância
  • productRating e countReview para filtrar itens bem avaliados
  • deliveryMessage e sponsored para separar resultados orgânicos de posições pagas
  • variations[] com variationId e value para cada cor ou tamanho que a Otto mostra no card
  • sortBy: topseller (padrão), preis-aufsteigend, preis-absteigend, neuheiten, bewertung
Casos de uso

API de busca Otto: o que equipes criam com ela

Monitoramento de ranking por palavra-chave

Registre toda manhã a posição do seu productId nos seus principais termos com sortBy=topseller, diferencie posições patrocinadas das orgânicas e receba um alerta quando um concorrente passar à sua frente.

Descoberta de novos anúncios

Consulte periodicamente um termo de categoria com sortBy=neuheiten e compare os productIds com o conjunto de ontem para identificar, em poucas horas, novos artigos, novas marcas ou novas variações de cor.

Análise de faixas de preço

Percorra uma busca com preis-aufsteigend e preis-absteigend para encontrar as ofertas mais baratas e mais caras de um tipo de produto e depois calcule o preço mediano e a profundidade dos descontos a partir de price e retailPrice.

Auditoria de posições patrocinadas

Agências contam os cards patrocinados por página e palavra-chave para medir quanto inventário pago a Otto vende para um termo e quais marcas o compram.

Alimentação de crawls de produtos

Use a busca como ponto de entrada para coletar os dpUrls de uma categoria inteira e depois passe-os ao endpoint de produto para obter especificações, imagens e a matriz completa de variações.

Como funciona

API de busca Otto: requisição e resposta de exemplo

Chame GET /ott/otto-search-by-keyword com keyword e page; ambos são obrigatórios. Adicione sortBy para reproduzir a ordenação de um comprador – os valores são as próprias chaves de ordenação da Otto, em alemão. A primeira página com a ordenação padrão topseller corresponde ao que um visitante vê depois de digitar o termo na caixa de busca do 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"

Resposta (resumida)

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 busca Otto: campos da resposta de exemplo de /ott/otto-search-by-keyword
API de busca Otto: campos da resposta de exemplo de /ott/otto-search-by-keyword

dpUrl é relativo – prefixe-o com https://www.otto.de para obter uma URL que você pode passar direto para GET /ott/otto-lookup-product. O variationId na query string é o item que a Otto exibiu no card; troque-o por um dos ids de variations[] para abrir outra cor. A paginação profunda funciona, mas um resultCount de vários milhares raramente exige todas as páginas: para trabalho de ranking, as três primeiras páginas cobrem o que os compradores realmente percorrem.

Os cards de resultado não trazem shippingPrice nem quantidade em estoque; esses dados ficam na página de produto. Trate o endpoint de busca como a camada de descoberta e o endpoint de produto como a camada de detalhes, e coloque páginas de busca em cache com withCache quando você rastrear o mesmo termo várias vezes por dia.

sortStrategy na resposta confirma qual ordenação o otto.de de fato aplicou. Se você passar um valor de sortBy desconhecido, a Otto volta para o padrão e o campo informa isso.

Endpoints relacionados

GET/ott/otto-search-by-keyword

Buscar produtos. Busca por palavra-chave com paginação: título, preço, nota e imagem por produto.

GET/ott/otto-lookup-product

Detalhes do produto. Página de produto por URL. Temporariamente indisponível (proteção contra bots do otto.de), retorna 502 e não é cobrada.

GET/ott/otto-lookup-reviews

Avaliações. Avaliações paginadas de um produto.

Referência completa da API
Preços

API de busca Otto: preços – pague por requisição

Cada página de busca é uma requisição, qualquer que seja o tamanho – os cards da Otto variam de 24 a 120 produtos por página, dependendo do termo. Monitorar 50 palavras-chave nas três primeiras páginas todos os dias exige cerca de 4.500 requisições por mês, o que cabe no plano Starter (€ 30). withCache permite que consultas repetidas do mesmo termo compartilhem uma única busca no site de origem.

Free
100 req. / mês
Starter
5.000 req. · € 30
Production
50.000 req. · € 80
Business
300.000 req. · € 300

API de busca Otto: perguntas frequentes

Quais valores de sortBy são suportados?

topseller (padrão), preis-aufsteigend, preis-absteigend, neuheiten e bewertung – as mesmas chaves que o otto.de usa no menu de ordenação. A ordenação aplicada é repetida em sortStrategy.

Quantos resultados uma página contém?

numberOfProducts informa isso em cada resposta; o otto.de normalmente exibe entre 24 e 120 cards, dependendo da categoria e do layout do dispositivo. Use nextPage e lastPage para iterar em vez de presumir um tamanho de página fixo.

Posso filtrar por marca, cor ou faixa de preço?

O endpoint aceita apenas keyword, page e sortBy. Coloque a marca na keyword (“Vladon Highboard”) para uma busca restrita à marca e filtre preço ou fabricante no lado do cliente a partir dos campos retornados.

Os produtos patrocinados estão incluídos?

Sim, eles aparecem na lista exatamente onde o otto.de os exibe e trazem sponsored: true. Filtre-os se quiser o ranking orgânico.

A busca retorna estoque ou custo de frete?

Ela retorna deliveryMessage por card, que indica disponibilidade e prazo de entrega, mas não shippingPrice nem quantidades. Para isso, chame o endpoint de produto com o dpUrl.

Faça sua primeira busca no otto.de

Crie uma conta gratuita e obtenha uma página de resultados de busca em JSON em menos de um minuto – sem automação de navegador, sem proxies.