Otto.de Product Scraper - Prices, Ratings & Listings
Under maintenancePricing
from $2.00 / 1,000 results
Otto.de Product Scraper - Prices, Ratings & Listings
Under maintenanceScrape otto.de product listings in bulk: brand, title, price, UVP/list price, discount, star rating, reviews, availability, key specs, colours and image. Paste any Otto search or category URL or a keyword - it paginates deep for thousands of products per run. No login or API key.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Nicolas van Arkens
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Otto.de Product Scraper — bulk product data from Otto (otto.de)
Scrape product listings from Otto, one of Germany's largest online retailers, in bulk. Paste any Otto search or category URL (or just a keyword) and get one clean, structured row per product: brand, title, current price, UVP / list price, discount, star rating, review count, availability, key specs, colours, image and the product link. No login, no API key, no browser extension.
The actor reads Otto's own product tile-list data feed, so results are complete and
accurate — and it paginates deep automatically: a broad term like laptop exposes
~10,000 products, so a single run returns thousands of rows.
What you can do with it
- Price & competitor monitoring — track Otto prices, UVP (RRP) and discounts across a category over time.
- Catalog / market research — pull an entire category (brands, specs, ratings, price bands) for analysis.
- Lead lists for brands & sellers — see which products, brands and price points win on ratings and reviews.
- Feed building & dropshipping research — export product data (title, price, image, URL) for thousands of items at once.
- Deal / discount tracking — filter for
onSaleitems and the biggestdiscountPercent.
Input
Give the actor either full Otto listing URLs, or keywords, or both. Everything takes an ARRAY, so you can scrape many searches/categories in one run.
| Field | What it does |
|---|---|
Otto.de listing URLs (startUrls) | One or more otto.de listing pages — a search URL (https://www.otto.de/suche/laptop/) or a category browse page. Copy the URL from your browser after searching/browsing. |
Search keywords (searchKeywords) | Convenience: each keyword becomes an Otto search and is paginated deep. Use German product terms (e.g. kaffeemaschine, sneaker herren, gaming stuhl). |
Max results per start URL (maxResultsPerUrl) | Cap on products per URL/keyword. Default 5000. Set high to pull a whole category; lower to sample. |
Max pages per start URL (maxPagesPerUrl) | Safety cap on how many result windows (18 products each) to fetch per URL. The actor also stops at the listing's real end. |
Max results overall (maxResults) | Optional total cap across all URLs/keywords combined. |
Proxy configuration (proxyConfiguration) | Apify Proxy (Germany) is used only as a fallback if a request is blocked. Leave the default in place. |
Example input
{"startUrls": ["https://www.otto.de/suche/laptop/","https://www.otto.de/suche/kaffeemaschine/"],"searchKeywords": ["gaming stuhl", "sneaker herren"],"maxResultsPerUrl": 1000,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyCountry": "DE" }}
Output
One row per product. Example (trimmed):
{"productId": "C751291358","variationId": "1405001626","articleNumber": "C751291358PVX","brand": "Melitta","title": "Melitta Kaffeevollautomat Solo® 950-766, Pure Silver …","category": "Kaffeevollautomaten","price": 279.0,"priceFrom": true,"listPrice": 509.0,"comparativePrice": null,"currency": "EUR","onSale": true,"discountPercent": 45,"rating": 4.5,"reviewCount": 510,"availability": "lieferbar - in 1-2 Werktagen bei dir","availabilityState": "AVAILABLE","colorCount": 5,"colorNames": ["Pure Silver", "Pure Black", "…"],"topInfo": { "Pumpendruck": "15 bar", "Mahlwerk": "Stahl Kegelmahlwerk" },"isSponsored": false,"listPosition": 4,"imageUrl": "https://i.otto.de/i/otto/73a0a275-…?$responsive_ft2$","productUrl": "https://www.otto.de/p/melitta-kaffeevollautomat-solo-…/?variationId=1405001626","sourceUrl": "https://www.otto.de/suche/kaffeemaschine/","resultOffset": 0,"scrapedAt": "2026-07-26T12:00:00+00:00"}
Fields
| Field | Description |
|---|---|
productId / variationId / articleNumber | Otto product, variation and article identifiers. |
brand | Brand name. |
title | Full product name. |
category | Otto product category (e.g. Notebooks). |
price | Current price, in EUR (a number, e.g. 279.0). |
priceFrom | true when price is a "from" starting price (product has variants at different prices). |
listPrice | UVP / RRP (manufacturer's suggested price) when shown — otherwise null. |
comparativePrice | An additional reference/compare-at price when shown. |
currency | Always EUR (Otto is a German store). |
onSale | true when Otto flags the item as reduced. |
discountPercent | Discount vs UVP as a whole number (e.g. 45) when the item is reduced. |
rating | Average customer star rating (0–5) — null if the product has no reviews yet. |
reviewCount | Number of customer reviews — null if none yet. |
availability / availabilityState | Delivery text and state (e.g. AVAILABLE). |
colorCount / colorNames | Number of colour variants and their names. |
topInfo | Key spec highlights shown on the tile, as a label→value object. |
isSponsored | true for sponsored (ad) placements. |
listPosition | The product's rank position in the listing. |
imageUrl | Main product image URL. |
productUrl | Direct link to the product page (with the shown variation). |
sourceUrl | The listing URL this product came from. |
resultOffset | The paging offset the product was found at. |
scrapedAt | UTC timestamp of the scrape. |
Pricing
This actor is pay per result — you are charged once for each product row it returns. Blocked or empty responses are never charged.
How pagination works
Otto renders only the first ~18 products of a listing above the fold and lazy-loads the rest. This actor reads Otto's tile-list data feed directly and steps through it in windows of 18 fully-detailed products, so it reaches every product in the search/category — not just the first page. Sponsored placements that repeat across windows are de-duplicated by variation id, so every row is unique.
FAQ
Do I need an Otto account or API key? No. The actor reads public listing data.
Which language / currency? otto.de is the German store, so titles are in German and prices are always in EUR, regardless of proxy country.
Can I scrape a whole category? Yes — paste the category URL (or a broad keyword) and
raise maxResultsPerUrl. The actor paginates deep and stops at the listing's real end.
Why is rating / reviewCount sometimes empty? Those products simply have no customer
reviews yet on Otto. listPrice is empty when a product has no UVP/RRP to compare against.
Is scraping Otto allowed? The actor only collects publicly visible listing data. You are responsible for using the data in line with Otto's terms and applicable law.