German retail catalog monitoring
Use Otto endpoints to turn german retail catalog monitoring into repeatable API requests with documented inputs and JSON responses.
Turn Otto.de — Germany's largest online retailer after Amazon — into structured JSON: keyword search, the top-level category tree, and full product detail including pricing and availability, all with one API key.
Search Otto.de's product catalog, browse its top-level categories, and get full public product detail as structured JSON.
Endpoint families
3
Documented params
6
Examples
3
Live catalog snapshot
Active endpoints
3
Methods
GET
Required params
5
Schema refs
3
{
"platform": "Otto",
"endpoint": "otto-search",
"method": "GET",
"path": "/otto/search",
"auth": "apiKey"
}Use cases
Search Otto.de's product catalog, browse its top-level categories, and get full public product detail as structured JSON.
Use Otto endpoints to turn german retail catalog monitoring into repeatable API requests with documented inputs and JSON responses.
Use Otto endpoints to turn cross-category price and assortment tracking into repeatable API requests with documented inputs and JSON responses.
Use Otto endpoints to turn search result research into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live Otto endpoint catalog — 3 endpoints, 6 documented request parameters, and 3 published response schemas — the same catalog Docs and Playground run against.
3 documented Otto endpoints, grouped into 3 request families — Categories, Product and Search.
6 request parameters are documented across those Otto endpoints, 5 of them required — the full input contract is public before you write any integration code.
3 of the 3 Otto endpoints ship a recorded example response, and 3 carry a documented response schema — you can code against the real JSON before the first request.
Otto endpoints document their error responses (400, 404, 429 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
3 hosted MCP tools back the Otto endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
/otto/categories
/otto/product
/otto/search
Endpoint catalog
/otto/searchSearches 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.
Sampled 14 Oct 2026: 115 items, 5 fields filled in every item, 2 not. price: 33.99 to 148.99, median 41.99; name: “Asics GEL-VENTURE 11 Trailrunningschuh mit profiliertem Gum…” and 93 other values.
MCP tool otto_search
/otto/categoriesLists the top-level categories shown in Otto.de's homepage navigation, each with its name and its canonical browse URL. The response also gives the `count` of categories and a `fetched_at` time. It takes no parameters.
Sampled 14 Oct 2026: 514 items, 0 fields filled in every item, 2 not. name: “Uhren” and 499 other values; url: otto.de.
MCP tool otto_categories
/otto/productReturns a product's public detail, images, selectable colors and sizes. This endpoint uses a browser renderer because Otto.de product pages require JavaScript rendering.
MCP tool otto_product
Related APIs
Marketplaces & Retail
Research new, used, and vintage instruments across Reverb listings, seller shops, and the Price Guide. Keep current asking prices separate from historical sales, and preserve model, finish, year, condition, and currency when comparing gear.
Marketplaces & Retail
Collect marketplace product signals from Amazon without building brittle storefront scrapers.
Marketplaces & Retail
Build resale, pricing, and marketplace workflows from structured eBay data.
How to scrape Otto
Crawlora's Otto endpoints return normalized public Otto.de storefront data as JSON with one API key — no Otto account required.
Call /otto/categories for Otto.de's top-level category directory — no parameters needed beyond the API key.
Send a required q keyword to /otto/search. The optional offset parameter pages through results in fixed 109-item increments (0, 109, 218, …) rather than a page number, matching Otto's own result-grid batching.
Pass a canonical Otto.de product URL — the kind /otto/search itself returns — to /otto/product for full detail. Otto.de sits behind a Kasada JS challenge, so this endpoint is served through Crawlora's browser-rendered fleet rather than a plain HTTP fetch.
FAQ
Call /otto/search with a keyword for results, /otto/categories for the top-level category tree, or /otto/product with a product URL for full detail — all return structured JSON with one API key.
The offset parameter advances in fixed 109-item increments (0 for the first page, 109 for the second, and so on) rather than a page number — pass Otto's own result-grid batch size back to move forward.
Otto.de's product pages sit behind a Kasada JavaScript challenge that blocks plain request-based and browser-impersonation transports, so this endpoint runs through Crawlora's CDP render fleet — the same tier as sites like Sephora.
No. All three endpoints read Otto's own public storefront and require only your Crawlora API key.