Otto Product Scraper avatar

Otto Product Scraper

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Otto Product Scraper

Otto Product Scraper

Otto Product Scraper collects Otto.de product listings, including price, discount, brand, rating, stock, and image, so e-commerce teams can track prices and build product feeds without copying anything by hand.

Pricing

from $2.99 / 1,000 results

Rating

0.0

(0)

Developer

Kawsar

Kawsar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Otto Product Scraper: Extract Product Data from Otto.de

Otto Product Scraper collects product listings from Otto.de and returns them as clean, structured records. Type a keyword like "t-shirt", or paste an Otto listing URL you have already filtered, and it pulls every product on the results with title, brand, price, discount, rating, stock, color, and image. It is for anyone who needs Otto.de product data without copying and pasting by hand.

Otto.de is one of the largest online retailers in Germany, with millions of products across fashion, furniture, electronics, and home goods. This Otto scraper turns any search or category into a spreadsheet you can sort, filter, and track over time.

What this Otto.de scraper does

  • Searches Otto.de by keyword and reads every product on the results
  • Scrapes any Otto.de search or category URL you paste in
  • Returns full pricing, including the current price, the original price, and the discount percent
  • Includes customer ratings, review counts, stock status, and color variants
  • Pages through results automatically until it reaches your per-query limit
  • Exports to CSV, JSON, Excel, or Google Sheets, and runs on a schedule

Use cases

  • Price monitoring: track prices and discounts on Otto.de and react when a competitor changes theirs
  • Stock tracking: watch availability on specific products or whole categories over time
  • Product feed building: turn Otto listings into a structured feed for your own catalog or marketplace research
  • Competitor analysis: compare brands, pricing, and ratings across a category in the German market
  • Reselling and arbitrage: find discounted products with strong ratings and healthy stock
  • Deal and coupon sites: surface the biggest markdowns by sorting on the discount percent field
  • SEO and content work: gather product details and images for comparison pages and buyer guides
  • Market research: measure how many products a brand has on Otto and where they sit on price

How to use the Otto Product Scraper

  1. Add your scrape.do token as a secret environment variable named SCRAPE_DO_TOKEN in the actor settings (see Setup below).
  2. Enter one or more search keywords in searchQueries, or paste Otto listing URLs into startUrls. You can use both at once.
  3. Set maxItems to how many products you want per query or per URL.
  4. Run the actor. Watch the log to see products come in page by page.
  5. Export the dataset as CSV, JSON, Excel, or Google Sheets, or pull it from the Apify API.

How data is collected

The actor reads the product data that Otto.de embeds in its search and category pages, then pages through the results to gather every product. Each product comes back with full pricing and rating data, not just the handful shown before you scroll. Requests are routed through a bypass service so pages load the same way a normal browser sees them.

Input

ParameterTypeDefaultDescription
searchQueriesarray(empty)Keywords to search on Otto.de, one per line. Each becomes an Otto search such as https://www.otto.de/suche/t-shirt/
startUrlsarray(empty)Direct Otto.de search or category URLs, one per line
maxItemsinteger100Maximum products to collect for each search query and each start URL. The limit is per listing, not a global total
requestTimeoutSecsinteger60How long to wait for a single request before giving up

Provide at least one search query or one start URL. You can combine both in a single run. Because maxItems is per listing, a run with two queries and a limit of 100 can return up to 200 products.

Example input

{
"searchQueries": ["t-shirt", "sneaker"],
"startUrls": ["https://www.otto.de/mode/herrenmode/shirts/"],
"maxItems": 200
}

This run collects up to 200 products for "t-shirt", up to 200 for "sneaker", and up to 200 from the men's shirts category, each tagged with where it came from.

What data does this actor extract?

The actor stores results in a dataset. Each product record looks like this:

{
"productId": "S056Y0P8",
"variationId": "S056Y0P80J0I",
"productTitle": "TOM TAILOR T-Shirt Herren Printshirt Regular Fit (Vorteilspack, 4-tlg)",
"brand": "TOM TAILOR",
"productUrl": "https://www.otto.de/p/tom-tailor-t-shirt-...-S056Y0P8/?variationId=S056Y0P80J0I",
"imageUrl": "https://i.otto.de/i/otto/1c191365-c97a-5223-b7a6-1e425dec656f",
"price": 49.99,
"originalPrice": 69.99,
"discountPercent": 29,
"currency": "EUR",
"onSale": true,
"isStartingPrice": false,
"availability": "AVAILABLE",
"availabilityText": "lieferbar - in 2-3 Werktagen bei dir",
"ratingValue": 4.5,
"reviewCount": 35,
"colorName": "Woodland Green (10373)",
"colorCount": 8,
"popular": true,
"searchQuery": "t-shirt",
"sourceUrl": "https://www.otto.de/suche/t-shirt/",
"scrapedAt": "2026-07-05T09:00:48Z"
}
FieldTypeDescription
productIdstringProduct identifier shared across variants
variationIdstringIdentifier of the listed variant
productTitlestringFull product title
brandstringBrand name
productUrlstringLink to the product detail page
imageUrlstringMain product image
pricenumberCurrent selling price
originalPricenumberRecommended retail price before discount
discountPercentnumberDiscount off the original price, in percent
currencystringCurrency code, EUR for Otto.de
onSalebooleanWhether the product is marked on sale
isStartingPricebooleanWhether the price is a "from" price across variants
availabilitystringStock state such as AVAILABLE
availabilityTextstringDelivery note shown on the listing
ratingValuenumberAverage customer rating out of 5
reviewCountintegerNumber of customer reviews
colorNamestringColor of the listed variant
colorCountintegerNumber of color variants
popularbooleanWhether Otto flags the product as popular
searchQuerystringQuery that produced the result
sourceUrlstringListing page the product came from
scrapedAtstringUTC timestamp of the scrape

Tips for better results

  • To scrape a filtered or sorted set, apply the filters on Otto.de first, then copy the URL from your browser into startUrls. The actor keeps your sort order and filters.
  • Category pages work the same as search pages. Paste any Otto category URL into startUrls.
  • Keep maxItems modest while testing, then raise it once the output looks right. Each page adds about 18 products.
  • Sort the dataset by discountPercent to find the deepest markdowns, or by ratingValue to find the best-reviewed products.

FAQ

Does it get the price for every product, or only the first few? Every product on the pages it fetches comes back with full price and rating data, including the products that normally load only as you scroll.

Is maxItems a total for the whole run? No. It is a per-listing limit. Each search query and each start URL collects up to maxItems products on its own, so more queries means more products.

Can I scrape a category instead of a search? Yes. Paste the category URL into startUrls. The actor handles Otto search pages and category pages the same way.

Can I scrape filtered or sorted results? Yes. Filter or sort on Otto.de, then copy the resulting URL into startUrls. The actor follows that exact listing.

How many products can it collect per query? Up to the maxItems value you set, from 1 to 1000. The actor pages through results until it hits that number or runs out of products.

In what formats can I export the data? Any Apify dataset format works, including CSV, JSON, Excel, and Google Sheets, plus the API.

Is the data in German? Yes. Otto.de is a German store, so titles, colors, and delivery notes come back in German with prices in EUR.

Can I run this on a schedule? Yes. Use Apify Schedules to run it every hour, day, or week and keep your price and stock data current.

Integrations

Connect Otto Product Scraper with other apps and services using Apify integrations. You can integrate with Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and many more. You can also use webhooks to trigger actions whenever a run finishes and fresh Otto.de product data is ready.

Start scraping Otto.de product data now to keep prices, stock, and ratings in front of you without the manual work.