Vivino Product Search Scraper
Pricing
from $2.00 / 1,000 results
Vivino Product Search Scraper
Extract wine product details from Vivino.com search results. Collect over 18 data fields per wine including ratings, prices, vintage, region, grapes, tasting notes, and winery info — perfect for wine retailers, researchers, and data analysts.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Stealth mode
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Vivino Product Search Scraper: Scrape Wine Data & Prices Fast
What Is Vivino.com?
Vivino.com is the world's largest wine community and marketplace, featuring millions of wine products with user ratings, pricing data across markets, and detailed tasting profiles. Wine professionals, retailers, and enthusiasts rely on Vivino for discovery, comparison, and purchasing decisions. However, extracting structured product data from search results — prices, ratings, vintage information, and regional details — requires significant manual effort. The Vivino Product Search Scraper automates this entirely, turning search results into clean, analyzable datasets.
Overview
The Vivino Product Search Scraper extracts detailed wine product information from Vivino search result pages, organizing data into structured records with 18+ fields. It serves:
- Wine retailers tracking competitor pricing and catalog updates
- Data analysts building wine market intelligence datasets
- Researchers studying wine trends, pricing patterns, and regional production
- E-commerce platforms aggregating wine product feeds
- Sommeliers & enthusiasts building personal wine databases
This scraper handles search result pagination seamlessly, configurable item limits, and robust error handling to ensure reliable large-scale collection.
Input Format
The scraper accepts a JSON configuration specifying which search result pages to scrape:
{"urls": ["https://www.vivino.com/en/explore?e=eJzLLbI11rNQy83MszU0MDBQy02ssDUDMZIrbbMK1JJtvQIi1QpsjdXS02zLEosyU0sSc9Tyi1JsU1KLk9Xykyptk1KLS-ILMpOziwF5GxkI"],"ignore_url_failures": true,"max_items_per_url": 200}
| Parameter | Type | Purpose |
|---|---|---|
urls | Array | Direct links to Vivino search result pages (explore pages with filters applied) |
max_items_per_url | Integer | Maximum wines to collect per URL (e.g., 200 for full-page collection) |
ignore_url_failures | Boolean | If true, skips problematic URLs and continues the run; if false, stops on errors |
Tip: Use filtered Vivino.com/en/explore URLs to target specific regions, vintages, or price ranges — the scraper preserves all filters.
Output Format
Example Output Record:
{"id": 1340906,"seo_name": "salentein-primus-malbec-primum-2003","name": "Salentein Primus Malbec (Primum) 2003","statistics": {"status": "Normal","ratings_count": 192,"ratings_average": 4.3,"labels_count": 360,"is_wine_rating": false,"wine_ratings_count": 14117,"wine_ratings_average": 4.4,"wine_status": ""},"image": {"location": "//images.vivino.com/thumbs/KyB8bahIRmW0SjBNHCE0Rg_pl_480x640.png","variations": {"bottle_large": "//images.vivino.com/thumbs/KyB8bahIRmW0SjBNHCE0Rg_pb_x960.png","bottle_medium": "//images.vivino.com/thumbs/KyB8bahIRmW0SjBNHCE0Rg_pb_x600.png","bottle_medium_square": "//images.vivino.com/thumbs/KyB8bahIRmW0SjBNHCE0Rg_pb_600x600.png","bottle_small": "//images.vivino.com/thumbs/KyB8bahIRmW0SjBNHCE0Rg_pb_x300.png","bottle_small_square": "//images.vivino.com/thumbs/KyB8bahIRmW0SjBNHCE0Rg_pb_300x300.png","label": "//images.vivino.com/thumbs/KyB8bahIRmW0SjBNHCE0Rg_pl_480x640.png","label_large": "//images.vivino.com/thumbs/KyB8bahIRmW0SjBNHCE0Rg_pl_375x500.png","label_medium": "//images.vivino.com/thumbs/KyB8bahIRmW0SjBNHCE0Rg_pl_150x200.png","label_medium_square": "//images.vivino.com/thumbs/KyB8bahIRmW0SjBNHCE0Rg_pl_150x150.png","label_small_square": "//images.vivino.com/thumbs/KyB8bahIRmW0SjBNHCE0Rg_pl_80x80.png","large": "//images.vivino.com/thumbs/KyB8bahIRmW0SjBNHCE0Rg_pl_375x500.png","medium": "//images.vivino.com/thumbs/KyB8bahIRmW0SjBNHCE0Rg_pl_150x200.png","medium_square": "//images.vivino.com/thumbs/KyB8bahIRmW0SjBNHCE0Rg_pl_150x150.png","small_square": "//images.vivino.com/thumbs/KyB8bahIRmW0SjBNHCE0Rg_pl_80x80.png"}},"wine": null,"year": 2003,"grapes": null,"has_valid_ratings": true,"type_id": 1,"vintage_type": 0,"is_natural": false,"region": {"id": 1609,"name": "Tunuyán","name_en": "","seo_name": "tunuyan","country": {"code": "ar","name": "Argentina","native_name": "Argentina","seo_name": "argentina","currency": {"code": "ARS","name": "Argentinean Peso","prefix": "$","suffix": null},"regions_count": 47,"users_count": 744430,"wines_count": 41440,"wineries_count": 5678,"most_used_grapes": [{"id": 9,"name": "Malbec","seo_name": "malbec","has_detailed_info": true,"wines_count": 219735,"parent_grape_id": null,"color": 5},{"id": 2,"name": "Cabernet Sauvignon","seo_name": "cabernet-sauvignon","has_detailed_info": true,"wines_count": 801751,"parent_grape_id": null,"color": 5},{"id": 5,"name": "Chardonnay","seo_name": "chardonnay","has_detailed_info": true,"wines_count": 604208,"parent_grape_id": null,"color": 1}]},"class": "VivinoAPI::Region","background_image": null},"winery": {"id": 3754,"name": "Salentein","seo_name": "salentein","status": 0,"background_image": null},"taste": {"structure": {"acidity": 2.73,"fizziness": null,"intensity": 3.98,"sweetness": 2.21,"tannin": 2.83,"user_structure_count": 1945,"calculated_structure_count": 264},"flavor": [{"group": "oak","stats": {"count": 210,"score": 32157},"primary_keywords": [{"id": 292,"name": "oak","count": 119},{"id": 434,"name": "vanilla","count": 96},{"id": 422,"name": "tobacco","count": 59},{"id": 101,"name": "chocolate","count": 29},{"id": 112,"name": "clove","count": 15},{"id": 117,"name": "coffee","count": 8},{"id": 79,"name": "caramel","count": 5},{"id": 83,"name": "cedar","count": 5},{"id": 134,"name": "dark chocolate","count": 5},{"id": 21,"name": "baking spice","count": 2},{"id": 275,"name": "milk chocolate","count": 2},{"id": 20,"name": "baking chocolate","count": 1},{"id": 70,"name": "butter","count": 1},{"id": 74,"name": "camphor","count": 1},{"id": 103,"name": "cigar","count": 1},{"id": 104,"name": "cigar box","count": 1},{"id": 158,"name": "espresso","count": 1},{"id": 280,"name": "mocha","count": 1},{"id": 424,"name": "toffee","count": 1}],"secondary_keywords": [{"id": 242,"name": "leather","count": 38},{"id": 105,"name": "cinnamon","count": 18},{"id": 384,"name": "smoke","count": 15},{"id": 113,"name": "cocoa","count": 4},{"id": 6,"name": "almond","count": 1}]},{"group": "black_fruit","stats": {"count": 182,"score": 28770},"primary_keywords": [{"id": 334,"name": "plum","count": 87},{"id": 49,"name": "blackberry","count": 86},{"id": 39,"name": "black fruit","count": 25},{"id": 52,"name": "blackcurrant","count": 23},{"id": 470,"name": "cassis","count": 16},{"id": 55,"name": "blueberry","count": 15},{"id": 135,"name": "dark fruit","count": 15},{"id": 38,"name": "black cherry","count": 12},{"id": 229,"name": "jam","count": 3},{"id": 43,"name": "black plum","count": 2},{"id": 57,"name": "bramble","count": 2},{"id": 41,"name": "black olive","count": 1},{"id": 50,"name": "blackberry jam","count": 1},{"id": 56,"name": "boysenberry","count": 1},{"id": 283,"name": "mulberry","count": 1}],"secondary_keywords": [{"id": 341,"name": "prune","count": 2}]},{"group": "non_oak","stats": {"count": 163,"score": 3395},"primary_keywords": [{"id": 417,"name": "toast","count": 4},{"id": 98,"name": "chestnut","count": 2},{"id": 6,"name": "almond","count": 1},{"id": 35,"name": "biscuit","count": 1},{"id": 145,"name": "dried fig","count": 1},{"id": 438,"name": "walnut","count": 1}],"secondary_keywords": [{"id": 434,"name": "vanilla","count": 96},{"id": 422,"name": "tobacco","count": 59},{"id": 105,"name": "cinnamon","count": 18},{"id": 112,"name": "clove","count": 15},{"id": 384,"name": "smoke","count": 15},{"id": 117,"name": "coffee","count": 8},{"id": 163,"name": "fig","count": 6},{"id": 79,"name": "caramel","count": 5},{"id": 83,"name": "cedar","count": 5},{"id": 158,"name": "espresso","count": 1},{"id": 280,"name": "mocha","count": 1}]},{"group": "spices","stats": {"count": 145,"score": 9289},"primary_keywords": [{"id": 320,"name": "pepper","count": 46},{"id": 105,"name": "cinnamon","count": 18},{"id": 249,"name": "licorice","count": 14},{"id": 277,"name": "mint","count": 5},{"id": 273,"name": "menthol","count": 2},{"id": 7,"name": "anise","count": 1},{"id": 8,"name": "aniseed","count": 1},{"id": 121,"name": "cracked pepper","count": 1},{"id": 200,"name": "green herbs","count": 1},{"id": 233,"name": "juniper berry","count": 1},{"id": 286,"name": "musk","count": 1},{"id": 381,"name": "savory","count": 1},{"id": 416,"name": "thyme","count": 1},{"id": 449,"name": "white pepper","count": 1}],"secondary_keywords": [{"id": 434,"name": "vanilla","count": 96},{"id": 112,"name": "clove","count": 15}]},{"group": "earth","stats": {"count": 113,"score": 9562},"primary_keywords": [{"id": 242,"name": "leather","count": 38},{"id": 156,"name": "earthy","count": 15},{"id": 384,"name": "smoke","count": 15},{"id": 192,"name": "graphite","count": 5},{"id": 113,"name": "cocoa","count": 4},{"id": 284,"name": "mushroom","count": 4},{"id": 276,"name": "minerals","count": 3},{"id": 165,"name": "forest floor","count": 2},{"id": 178,"name": "game","count": 2},{"id": 85,"name": "chalk","count": 1},{"id": 218,"name": "honey","count": 1},{"id": 377,"name": "salt","count": 1}],"secondary_keywords": [{"id": 422,"name": "tobacco","count": 59},{"id": 134,"name": "dark chocolate","count": 5},{"id": 6,"name": "almond","count": 1},{"id": 280,"name": "mocha","count": 1},{"id": 381,"name": "savory","count": 1}]},{"group": "red_fruit","stats": {"count": 72,"score": 7104},"primary_keywords": [{"id": 93,"name": "cherry","count": 35},{"id": 348,"name": "raspberry","count": 10},{"id": 354,"name": "red fruit","count": 10},{"id": 122,"name": "cranberry","count": 6},{"id": 352,"name": "red cherry","count": 5},{"id": 400,"name": "strawberry","count": 3}],"secondary_keywords": [{"id": 38,"name": "black cherry","count": 12},{"id": 229,"name": "jam","count": 3}]},{"group": "microbio","stats": {"count": 21,"score": 1425},"primary_keywords": [{"id": 123,"name": "cream","count": 5},{"id": 91,"name": "cheese","count": 3},{"id": 23,"name": "banana","count": 2},{"id": 295,"name": "oil","count": 1}],"secondary_keywords": [{"id": 284,"name": "mushroom","count": 4},{"id": 417,"name": "toast","count": 4},{"id": 6,"name": "almond","count": 1},{"id": 70,"name": "butter","count": 1},{"id": 424,"name": "toffee","count": 1}]},{"group": "floral","stats": {"count": 16,"score": 1525},"primary_keywords": [{"id": 436,"name": "violet","count": 15}],"secondary_keywords": [{"id": 381,"name": "savory","count": 1}]},{"group": "dried_fruit","stats": {"count": 11,"score": 872},"primary_keywords": [{"id": 163,"name": "fig","count": 6},{"id": 341,"name": "prune","count": 2},{"id": 347,"name": "raisin","count": 1}],"secondary_keywords": [{"id": 229,"name": "jam","count": 3}]},{"group": "vegetal","stats": {"count": 4,"score": 235},"primary_keywords": [{"id": 403,"name": "sun-dried tomato","count": 1},{"id": 425,"name": "tomato","count": 1}],"secondary_keywords": [{"id": 6,"name": "almond","count": 1},{"id": 381,"name": "savory","count": 1}]},{"group": "tree_fruit","stats": {"count": 3,"score": 300},"primary_keywords": [{"id": 9,"name": "apple","count": 2},{"id": 11,"name": "apricot","count": 1}]},{"group": "tropical_fruit","stats": {"count": 3,"score": 166},"primary_keywords": [{"id": 428,"name": "tropical","count": 1}],"secondary_keywords": [{"id": 23,"name": "banana","count": 2}]},{"group": "citrus_fruit","stats": {"count": 2,"score": 200},"primary_keywords": [{"id": 298,"name": "orange","count": 2}]}]},"style": {"id": 891,"seo_name": "argentinian-uco-valley-malbec-red","regional_name": "Argentinian Uco Valley","varietal_name": "Malbec","name": "Argentinian Uco Valley Malbec Red","background_image": null,"image": null,"description": null,"blurb": null,"interesting_facts": null,"body": 4,"body_description": "Full-bodied","acidity": 2,"acidity_description": "Medium","country": {"code": "ar","name": "Argentina","native_name": "Argentina","seo_name": "argentina","currency": {"code": "ARS","name": "Argentinean Peso","prefix": "$","suffix": null},"regions_count": 47,"users_count": 744430,"wines_count": 41440,"wineries_count": 5678,"most_used_grapes": [{"id": 9,"name": "Malbec","seo_name": "malbec","has_detailed_info": true,"wines_count": 219735,"parent_grape_id": null,"color": 5},{"id": 2,"name": "Cabernet Sauvignon","seo_name": "cabernet-sauvignon","has_detailed_info": true,"wines_count": 801751,"parent_grape_id": null,"color": 5},{"id": 5,"name": "Chardonnay","seo_name": "chardonnay","has_detailed_info": true,"wines_count": 604208,"parent_grape_id": null,"color": 1}]},"wine_type_id": 1,"food": [{"id": 4,"name": "Beef","weight": 0.5,"background_image": {"location": "//images.vivino.com/backgrounds/foods/4_beef.png","variations": {"small": "//images.vivino.com/backgrounds/foods/thumbs/4_beef_932x810.png"}},"seo_name": "beef"},{"id": 8,"name": "Lamb","weight": 0.5,"background_image": {"location": "//images.vivino.com/backgrounds/foods/8_lamb.png","variations": {"small": "//images.vivino.com/backgrounds/foods/thumbs/8_lamb_932x810.png"}},"seo_name": "lamb"}],"grapes": [{"id": 9,"name": "Malbec","seo_name": "malbec","has_detailed_info": true,"wines_count": 219735,"parent_grape_id": null,"color": 5}],"region": {"id": 713,"name": "Uco Valley","name_en": "Valle de Uco","seo_name": "valle-de-uco","country": {"code": "ar","name": "Argentina","native_name": "Argentina","seo_name": "argentina","currency": {"code": "ARS","name": "Argentinean Peso","prefix": "$","suffix": null},"regions_count": 47,"users_count": 744430,"wines_count": 41440,"wineries_count": 5678,"most_used_grapes": [{"id": 9,"name": "Malbec","seo_name": "malbec","has_detailed_info": true,"wines_count": 219735,"parent_grape_id": null,"color": 5},{"id": 2,"name": "Cabernet Sauvignon","seo_name": "cabernet-sauvignon","has_detailed_info": true,"wines_count": 801751,"parent_grape_id": null,"color": 5},{"id": 5,"name": "Chardonnay","seo_name": "chardonnay","has_detailed_info": true,"wines_count": 604208,"parent_grape_id": null,"color": 1}]},"parent_id": 454,"background_image": {"location": "//images.vivino.com/regions/backgrounds/HiAacuq2SW-KcY5mT1Rqgg.jpg","variations": {"large": "//thumbs.vivino.com/region_backgrounds/HiAacuq2SW-KcY5mT1Rqgg_1280x760.jpg","medium": "//thumbs.vivino.com/region_backgrounds/HiAacuq2SW-KcY5mT1Rqgg_600x356.jpg"}},"statistics": {"wineries_count": 493,"wines_count": 5893,"sub_regions_count": 6,"parent_regions_count": 1}},"parent_style_id": 895,"hidden": false,"statistics": {"wines_count": 1529,"aggregated_wines_count": 1852},"vintage_mask": null,"baseline_structure": {"acidity": 3.5,"fizziness": null,"intensity": 4.0,"sweetness": 1.5,"tannin": 3.0}},"price": {"id": 2895285,"merchant_id": 1127,"amount": 22.62,"unit_amount": 0,"discounted_from": 0,"discount_percent": null,"type": "ppc","sku": "681","url": "http://www.p9.com.tw/Wine/ProductDetail.aspx?id=681","visibility": 1,"bottle_type_id": 1,"currency": {"code": "USD","name": "US Dollars","prefix": "$","suffix": null},"bottle_quantity": 1,"minimum_unit_quantity": null,"xms": 0,"xmphs": false,"price_group_id": null,"vfm_score": 0,"vfm_category": 0,"cmp_score": 0,"cmp_tier": 0,"bottle_type": {"id": 1,"name": "Bottle (0.75l)","short_name": "bottle","short_name_plural": "bottles","volume_ml": 750}},"prices": [{"id": 2895285,"merchant_id": 1127,"amount": 22.62,"unit_amount": 0,"discounted_from": 0,"discount_percent": null,"type": "ppc","sku": "681","url": "http://www.p9.com.tw/Wine/ProductDetail.aspx?id=681","visibility": 1,"bottle_type_id": 1,"currency": {"code": "USD","name": "US Dollars","prefix": "$","suffix": null},"bottle_quantity": 1,"minimum_unit_quantity": null,"xms": 0,"xmphs": false,"price_group_id": null,"vfm_score": 0,"vfm_category": 0,"cmp_score": 0,"cmp_tier": 0,"bottle_type": {"id": 1,"name": "Bottle (0.75l)","short_name": "bottle","short_name_plural": "bottles","volume_ml": 750}}],"from_url": "https://www.vivino.com/en/explore?e=eJwrsDUCAAH_AOA%3D"}
Each scraped wine product returns a comprehensive record with 18+ fields:
Product Identification
| Field | Meaning |
|---|---|
ID | Unique Vivino product identifier |
Name | Full wine name (e.g., "Château Lafite Rothschild 2018") |
SEO Name | URL-friendly version of the wine name |
Wine Classification
| Field | Meaning |
|---|---|
Year | Vintage year (e.g., 2018, 2020) |
Type ID | Wine type category ID (red, white, rosé, sparkling, etc.) |
Vintage Type | Classification of the vintage (standard, old vintage, prestige) |
Grapes | Grape varieties used (e.g., Cabernet Sauvignon, Chardonnay) |
Region | Geographical origin (e.g., Bordeaux, Napa Valley) |
Winery | Producer/winery name and details |
Is Natural | Boolean flag indicating if the wine is natural/organic |
Ratings & Reviews
| Field | Meaning |
|---|---|
Statistics | Aggregated user ratings, review counts, and average score on Vivino |
Has Valid Ratings | Boolean — whether the product has sufficient user reviews for credibility |
Taste | Community taste profile tags (e.g., "fruity," "oaky," "dry") |
Style | Wine style descriptors (body, acidity, tannins characteristics) |
Pricing Data
| Field | Meaning |
|---|---|
Price | Base or average price in detected currency |
Prices | Array of prices across different markets/retailers (if available) |
Media
| Field | Meaning |
|---|---|
Image | URL to the wine bottle image for display or download |
How to Use
- Find search URLs — Navigate to Vivino.com/en/explore and apply filters (region, price, rating, vintage). Copy the resulting URL.
- Input configuration — Paste the search URL(s) into the
urlsarray. Increasemax_items_per_urlfor complete result sets. - Run the scraper — Execute with configured settings. Monitor the run log for progress.
- Download results — Export as JSON, CSV, or Excel once the run completes.
Best practices:
- Use specific filtered URLs to avoid extremely large datasets (Vivino has millions of products).
- Set
max_items_per_url: 200or500for balanced collection versus speed. - Enable
ignore_url_failures: truefor batch runs across multiple search URLs. - Refresh scraped data monthly to capture price updates and new reviews.
Use Cases & Business Value
- Price monitoring: Track competitor pricing and margin trends across wine categories
- Market research: Analyze which vintages, regions, and grape varieties dominate different price segments
- Inventory sync: Automatically update e-commerce catalogs with Vivino ratings and product metadata
- Recommendation engines: Build datasets for wine pairing and personalization algorithms
- Academic analysis: Study wine production and consumer preference trends globally
By automating data extraction, you eliminate manual copy-paste work and access fresh, structured wine market data for competitive advantage.
Conclusion
The Vivino Product Search Scraper is an essential tool for anyone in the wine industry or building wine-related applications. It transforms unstructured search results into actionable, analyzable datasets across pricing, ratings, vineyard data, and more. Start collecting wine market intelligence today.