SYSTEM all green source totalwine.com queue 14,892 pages p99 latency 218ms dataflirt.com · scraper/totalwine-com
RUN · 84 active pipelines · totalwine.com live

Total Wine data,
at warehouse scale.

We extract beverage listings, store-level pricing, inventory status, expert scores, and review data from Total Wine. Delivered as clean JSON, CSV, or Parquet to S3 or BigQuery on your cadence.

Products extracted
184K /day
Price updates
1.2M /24h
Store locations
264 /run
Active pipelines
84
Uptime
99.94%
Data Dictionary

Every field we extract from totalwine.com

Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.

Complete list of extractable fields for Product Listings objects from totalwine.com. All fields typed and schema-versioned.

skutitlebrandcategoryvarietalregionappellationvintageabvvolumeexpert_score
product_listings
● 200 OK
"sku": "123456750",
"title": "Caymus Cabernet Sauvignon",
"brand": "Caymus",
"varietal": "Cabernet Sauvignon",
"vintage": "2021",
"abv": 14.5,
"volume": "750ml"
# skutitlebrandcategoryvarietalregion
1
2
3

Complete list of extractable fields for Store Pricing objects from totalwine.com. All fields typed and schema-versioned.

skustore_idpricemix_6_pricelist_pricecurrencydiscount_pctpromotion_text
store_pricing
● 200 OK
"sku": "123456750",
"store_id": "801",
"price": 89.99,
"mix_6_price": 80.99,
"currency": "USD",
"discount_pct": 10
# skustore_idpricemix_6_pricelist_pricecurrency
1
2
3

Complete list of extractable fields for Inventory Data objects from totalwine.com. All fields typed and schema-versioned.

skustore_idin_stockstock_statusaislebinpickup_availabledelivery_available
inventory_data
● 200 OK
"sku": "123456750",
"store_id": "801",
"in_stock": true,
"stock_status": "In Stock",
"aisle": "04",
"bin": "Right"
# skustore_idin_stockstock_statusaislebin
1
2
3

Complete list of extractable fields for Expert Ratings objects from totalwine.com. All fields typed and schema-versioned.

skureview_idreviewer_typescorepublicationreview_textdatecustomer_rating
expert_ratings
● 200 OK
"sku": "123456750",
"reviewer_type": "Expert",
"score": 93,
"publication": "Wine Spectator",
"review_text": "Rich and fruit-forward with dark berry notes.",
"date": "2023-11-15"
# skureview_idreviewer_typescorepublicationreview_text
1
2
3

Complete list of extractable fields for Store Locations objects from totalwine.com. All fields typed and schema-versioned.

store_idnameaddresscitystatezipphonehourslatitudelongitude
store_locations
● 200 OK
"store_id": "801",
"name": "Total Wine Austin",
"address": "11066 Pecan Park Blvd",
"city": "Cedar Park",
"state": "TX",
"zip": "78613"
# store_idnameaddresscitystatezip
1
2
3

Capabilities

Everything you need from Total Wine, nothing you don't

Our Total Wine scraper handles every layer of the platform, extracting store-level pricing, inventory data, and expert reviews while bypassing age gates and bot protection systems.

Full Product Attributes

Extract varietal, region, appellation, ABV, vintage, and volume details accurately mapped to category hierarchies.

Geo-Targeted Pricing

Capture store-level pricing by injecting specific zip codes into the session context to reflect local retail rates.

Mix 6 & Bulk Discounts

Extract volume pricing tiers, Mix 6 discounts, and promotional text to understand true retail pricing strategies.

Inventory & Aisle Tracking

Monitor in-stock status, pickup availability, and physical store locations down to the specific aisle and bin.

Expert Score Extraction

Aggregate tasting notes and numerical scores from James Suckling, Wine Spectator, and other critical publications.

Age-Gate Bypass

Automated session management clears the 21+ verification prompts required to access product and pricing pages.

Customer Review Mining

Extract star ratings, review text, and verified purchase flags across all paginated customer review sections.

Category & Brand Mapping

Maintain structural hierarchy from top-level spirits down to specific bourbon classifications and brand portfolios.

Real-Time Stock Polling

Configure high-frequency checks for rare allocations and limited vintages across targeted store locations.

// engagement pipeline

From SKU list to warehouse record

Brief in. Clean data out.

Define Scope
d 0

Provide categories, specific SKUs, or target zip codes. We design the extraction schema together.

Pipeline Build
d 2–4

We configure Playwright crawlers, residential proxy rotation, session management, and age-gate bypass logic.

Validation & QA
d 4–6

Schema validation, store-price variance testing, and null-rate checks before full launch.

Delivery
ongoing

JSON, CSV, or Parquet pushed to your S3 bucket or BigQuery dataset on your agreed cadence.

Under the hood

How our Total Wine pipeline handles the hard parts

Total Wine protects its pricing and inventory data with heavy bot mitigation and complex geo-routing. Here is how we maintain reliable extraction.

pipeline-monitor · totalwine.com · live ● active
// fingerprinting
Identity rotation
TLS fingerprintrandomised
User-agentrotated
IP poolresidential
Challenges blocked0
// pagination
Page coverage
48,291 pages queued running
// observability
Pipeline health
99.9%
uptime
142ms
p99 lat
0.3%
null rate
2
alerts
Age-gate walls
Automated 21+ verification handling

Every new session requires passing an age verification prompt. Our crawlers manage cookie state and session headers to clear this gate automatically without triggering bot detection heuristics.

Store-specific rendering
Forcing specific zip code contexts

Total Wine pricing and inventory vary drastically by store. We inject target zip codes into the session state, bypassing default store assignments to extract accurate local pricing.

Bot protection
Evading strict WAF rules

The site uses advanced bot protection to block data center IPs. We utilize US-based residential proxies with realistic TLS fingerprints to blend in with legitimate consumer traffic.

Dynamic inventory loading
Playwright execution for SPA stock checks

Inventory status and aisle locations load dynamically via JavaScript. We run full Playwright browser sessions to ensure all asynchronous requests complete before extracting data.

Schema volatility
Resilient selectors for product grids

Total Wine frequently updates its frontend DOM structure. We deploy fallback chains using CSS, XPath, and JSON-LD extraction to maintain pipeline stability during layout changes.

Applications

Who uses Total Wine data and how

Teams across industries use totalwine.com data to build competitive products and smarter operations.

01
Competitor Price Monitoring

Local liquor retailers and national chains track store-specific pricing to optimise their own retail rates and promotions.

02
Brand Compliance & MAP

Distributors audit retail shelf prices to ensure compliance with Minimum Advertised Price agreements across different regions.

03
Inventory & Allocation Tracking

Collectors and secondary market participants monitor high-frequency stock updates to locate rare bourbons or limited vintages.

04
Market Research

Beverage analysts track category trends, popular varietals, and pricing shifts to identify consumer preferences and market gaps.

05
Assortment Planning

Retail strategists compare store-level SKU availability to optimise their own geographic distribution and inventory mix.

06
AI Training Data

Machine learning teams use expert tasting notes and customer reviews to train beverage recommendation engines and sentiment models.

Why DataFlirt

"Total Wine holds the most comprehensive retail alcohol dataset in North America, but store-specific pricing and inventory are locked behind complex geo-routing."

Extracting data from Total Wine requires bypassing aggressive bot protection, managing session state for 21+ age gates, and forcing store-specific contexts. DataFlirt handles the proxy rotation, JavaScript execution, and schema maintenance so you receive clean, analysis-ready beverage data.

Technical Spec

Total Wine scraper technical capabilities

Everything supported by our totalwine.com scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.

Age-gate bypass
Automated session management to clear 21+ verification prompts
Supported
Store-specific pricing via ZIP
Inject target zip codes to extract accurate local pricing
Supported
Mix 6 discount tracking
Capture volume pricing tiers and promotional discounts
Supported
Expert rating extraction
Aggregate scores and notes from critical publications
Supported
Aisle & bin location
Extract exact physical placement for in-stock items
Supported
Category pagination
Traverse deep category hierarchies to extract full catalogues
Supported
Residential proxy rotation
US-based ISP proxies to evade bot protection systems
Supported
Change detection
Only emit records with changed fields since the last run
Supported
Total Discovery loyalty points
Requires authenticated user sessions to view account points
Partial
User order history
Gated behind individual customer login credentials
Partial
Infrastructure

Infrastructure powering the Total Wine pipeline

Open-source tooling on proven cloud infra — no vendor lock-in, full observability.

ScrapyPlaywrightPython 3.12RedisPostgreSQLApache AirflowAWS LambdaS3CloudWatch2CaptchaCapSolverResidential ProxiesDockerKubernetesGrafanaPrometheus
Scrapy + Playwright Stack

Scrapy handles crawl orchestration and retry logic. Playwright executes JavaScript, manages cookie sessions, and handles dynamic inventory loading.

Geo-Targeted Proxy Infrastructure

We maintain pools of US-based residential proxies to bypass WAF rules and simulate legitimate local traffic for accurate store pricing.

Cloud-Native Orchestration

Pipelines run on AWS infrastructure managed by Airflow, ensuring reliable scheduling, dependency management, and SLA adherence.

Output & Delivery

Your data, your destination

Data delivered to where your team already works — no new tooling required.

JSON
Newline-delimited or nested objects versioned per run
CSV
Flat file with typed columns for immediate spreadsheet analysis
Parquet
Columnar format optimised for BigQuery and Snowflake
S3
Direct bucket delivery compatible with any data lake
Webhook
HTTP POST per record for real-time downstream processing
API
REST endpoints to query extracted catalogue data on demand
BigQuery
Streamed directly into your dataset with schema auto-detect
Snowflake
Stage and COPY INTO workflow for incremental updates
// faq

Common questions.

About totalwine.com scraping, legality, and pipeline operations.

Ask us directly →
Is scraping Total Wine legal?

Scraping publicly available pricing, inventory, and product data from Total Wine is generally permissible. DataFlirt extracts only public, non-authenticated information. We do not bypass login walls to extract personal data or order histories.

How do you handle store-specific pricing?

We manage session state by injecting target zip codes or store IDs during the crawl. This forces the platform to render pricing and inventory specific to that local market.

Can you bypass the 21+ age verification?

Yes. Our crawlers automatically handle the required cookie flags and session headers to clear the age gate without triggering bot detection.

Do you extract expert ratings like Wine Spectator?

Yes. We capture both the numerical scores and the associated tasting notes from publications like Wine Spectator, James Suckling, and Wine Enthusiast when available on the product page.

How fresh is the inventory data?

For targeted SKU lists, we can configure high-frequency polling to check inventory status multiple times per day. Full catalogue refreshes typically run on a daily or weekly schedule.

Can you track rare allocations?

Yes. By monitoring specific SKUs across a list of target stores, we can track when rare bourbons or limited vintages appear in stock and deliver alerts via webhook.

$ dataflirt scope --new-project --source=totalwine.com ready

Tell us what
to extract.
We do the rest.

20-minute scoping call. Pilot dataset within the week. Production within two. Whether you need a daily price check across 50 stores or a one-off catalogue export, we build and operate the pipeline. Tell us what you need.

hello@dataflirt.com · Bengaluru · IST · typical reply < 4h
Related Scrapers

More in food drink and kitchen

Services

Data Extraction for Every Industry

View All Services →