Vivino Reviews Scraper
Pricing
from $2.00 / 1,000 results
Vivino Reviews Scraper
Extract detailed wine reviews from Vivino.com with precision. Scrape ratings, user profiles, tasting notes, language data, and timestamps across multiple pages — perfect for wine researchers, retailers, and sentiment analysis projects.
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 Reviews Scraper: Harvest Wine Review Data at Scale
What Is Vivino.com?
Vivino.com is the world's largest wine social network and marketplace, hosting millions of wine reviews, ratings, and user-generated tasting notes. With over 10 million wines cataloged and a vibrant community of wine enthusiasts, Vivino represents an invaluable source of consumer sentiment, regional trends, and vintage-specific feedback. Manually collecting review data is impractical — the Vivino Reviews Scraper automates extraction of structured review records, enabling bulk analysis and competitive intelligence.
Overview
The Vivino Reviews Scraper extracts detailed review records from individual Vivino wine product pages, capturing ratings, user profiles, tasting notes, and metadata in a structured format. It is designed for:
- Wine retailers & distributors analyzing customer sentiment by vintage or region
- Researchers studying wine appreciation trends and review patterns
- Data analysts building datasets for sentiment or rating prediction models
- Aggregators feeding wine review data into comparison or recommendation platforms
Key strengths include flexible filtering by star rating, sorting by helpfulness or recency, pagination support for large review sets, and robust URL failure handling.
Input Format
The scraper accepts a JSON configuration object to target specific wine products and refine results:
{"urls": ["https://www.vivino.com/en/san-marzano-sixty-sessantanni-old-vines-primitivo-di-manduria/w/11890?year=2020&price_id=42539229#all_reviews"],"page": 2,"rating": "5","sort_by": "latest_reviews","ignore_url_failures": true,"max_items_per_url": 200}
| Field | Type | Description |
|---|---|---|
urls | Array | Direct Vivino product page URLs (include the #all_reviews anchor). Paste one or multiple wine product links. |
page | Integer | Starting page number for review pagination (default: 1). Useful for resuming interrupted runs or targeting specific review batches. |
rating | String | Filter reviews by star rating: "" (any), "5" (5-star), "4" (4-star), ..., "1" (1-star). Leave empty to include all ratings. |
sort_by | String | Sort order: "reviews" (most helpful first) or "latest_reviews" (newest first). Helps prioritize recent or community-validated feedback. |
ignore_url_failures | Boolean | If true, the scraper continues if individual URLs fail; if false, it halts. Recommended: true for bulk runs. |
max_items_per_url | Integer | Maximum reviews per product URL (e.g., 200). Limits volume and runtime. Vivino pages typically contain 10–30 reviews per page. |
Pro tip: Use
sort_by: "latest_reviews"to capture fresh consumer sentiment; use"reviews"to find the most-discussed feedback.
Output Format
Example Output Record
{"id": 357034454,"rating": 4.5,"note": "Maravilhoso!","language": "tn","created_at": "2026-05-16T22:26:42.000Z","user": {"id": 21640127,"seo_name": "mateus.lupo","alias": "Mateus Lupo","is_featured": false,"is_premium": false,"visibility": "all","image": {"location": "//images.vivino.com/avatars/5BlLfZPCRKOAkrDlgaybLQ.jpg","variations": {"large": "//thumbs.vivino.com/avatars/5BlLfZPCRKOAkrDlgaybLQ_300x300.jpg","small_square": "//thumbs.vivino.com/avatars/5BlLfZPCRKOAkrDlgaybLQ_50x50.jpg"}},"background_image": {"location": "//images.vivino.com/users/backgrounds/default_1.jpg","variations": {"large": "//images.vivino.com/users/backgrounds/default_1_1200x400.jpg","medium": "//images.vivino.com/users/backgrounds/default_1_600x200.jpg","small": "//images.vivino.com/users/backgrounds/default_1_140x60.jpg"}},"language": "pt","relationship": {"is_followed_by_me": false,"is_following_me": false,"follow_requested": false,"ignored_my_follow_request": false,"requested_to_follow_me": false,"follow_ignored_by_me": false,"is_blocked_by_me": false,"is_blocking_me": false},"statistics": {"followers_count": 14,"followings_count": 2,"ratings_count": 5179,"ratings_sum": 20193.3,"reviews_count": 5062,"purchase_order_count": 0}},"vintage": {"id": 1504641,"seo_name": "san-marzano-sixty-sessantanni-old-vines-primitivo-di-manduria-uv","name": "San Marzano 60 Sessantanni Old Vines Primitivo di Manduria U.V.","statistics": {"status": "Normal","ratings_count": 117906,"ratings_average": 4.5,"labels_count": 4404,"reviews_count": 1662},"organic_certification_id": null,"certified_biodynamic": null,"image": {"location": "//images.vivino.com/thumbs/tLtS1VwaRxCL25zZ-j6pZg_pl_480x640.png","variations": {"bottle_large": "//images.vivino.com/thumbs/tLtS1VwaRxCL25zZ-j6pZg_pb_x960.png","bottle_medium": "//images.vivino.com/thumbs/tLtS1VwaRxCL25zZ-j6pZg_pb_x600.png","bottle_medium_square": "//images.vivino.com/thumbs/tLtS1VwaRxCL25zZ-j6pZg_pb_600x600.png","bottle_small": "//images.vivino.com/thumbs/tLtS1VwaRxCL25zZ-j6pZg_pb_x300.png","bottle_small_square": "//images.vivino.com/thumbs/tLtS1VwaRxCL25zZ-j6pZg_pb_300x300.png","label": "//images.vivino.com/thumbs/tLtS1VwaRxCL25zZ-j6pZg_pl_480x640.png","label_large": "//images.vivino.com/thumbs/tLtS1VwaRxCL25zZ-j6pZg_pl_375x500.png","label_medium": "//images.vivino.com/thumbs/tLtS1VwaRxCL25zZ-j6pZg_pl_150x200.png","label_medium_square": "//images.vivino.com/thumbs/tLtS1VwaRxCL25zZ-j6pZg_pl_150x150.png","label_small_square": "//images.vivino.com/thumbs/tLtS1VwaRxCL25zZ-j6pZg_pl_80x80.png","large": "//images.vivino.com/thumbs/tLtS1VwaRxCL25zZ-j6pZg_pl_375x500.png","medium": "//images.vivino.com/thumbs/tLtS1VwaRxCL25zZ-j6pZg_pl_150x200.png","medium_square": "//images.vivino.com/thumbs/tLtS1VwaRxCL25zZ-j6pZg_pl_150x150.png","small_square": "//images.vivino.com/thumbs/tLtS1VwaRxCL25zZ-j6pZg_pl_80x80.png"}},"wine": {"id": 11890,"name": "60 Sessantanni Old Vines Primitivo di Manduria","seo_name": "sixty-sessantanni-old-vines-primitivo-di-manduria","type_id": 1,"vintage_type": 0,"is_natural": false,"region": {"id": 2753,"name": "Primitivo di Manduria","name_en": "","seo_name": "primitivo-di-manduria","country": {"code": "it","name": "Italy","native_name": "Italia","seo_name": "italy","currency": {"code": "EUR","name": "Euros","prefix": "€","suffix": null},"regions_count": 565,"users_count": 4903445,"wines_count": 301208,"wineries_count": 44031,"most_used_grapes": [{"id": 16,"name": "Sangiovese","seo_name": "sangiovese","has_detailed_info": true,"wines_count": 125094,"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},{"id": 10,"name": "Merlot","seo_name": "merlot","has_detailed_info": true,"wines_count": 566719,"parent_grape_id": null,"color": 5}]},"parent_id": 548,"background_image": {"location": "//images.vivino.com/regions/backgrounds/4hk4tWhkSueipqpj6rBxqQ.jpeg","variations": {"large": "//thumbs.vivino.com/region_backgrounds/4hk4tWhkSueipqpj6rBxqQ_1280x760.jpeg","medium": "//thumbs.vivino.com/region_backgrounds/4hk4tWhkSueipqpj6rBxqQ_600x356.jpeg"}},"class": "VivinoAPI::Region","statistics": {"wineries_count": 138,"wines_count": 1528,"sub_regions_count": 0,"parent_regions_count": 2}},"review_status": 2,"winery": {"id": 55648,"name": "San Marzano","seo_name": "san-marzano","status": 3,"review_status": "Completed","dashboard_url": "https://analytics-pbl.vivino.com/dashboards-next/60","background_image": {"location": "//images.vivino.com/wineries/backgrounds/HxEtPoUBQF2f3rLG7QoXzA.jpeg","variations": {"large": "//thumbs.vivino.com/winery_backgrounds/HxEtPoUBQF2f3rLG7QoXzA_2560x1520.jpeg","medium": "//thumbs.vivino.com/winery_backgrounds/HxEtPoUBQF2f3rLG7QoXzA_1280x760.jpeg","small": "//thumbs.vivino.com/winery_backgrounds/HxEtPoUBQF2f3rLG7QoXzA_600x356.jpeg"}},"statistics": {"ratings_count": 509081,"ratings_average": 4.1,"labels_count": 3462764,"wines_count": 175}},"style": null,"has_valid_ratings": false},"year": "","grapes": null,"has_valid_ratings": true},"activity": {"id": 929967228,"statistics": {"likes_count": 1,"comments_count": 1}},"tagged_note": "Maravilhoso!","from_url": "https://www.vivino.com/en/san-marzano-sixty-sessantanni-old-vines-primitivo-di-manduria/w/11890?year=2020&price_id=42539229#all_reviews"}
Each review record returns 9 key fields capturing both review content and metadata:
Review Content & Ratings
| Field | Meaning |
|---|---|
ID | Unique identifier for the review within Vivino's database |
Rating | Star rating given by the reviewer (1–5 stars) |
Note | Full text of the tasting review or comment |
Language | Language code of the review (e.g., en, fr, de) |
Reviewer & Context
| Field | Meaning |
|---|---|
User | Username or profile identifier of the reviewer |
Created At | ISO timestamp when the review was posted |
Vintage | Wine vintage year (e.g., 2020) referenced in the review or product page |
Engagement & Classification
| Field | Meaning |
|---|---|
Activity | Engagement metric (e.g., helpfulness count, number of upvotes received on the review) |
Tagged Note | Community-applied tags or labels (e.g., "fruity", "bold", "food_pairing") if available |
How to Use
-
Find wine URLs — Browse Vivino.com and open a wine's detail page. Copy the full URL including the
#all_reviewsanchor (e.g.,https://www.vivino.com/en/.../w/12345#all_reviews). -
Configure input — Paste URLs into the
urlsarray. Adjustratingandsort_byto focus on specific feedback (e.g., 5-star reviews sorted by latest). -
Set pagination — Use
page: 1to start from the first review page. Adjustmax_items_per_urlbased on your data needs (e.g.,200for comprehensive datasets). -
Enable resilience — Set
ignore_url_failures: truefor bulk scraping to skip broken or region-restricted product pages. -
Run the scraper — Execute the actor and monitor the run log for progress.
-
Export results — Download the dataset as JSON, CSV, or Excel for analysis.
Troubleshooting:
- If a URL returns zero reviews, verify the product has a reviews section and the URL is correctly formatted.
- Region-specific Vivino URLs (e.g.,
.com/it,.com/de) may have different review counts or accessibility. - Large
max_items_per_urlvalues (>500) may increase runtime; consider running multiple smaller jobs.
Use Cases & Business Value
- Sentiment analysis: Quantify customer opinions by vintage, region, or price point
- Competitive benchmarking: Compare review volumes and average ratings across similar wines
- Trend research: Identify emerging preferences (e.g., natural wines, organic) through tagged notes and language patterns
- Market intelligence: Monitor reviewer engagement and community reception for new releases
- Quality control: Correlate Vivino ratings with sales data to inform purchasing and stocking decisions
The Vivino Reviews Scraper transforms subjective review feedback into quantifiable datasets, unlocking insights that support product decisions, marketing strategies, and consumer understanding.
Conclusion
The Vivino Reviews Scraper is a powerful tool for anyone needing structured wine review data at scale. With filtering, sorting, and pagination options built in, it delivers clean, multi-language review records ready for analytics, reporting, or integration into wine platforms. Unlock Vivino's rich review ecosystem and turn consumer feedback into actionable intelligence.