ATU Scraper — German Car Parts & Prices avatar

ATU Scraper — German Car Parts & Prices

Pricing

from $1.20 / 1,000 result scrapeds

Go to Apify Store
ATU Scraper — German Car Parts & Prices

ATU Scraper — German Car Parts & Prices

Scrape car parts, prices, brands, stock status and delivery info from atu.de, Germany's largest car-parts and service retailer. Search any keyword and export clean structured automotive-parts data.

Pricing

from $1.20 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Studio Amba

Studio Amba

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Categories

Share

ATU Scraper — German Car Parts, Prices & Stock

Scrape car parts from atu.de, Germany's largest car-parts and service retailer: product names, brands, prices, part numbers, stock status, discounts, and delivery info by keyword search.

What is ATU Scraper?

A.T.U (Auto-Teile-Unger) runs both a nationwide chain of car workshops and a large online parts catalogue covering engine oil, filters, spark plugs, wipers, tyres, batteries, and accessories. This actor takes any search keyword and returns the full listing-page data set for every matching product: current price (VAT included), the original pre-discount price and discount label when the item is on offer, brand, ATU's internal article number, stock status, delivery timing, and the product image.

  • Price monitoring — Track ATU pricing and discount depth across oil, filter, wiper, and spark-plug categories
  • Catalog enrichment — Pull brand, SKU, and image data to enrich a parts database or comparison listing
  • Competitive benchmarking — Compare ATU against kfzteile24, Mister Auto, or Autodoc pricing for the same or equivalent parts
  • Assortment analysis — See which brands (Liqui Moly, Castrol, Bosch, ...) ATU stocks per category
  • Deal tracking — The original-price/discount fields make it easy to find current markdowns

What data does ATU Scraper extract?

  • Product name — The product title as listed (e.g. "Liqui Moly Nr. 1 Motorenöl 5W-30, 5 L")
  • Brand — Parts manufacturer (Liqui Moly, Castrol, Bosch, ...)
  • Price — Current selling price, VAT included (EUR)
  • Original price — Pre-discount ("statt") price, when the item is on offer
  • Discount — Discount label vs. the original price (e.g. "20% gespart")
  • Price per unit — Unit price label as shown on the listing (e.g. "(8,00 €/l)")
  • SKU / Product ID — ATU's internal article number ("Art Nr.", e.g. "LM3871")
  • Stock status — Whether the product is currently available to order (nullable — never guessed as false)
  • Delivery info — Delivery timing text as shown on the listing (e.g. "Lieferung in 2-4 Werktagen")
  • Image — Main product image URL
  • Category — The listing-page heading the product was found under
  • URL — The canonical atu.de product page

How to scrape ATU data

  1. Enter a search keyword in searchQuery — any German car-part term works: "Ölfilter" (oil filter), "Zündkerze" (spark plug), "Scheibenwischer" (wiper blades), "Motoröl" (engine oil).
  2. Set maxResults. The actor pages through the listing (24 products per page) until it reaches that count or runs out of matching products.
  3. Provide a Bright Data API key (see "Anti-bot" below).
  4. Run the actor. Results stream into the dataset and can be exported as JSON, CSV, Excel, or via the API.

Input

FieldTypeDescription
searchQueryStringCar-part search term (default: Ölfilter)
maxResultsIntegerMaximum number of products to return (default: 100)
brightDataApiKeyString (secret)Bright Data Web Unlocker API key — see Anti-bot section
proxyConfigurationObjectApify proxy settings (kept for compatibility — see Anti-bot section)

Example input

{
"searchQuery": "Zündkerze",
"maxResults": 100
}

Output fields

FieldTypeExample
nameString"Zündkerze 4FR78 x , 1 Stück"
brandString"Bosch"
priceNumber8.99
currencyString"EUR"
originalPriceNumber | null49.99
pricePerUnitString"pro Stück"
discountString"20% gespart"
skuString"BO0910"
productIdString"BO0910"
inStockBoolean | nulltrue
deliveryInfoString"Lieferung in 2-4 Werktagen"
imageUrlStringimage URL
categoryString"Zündkerze"
urlStringproduct page URL
scrapedAtStringISO timestamp

Example output

{
"name": "Zündkerze 4FR78 x , 1 Stück",
"brand": "Bosch",
"price": 8.99,
"currency": "EUR",
"pricePerUnit": "pro Stück",
"sku": "BO0910",
"productId": "BO0910",
"inStock": true,
"deliveryInfo": "Lieferung in 2-4 Werktagen",
"imageUrl": "https://www.atu.de/extern/gfx/artikel/BO0_/BO0910_M.jpg",
"category": "Zündkerze",
"url": "https://www.atu.de/produkt/zuendkerze-4fr78-x-1-stueck-bo0910",
"scrapedAt": "2026-08-27T09:20:03.270Z"
}

Anti-bot: why a Bright Data key is required

atu.de sits behind a real DataDome wall — a plain request to the homepage returns HTTP 403 with x-datadome: protected, and Apify's own datacenter/residential proxies get the same challenge. This actor routes every page fetch through Bright Data's Web Unlocker zone (web_unlocker1), which solves the challenge server-side and returns the real page. You need a Bright Data account and a Web Unlocker API key (get one at brightdata.com) — provide it via the brightDataApiKey input field or the BRIGHT_DATA_API_KEY environment variable. The proxyConfiguration input is kept for compatibility with the standard Apify actor shape but has no effect on scraping — Bright Data handles the anti-bot layer, not Apify's proxy.

How many results per run?

The listing page returns exactly 24 products per page, and each page is a single Bright Data request. A 100-product run needs about 5 requests; a 1,000-product run needs about 42. There is no per-product detail-page fetch — every field above comes straight off the listing page, so run time and cost scale with page count, not product count.

Cost estimate

This actor charges Apify's standard platform fee (based on run duration/memory) plus Bright Data Web Unlocker usage (~$0.0015 per request). Because one request returns 24 results, Bright Data's cost is a small fraction of the per-result price — a 100-result run makes 5 Bright Data requests ($0.0075), and a 1,000-result run makes 42 ($0.063). Your run's usage cost only settles once the run reports SUCCEEDED — reading the dataset mid-run understates what you'll actually be charged.

A note on search terms

Not every keyword routes to the parts catalogue. A few brake- and battery-related terms ("Bremsbeläge", "Bremsscheiben", "Batterie") redirect to ATU's vehicle-selector workshop-service booking flow instead — ATU sells these as an installed service, not just a part, and the site's own search prioritizes that flow for those specific terms. If a search returns 0 results, try a more specific part name (e.g. "Bremsscheibe hinten" instead of "Bremsbeläge") or a different category term like "Ölfilter", "Zündkerze", "Scheibenwischer", or "Motoröl" — all confirmed working during build.

Limitations

  • Germany only. atu.de has no other country storefronts.
  • No ratings. ATU's customer-rating widget is rendered client-side by a third-party JS widget and is not present in the server-rendered HTML this actor reads.
  • Brake/battery search terms can redirect to a service page. See "A note on search terms" above.
  • 24 products per page. This is a fixed server-side page size — the actor compensates by paginating automatically.
  • kfzteile24 Scraper — Car parts, prices, and stock from Germany's other major independent parts retailer
  • Mister Auto Scraper — Car parts and prices from the pan-European Mister Auto storefront
  • Oscaro Scraper — Car parts from the French Oscaro storefront

FAQ

Do I need an ATU account or cookies? No. Everything comes from public listing pages, fetched through Bright Data Web Unlocker.

Do I need my own Bright Data account? Yes — atu.de's DataDome protection requires a Bright Data Web Unlocker API key. See the Anti-bot section above.

Can I search by part number instead of keyword? Yes — ATU's search resolves manufacturer and internal part numbers the same way it resolves keywords; put the part number in searchQuery.

Why do some categories return fewer results than requested? maxResults is capped by how many matching products the site actually has for that search term — the actor stops once it runs out, it never fabricates data.

Is scraping atu.de legal? This actor extracts publicly available listing-page data (prices, part numbers, stock status). You are responsible for how you use the data; check the terms that apply to your use case.