---
title: "Search Otto.de products"
method: GET
path: "/otto/search"
tags: ["Otto"]
---

# Search Otto.de products

`GET /otto/search`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/otto/search`
- Auth: API key in header `x-api-key`

Searches Otto.de's public catalogue and returns the server-rendered product cards. offset advances by Otto's fixed 109-card page size; valid values are 0, 109, 218, and so on.

## Query parameters

- `q` string, required
- `offset` integer

## Headers

- `x-api-key` string, required

## Response `200`

OK

- OttoSearchResponseDoc
  - `code` integer
  - `data` OttoSearchResponse
    - `count` integer
    - `fetched_at` string
    - `offset` integer
    - `products` OttoProductSummary[]
      - `brand` string
      - `currency` string
      - `image` string
      - `name` string
      - `price` number
      - `product_id` string
      - `url` string
      - `variation_id` string
    - `query` string
    - `source_url` string
  - `msg` string

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `429`: Too Many Requests
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/afac9b012a27?raw)
