We extract bottle catalogues, pricing signals, tasting profiles, and community ratings from Whisky.de. Delivered as clean JSON, CSV, or Parquet to S3, BigQuery, or Snowflake on your cadence.
Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.
Complete list of extractable fields for Bottle Metadata objects from whisky.de. All fields typed and schema-versioned.
"bottle_id": "W-LAGAV16", "name": "Lagavulin 16 Jahre", "distillery": "Lagavulin", "region": "Islay", "age": 16, "abv": 43.0, "cask_type": "Ex-Bourbon & Sherry", "chill_filtered": true
| # | bottle_id | name | distillery | region | country | age |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Pricing & Stock objects from whisky.de. All fields typed and schema-versioned.
"bottle_id": "W-LAGAV16", "current_price": 79.9, "currency": "EUR", "base_price_per_liter": 114.14, "in_stock": true, "delivery_time": "1-3 days", "club_price_eligible": true, "scraped_at": "2026-05-12T09:14:00Z"
| # | bottle_id | current_price | currency | base_price_per_liter | in_stock | stock_status_text |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Tasting Notes objects from whisky.de. All fields typed and schema-versioned.
"bottle_id": "W-LAGAV16", "aroma_text": "Intense peat smoke with iodine and seaweed.", "taste_text": "Rich, deep sweetness with heavy peat and maritime notes.", "finish_text": "Long, elegant, peat-filled finish.", "flavour_tags": "['Smoke', 'Peat', 'Sherry', 'Maritime']", "video_tasting_url": "https://www.youtube.com/watch?v=..."
| # | bottle_id | aroma_text | taste_text | finish_text | manufacturer_notes | community_notes |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Community Ratings objects from whisky.de. All fields typed and schema-versioned.
"bottle_id": "W-LAGAV16", "average_rating": 4.8, "rating_count": 1245, "rating_distribution": "{"5": 980, "4": 210, "3": 40, "2": 10, "1": 5}", "review_date": "2026-04-18", "verified_purchase": true
| # | bottle_id | average_rating | rating_count | rating_distribution | top_positive_review | top_critical_review |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Forum Discussions objects from whisky.de. All fields typed and schema-versioned.
"thread_id": "T-89214", "forum_category": "Neuheiten", "thread_title": "Ardbeg Committee Release 2026", "author_username": "PeatLover88", "post_date": "2026-05-11T14:22:00Z", "reply_count": 42, "view_count": 1589
| # | thread_id | forum_category | thread_title | author_username | post_date | post_content |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Our Whisky.de scraper handles every layer of the platform: bottle catalogues, dynamic pricing, tasting notes, and the community forum. Built with JavaScript rendering and session management.
Distillery, age, ABV, cask types, and chill filtration status scraped at the bottle level with exact metadata mapping.
Monitor EUR pricing, club member discounts, and base price per litre. Timestamped per crawl.
Separate aroma, taste, and finish descriptions from manufacturer and community sources.
Track in-stock status and estimated delivery windows for limited allocations.
Extract radar chart equivalents and categorical flavour tags for every listed bottle.
Extract threads, replies, and user sentiments from the active Whisky.de forum.
Extract links and metadata for embedded Horst Lüning tasting videos.
Compile average star ratings, review counts, and individual user reviews.
Continuous pipelines at daily cadences emitting only changed records.
Brief in. Clean data out.
Provide target distilleries, regions, or forum boards. We design the extraction schema together.
We configure Scrapy crawlers, proxy rotation, and session management for whisky.de.
Schema validation, null-rate checks, and price-outlier detection before full launch.
JSON / CSV / Parquet pushed to your S3 bucket or BigQuery dataset on agreed cadence.
Extracting reliable data from niche retailers requires specific technical approaches. Here is how we maintain data integrity.
We use German residential proxies to bypass regional blocking and rate limits, ensuring uninterrupted access to pricing and stock data.
We normalise German terminology like Fassstärke to standard data types, ensuring your downstream analytics receive clean, structured data.
We use Playwright execution to capture lazy-loaded inventory statuses and club pricing that headless HTTP clients miss entirely.
For large catalogues, we maintain a hash index of last-seen values per field. Subsequent runs only push diffs, maintaining a clean changelog for pricing and stock.
Every run emits structured logs to our observability stack. We alert on null-rate spikes and schema drift, fixing issues before you notice.
Retailers track Whisky.de pricing to adjust their own margins and promotional strategies.
Identify rising interest in specific cask finishes or distilleries via forum activity and review velocity.
Monitor stock depletion rates on limited releases to estimate allocation sizes across the market.
Use tasting notes and flavour tags to train ML-based whisky recommendation models.
Correlate retail availability and forum hype with secondary market auction prices.
Distilleries monitor forum discussions and reviews to gauge reception of new bottlings.
"Whisky.de holds the most comprehensive German language database of whisky specifications, tasting notes, and community sentiment. Extracting it requires dedicated infrastructure."
Most teams underestimate the investment required. Reliable scraping requires German residential proxies, full JavaScript rendering for dynamic pricing, and daily selector maintenance. DataFlirt absorbs that complexity so your engineers can focus on the analysis, not the infrastructure.
Everything supported by our whisky.de scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.
Open-source tooling on proven cloud infra — no vendor lock-in, full observability.
Scrapy handles crawl orchestration and deduplication. Playwright handles JavaScript rendering for dynamic pricing widgets.
We maintain pools of German residential ISP proxies. Rotation happens per-request to bypass regional rate limiting.
Pipelines run on AWS Lambda and ECS. Airflow handles scheduling, dependency management, and SLA alerting.
Data delivered to where your team already works — no new tooling required.
About whisky.de scraping, legality, and pipeline operations.
Ask us directly →Scraping publicly available information is generally permissible. DataFlirt targets only public, non-authenticated product, pricing, and review data. We do not extract personal data or circumvent authentication walls.
We use German residential proxies to ensure our requests originate from local IPs, preventing regional rate limits and blocks.
We extract raw German text to preserve accuracy. Translation pipelines can be added as a post-processing step if required.
Pipelines can run at sub-60-minute intervals for specific bottle URLs, triggering webhooks immediately upon state changes.
Yes, we extract public boards, thread contents, and user metadata to capture community sentiment.
Our selectors use multi-layer fallback chains. We monitor for schema drift and fix breakages within our SLA.
20-minute scoping call. Pilot dataset within the week. Production within two. Whether you need a one-off catalogue dump or continuous stock monitoring across thousands of bottles, we scope, build, and operate the pipeline. Tell us what you need.