dm Germany Products, Ingredients & Store Availability Scraper avatar

dm Germany Products, Ingredients & Store Availability Scraper

Pricing

from $0.40 / 1,000 results

Go to Apify Store
dm Germany Products, Ingredients & Store Availability Scraper

dm Germany Products, Ingredients & Store Availability Scraper

Search dm Germany products, extract ingredients and warnings, find stores, and compare online or pickup availability.

Pricing

from $0.40 / 1,000 results

Rating

0.0

(0)

Developer

Dmitriy Gyrbu

Dmitriy Gyrbu

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Search dm Germany products, extract rich product details such as ingredients and warnings, find real stores, and check online or pickup availability. Use it for catalog enrichment, assortment research, price monitoring, local availability checks, and beauty or pharmacy product research.

This is an unofficial scraper and is not affiliated with or endorsed by dm-drogerie markt.

Supported operations

  • search — keyword search with pagination, sorting, ratings, prices, images, and optional rich-detail enrichment.
  • category — category products using a dm category ID.
  • product — exact rich product details by DAN or dm.de product URL.
  • stores — nearby stores by coordinates or exact store details by real internal store IDs.
  • availability — online availability and store-specific pickup status by DAN.

The default input is intentionally small and returns non-empty shampoo results:

{
"operation": "search",
"query": "shampoo",
"maxItems": 20,
"includeDetails": false,
"proxyMode": "auto"
}

Rich product details

{
"operation": "product",
"dans": ["3058454", "3043247"],
"proxyMode": "auto"
}

Product records use stable retail fields such as id, barcode, name, brand, price, currency, breadcrumbs, source_url, image, and images. Exact detail responses can also include description, ingredients, usage_instructions, warnings, hazard_information, benefits, and product attributes. Empty fields are omitted.

Category products

{
"operation": "category",
"categoryId": "060502",
"maxItems": 25,
"sort": "editorial_relevance"
}

Category IDs are dm's internal public identifiers. A category URL alone is not accepted unless it contains an allCategories.id query parameter.

Nearby stores

{
"operation": "stores",
"latitude": 52.52,
"longitude": 13.405,
"maxStores": 10
}

Store rows contain the internal store_id, customer-facing store_number, structured address, coordinates, opening hours, services, and express-pickup support. Preserve store_id for availability requests.

Store pickup availability

{
"operation": "availability",
"dans": ["3043247"],
"storeIds": ["D20D"],
"availabilityMode": "both"
}

Online, pickup, and both modes are supported. Pickup results are source-reported status labels for the selected store; they do not represent a guaranteed shelf quantity. Global product prices are never presented as store-specific prices.

Filters and enrichment

Search and category stay lightweight by default. Use includeDetails only when ingredients, warnings, or other product-detail sections are required, because it performs one additional request per returned product.

Listing filters include exact brands, minimum or maximum price, minimum rating, and optional pharmacy exclusion. Sorting supports relevance, editorial relevance, ascending or descending price, newest, and rating.

Proxy modes and failures

Auto tries direct access first and rotates through supplied custom proxies on retryable blocks. Direct, custom, and German Apify proxy modes are also available. Requests retry HTTP 403, 429, and transient server failures, reject non-JSON responses, and verify product/store identity before publishing.

Invalid input or exhausted request retries fail the Actor run after writing a structured OUTPUT summary. A source failure is not reported as a successful empty scrape.

Respect dm.de's terms, robots policy, and applicable law. Keep result limits proportionate and avoid unnecessary detail enrichment.