20 % de desconto em todos os planos pagos com o código

Compras · Otto

API de dados de produtos Otto

API de dados de produtos 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

Aviso de status: no momento, o otto.de bloqueia o acesso automatizado às páginas de produto, então /ott/otto-lookup-product responde 502 (sem cobrança) até que isso seja resolvido; os endpoints de busca e de avaliações da Otto funcionam normalmente. O otto.de é a segunda maior loja online da Alemanha, e suas páginas de produto giram em torno de variações: um tênis de corrida existe em doze tamanhos e quatro cores, um sofá em três tecidos e dois lados de assento, e cada combinação tem seu próprio variationId, preço e prazo de entrega. A API de dados de produtos Otto da everydata.io busca uma página de produto pela URL – incluindo o fragmento #variationId – e retorna a variação selecionada junto com todas as outras em um único documento JSON, para que você nunca precise reconstruir a matriz a partir de uma sessão de navegador.

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

Dados de Otto, prontos para usar

O nível superior espelha a página de produto em alemão. productTitle e manufacturer trazem o nome e a marca, productDescription o texto de marketing, features a lista de destaques e productDetails a tabela de especificações chave/valor com rótulos em alemão, como Größe, Farbe ou Material. imageUrlList contém as URLs de imagens do i.otto.de e mainImage a imagem principal.

Os preços vêm como números em EUR: price é o que o cliente paga pela variação selecionada, retailPrice o preço de referência riscado (110 para um tênis vendido no momento por 69,99), priceSaving o selo de desconto como a Otto o exibe (“-36%”) e shippingPrice o acréscimo de frete, relevante para móveis e eletrodomésticos grandes. warehouseAvailability traz a frase de estoque da Otto, por exemplo “lieferbar - in 2-3 Werktagen bei dir”.

variations agrupa cada dimensão (tamanho, cor) com seus valores, e cada valor informa seu próprio asin/variationId, price, retailPrice, available e a flag selected. É exatamente o que você precisa para saber que o tamanho 36 está esgotado enquanto o 39 está em estoque por outro preço.

  • productTitle, manufacturer, productDescription, features e a tabela de especificações productDetails
  • price, retailPrice, priceSaving e shippingPrice como campos numéricos em EUR, mais a frase warehouseAvailability
  • productId e variationId do item selecionado, espelhando a URL que você enviou
  • Matriz completa de variações com preço, disponibilidade e flag selected por valor
  • imageUrlList e mainImage do i.otto.de, prontos para a sua própria CDN ou cards de produto
  • productRating e countReview como o resumo exibido no topo da página
  • Busca em tempo real a cada chamada – nenhum cache compartilhado entre você e o otto.de
Casos de uso

O que equipes criam com isso

Enriquecimento de catálogo para a região DACH

Preencha títulos em alemão, destaques, tabelas de especificações e imagens no seu PIM a partir da URL da Otto. Como os rótulos vêm exatamente como a Otto os exibe, lojas em alemão podem reutilizá-los sem tradução.

Monitoramento de sortimento e disponibilidade

Marcas e agências consultam novamente seus anúncios no otto.de para ver quais tamanhos ou cores estão marcados como available: false, como a matriz de variações muda ao longo da temporada e se as imagens foram trocadas.

Análise da concorrência por variação

Compare o array de preços por valor do sofá ou colchão de um concorrente entre tecidos e tamanhos – a Otto frequentemente precifica de forma diferente as variações de um mesmo produto.

Conteúdo comparativo e de afiliados

Exiba cards de produto ao vivo com nota, número de avaliações, selo de desconto e linha de entrega, com deep link para o variationId exato em que seu leitor clicou.

Como funciona

Requisição e resposta de exemplo

Copie a URL do navegador. A Otto codifica o produto como /p/<slug>-C<productId>/ e acrescenta #variationId=<id> quando você escolhe um tamanho ou cor; mantenha esse fragmento se quiser a variação exata, ou remova-o para receber a seleção padrão da Otto. O endpoint é GET /ott/otto-lookup-product com um único parâmetro url.

GET /ott/otto-lookup-product

curl "https://api.everydata.io/ott/otto-lookup-product?url=https%3A%2F%2Fwww.otto.de%2Fp%2Freebok-astroride-trail-gt-x-2-0-laufschuh-damen-laufschuh-C887844716%2F%23variationId%3D887846268" \
  -H "x-api-key: YOUR_API_KEY"

Resposta (resumida)

200 OK · application/json
{
  "responseStatus": "PRODUCT_FOUND_RESPONSE",
  "responseMessage": "Product successfully found!",
  "productTitle": "Reebok Astroride Trail GT-X 2.0 Laufschuh Damen Laufschuh",
  "manufacturer": "Reebok",
  "productId": "887844716",
  "variationId": "887846268",
  "countReview": 345,
  "productRating": "4.5",
  "warehouseAvailability": "lieferbar - in 2-3 Werktagen bei dir",
  "retailPrice": 110,
  "price": 69.99,
  "shippingPrice": 0,
  "priceSaving": "-36%",
  "features": [
    "Atmungsaktive, wasserdichte Konstruktion",
    "Unifarbenes Design"
  ],
  "productDetails": [
    {
      "name": "Größe",
      "value": "6 US - 36 EU - 3.5 UK"
    },
    {
      "name": "Farbe",
      "value": "schwarz"
    }
  ],
  "variations": [
    {
      "variationName": "size",
      "values": [
        {
          "value": "5 US - 35 EU - 2.5 UK",
          "asin": "S097Q0IYYLE2",
          "selected": false,
          "available": false,
          "price": 69.97,
          "retailPrice": 0
        }
      ]
    },
    {
      "variationName": "color",
      "values": [
        {
          "value": "schwarz",
          "asin": "887846268",
          "selected": true,
          "available": true,
          "price": 69.99,
          "retailPrice": 0
        }
      ]
    }
  ]
}

O campo asin nas respostas da Otto é simplesmente o productId repetido – a Otto não tem o conceito de ASIN; o nome é mantido para que o payload tenha o mesmo formato dos nossos outros endpoints de varejo. Use o productId quando for chamar depois GET /ott/otto-lookup-reviews, que pagina as avaliações de clientes com page e um sortBy opcional (mostHelpful, mostPositive, mostNegative, newest).

soldBy e sellerId são null na maioria dos itens porque a própria Otto os vende; eles vêm preenchidos para a parcela crescente de parceiros de marketplace no otto.de. deliveryMessage é null na página de detalhes e preenchido nos resultados de busca, então aqui leia a frase de estoque em warehouseAvailability.

Um 404 com corpo statusMessage significa que o otto.de não exibiu nenhum produto para aquela URL – normalmente um artigo descontinuado ou um erro de digitação no número C. Bloqueios e timeouts no site de origem retornam 502/503 e não são descontados da sua cota.

Endpoints relacionados

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.

GET/ott/otto-search-by-keyword

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

Referência completa da API
Preços

Pague por requisição, todas as plataformas incluídas

Uma página de produto é uma requisição e conta 2 unidades de cota, porque as páginas de produto da Otto muitas vezes exigem um navegador, independentemente de quantas variações contenham. As 100 unidades por mês do plano gratuito (50 páginas de produto) bastam para mapear algumas famílias de produtos; o Starter (5.000 unidades, € 30) atualiza cerca de 80 anúncios da Otto por dia, o Production (50.000, € 80) cerca de 800. Páginas de busca contam 1 unidade. Requisições que falham do lado do otto.de nunca são cobradas.

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

API de dados de produtos Otto: perguntas frequentes

Preciso incluir o fragmento #variationId?

Não. Sem ele, a Otto exibe a variação padrão e o variationId da resposta informa qual foi. Inclua-o quando precisar de um tamanho ou cor específico, ou leia o array variations e siga o asin do valor desejado.

Quais países o endpoint da Otto cobre?

Apenas o otto.de. A loja entrega dentro da Alemanha, os preços são em EUR com IVA incluído e todos os campos de texto estão em alemão. Não há parâmetro domainCode neste endpoint.

Posso consultar um produto por EAN ou número de artigo?

Não diretamente. Passe o EAN ou o número do fabricante por GET /ott/otto-search-by-keyword; o otto.de normalmente lista o produto correspondente em primeiro lugar, e o dpUrl do resultado fornece a URL para o endpoint de produto.

Por que o retailPrice às vezes é 0?

Um retailPrice de 0 significa que a Otto não exibe preço de referência riscado para aquela variação – o item é vendido pelo preço normal. Trate 0 como “sem preço de referência”, não como gratuito.

As avaliações de clientes estão incluídas na resposta do produto?

O endpoint de produto retorna os agregados productRating e countReview. As avaliações individuais com texto, nota, data e a variação do avaliador vêm de /ott/otto-lookup-reviews, paginadas com page e ordenadas com sortBy.

Busque seu primeiro produto do otto.de

Cadastre-se gratuitamente, cole uma URL do otto.de com o variationId e receba toda a família de produtos em JSON – 100 unidades de cota por mês incluídas.