Wine Data Scraper for Vivino - Ratings, Reviews & Prices
Pricing
from $2.50 / 1,000 wines
Wine Data Scraper for Vivino - Ratings, Reviews & Prices
Search Vivino wines by name or with Explore filters: ratings, taste and flavor notes, food pairings, grapes, awards, critic scores, prices and every shop offer for your market and U.S. state, community reviews and price monitoring. Independent tool, not affiliated with Vivino.
Pricing
from $2.50 / 1,000 wines
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Security
Limited permissionsShare
Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Vivino or any of its subsidiaries. All trademarks mentioned are the property of their respective owners. "Vivino" is referenced only to describe the publicly available website this Actor collects data from.
Get complete wine data from Vivino, the world's largest wine marketplace and community. Search wines by name (like Vivino's own search box), browse like Vivino's Explore page (type, country, region, grape, style, food pairing, vintage year, price band, rating, deals, natural wines), or paste Vivino links and wine IDs. Every wine comes with its ratings, taste structure, flavor notes, food pairings, grapes, region, winery, awards, critic scores, drinking window and rankings, plus the featured price, the median market price and every shop's offer for the market and U.S. state you choose, and the community reviews with the flavor words each taster used.
No login, no browser: fast JSON straight from Vivino's own back end.
What makes it different
| Data | This Actor |
|---|---|
| Search by wine name, winery or region words | ✅ searchTerms, best match first |
| Explore filters, including vintage years, deals, natural wines, food pairings | ✅ by name or by Vivino ID |
| Paste a Vivino Explore or search link | ✅ every filter in the link is kept |
| Prices for your market and state (22 Vivino markets, every U.S. state) | ✅ set with Vivino's own ship-to setting |
| Featured price + median market price + every shop's offer with shop names | ✅ (all offers opt-in) |
| Ratings: Vivino's displayed rating, the vintage's own rating and the wine's rating across vintages | ✅ |
| Taste structure (acidity, intensity, sweetness, tannin, fizziness) + flavor groups and notes | ✅ |
| Food pairings, grapes and grape shares, style body and acidity, vintage ABV, allergens | ✅ |
| Awards (medal, year, competition) and critic scores (normalized to 100) | ✅ when the wine has them |
| Drinking window with Vivino's advice (Drink now, Hold, Past its peak...) | ✅ |
| Global, country, region and winery rankings, winery rating | ✅ |
| Community reviews: most helpful or newest first, any language, by star rating | ✅ opt-in |
| Every vintage of a wine (price and rating by year) | ✅ opt-in |
| Price and rating monitoring (only new or changed wines) | ✅ |
Use cases
- Wine retail and e-commerce: enrich product catalogs with ratings, taste, grapes, food pairings and images; benchmark your prices against the featured offer, the median market price and every competing shop in your state.
- Price tracking and investing: watch fine-wine prices and ratings over time with drinking windows, critic scores and rankings.
- Review and sentiment analysis: collect community reviews in one language, newest first or most helpful first, with the flavor words each taster used and the taster's experience (ratings and followers).
- Wine apps, marketplaces and content sites: power discovery, recommendations and affiliate pages with clean, LLM-ready wine data.
- Restaurants and sommeliers: build wine lists by rating, region, grape, price band and food pairing.
- Market research: compare ratings, prices and availability across countries, states, regions, grapes and price tiers.
How to use
- Sign up for Apify. The free plan is enough to try this Actor.
- Open the Actor, type a wine name in Search by name or pick Explore filters (wine type, country, price, rating...), or paste Vivino links, then click Start.
- Watch the wines arrive in the Wines view, and the reviews in the Reviews view.
- Export to JSON, CSV, Excel, XML or RSS, or pull the results through the Apify API.
Input
{"searchTerms": ["caymus cabernet"],"wineTypes": ["red"],"minRating": "4.0","priceMax": 150,"marketCountry": "US","marketState": "NY","currency": "USD","includeReviews": true,"maxReviewsPerWine": 20,"reviewsSort": "recent","maxResults": 50}
What to find
- searchTerms: wine, winery, grape or region words, like Vivino's search box (
opus one,barolo). Each term is its own search; best match first. - wineTypes:
red,white,sparkling,rose,dessert,fortified(empty = all). - wineCountries: wine origin countries, by code (
fr) or name (France). - minRating / priceMin / priceMax: Vivino average rating and price band, in your currency.
- discountedOnly, naturalOnly, vintageYears (
2019,2020). - sortBy: most rated, top rated, price low to high, price high to low, best match, biggest discount first.
- grapes / regions / wineStyles / foods: by name (
Pinot Noir,Napa Valley,Californian Pinot Noir,Poultry), or the numeric grapeIds / regionIds / wineStyleIds / foodIds that Vivino uses in its Explore links. A name Vivino does not know stops the run before any wine is billed, with suggestions.
Market & prices
- marketCountry: one of Vivino's 22 markets (US, CA, GB, DE, FR, IT, ES, PT, NL, BE, LU, CH, AT, DK, SE, FI, CZ, AU, JP, HK, SG, BR). Shops, prices and availability follow the market; ratings, taste and reviews are the same everywhere.
- marketState: the U.S. state (or Canadian province) you ship to. U.S. shops and prices differ by state; California is used when it is empty.
- currency: the currency of every price. When it differs from the market's own currency,
marketCurrencyandmedianPriceLocalkeep the market's own figure. - includeMedianPrice (on by default) and includeAllOffers (every shop's offer, off by default).
Specific wines
- startUrls: Vivino wine pages (
/w/<id>, with?year=2019for a vintage), vintage pages (/wines/<id>), Explore links and search links. - urlsFromFile: paste links and wine IDs, or one link to a .txt/.csv file or Google Sheet.
- wineIds: Vivino wine IDs. A wine given without a year is read in the vintage Vivino is selling now.
- includeAllVintages: every vintage of each linked wine, one row per year.
Detail & reviews
- includeWineDetails (on by default): description, grape shares, vintage ABV, allergens, awards, critic scores, ratings distribution, drinking window, rankings, winery rating and the shop's name. Off gives a faster run with the search card only; the price per wine is the same.
- includeReviews, maxReviewsPerWine (up to 1,000), reviewsSort (
helpfulorrecent), reviewsLanguage (en,fr,de... orany), reviewStars (1to5).
Limits & monitoring
- maxResults: wine rows across all searches and links (100 if empty). maxPagesPerSearch: Explore pages of 24 wines read per search.
- monitorMode / monitorKey: deliver only new or changed wines (see below).
Output
One row per wine (type: "wine"), plus optional review rows (type: "review"). A real row (trimmed):
{"type": "wine","vintageId": 159338935,"wineId": 1911534,"name": "Opus One Opus One 2019","year": 2019,"url": "https://www.vivino.com/w/1911534?year=2019","wineType": "Red","rating": 4.5,"ratingsCount": 3558,"vintageRating": 4.5,"wineRating": 4.6,"wineRatingsCount": 96905,"ratingsDistribution": { "1": 33, "2": 25, "3": 134, "4": 2635, "5": 731 },"wineryName": "Opus One","wineryRating": 4.6,"regionName": "Napa Valley","countryName": "United States","grapes": ["Cabernet Sauvignon"],"grapeComposition": { "Cabernet Sauvignon": 100 },"alcohol": 14.5,"vintageAlcohol": 14,"style": "Napa Valley Cabernet Sauvignon","styleBody": "Very full-bodied","foodPairings": ["Beef", "Lamb", "Poultry", "Game (deer, venison)", "Mature and hard cheese"],"closure": "cork","taste": { "acidity": 3.78, "intensity": 4.6, "sweetness": 1.67, "tannin": 3.33 },"flavorKeywords": ["oak", "chocolate", "tobacco", "vanilla", "cedar"],"drinkingWindowFrom": 2024,"drinkingWindowTo": 2034,"drinkingWindowAdvice": "Drink or hold","ranking": { "global": { "rank": 8900, "total": 12414063 }, "region": { "rank": 446, "total": 10177 } },"criticReviews": [{ "score": "99", "criticId": 13, "scoreNormalized": 99, "reviewedAt": "2022-12-28T00:00:00Z" }],"topCriticScore": 100,"price": 577.49,"currency": "USD","medianPrice": 613.74,"merchantName": "Yianniswinery.com","merchant": "mywineconnection.com","merchantUrl": "https://www.mywineconnection.com/products/opus-one-red-wine-napa-valley-2019-750ml?utm_medium=pref-cpc&utm_source=vivino-ppc","marketCountry": "US","marketState": "CA","allergens": ["sulfites"],"image": "https://images.vivino.com/thumbs/1Rm8louuTKKSUZvSNVbeLw_pb_x960.png"}
A review row carries reviewedWine, rating (stars), note (the review text), language, createdAt, likesCount, commentsCount, flavorWords (the flavor words the taster used, matched against this wine's taste profile), flavorKeywords (Vivino's own flavor tagging of the review, { id, match }, on part of the reviews), the taster's userAlias, userProfileUrl, userRatingsCount, userFollowersCount, userIsFeatured, and vintageId / year of the vintage the review is about.
Good to know about the fields
- Ratings.
rating/ratingsCountare what Vivino shows on the wine's card: for an older or rarely rated vintage Vivino shows the wine's overall numbers there.vintageRating/vintageRatingsCountare the vintage's own (empty while Vivino holds a vintage below its rating threshold), andwineRating/wineRatingsCountcover all vintages. - Prices.
priceis the featured offer for your market,medianPriceVivino's median market price,merchantNamethe shop's name on Vivino andmerchantthe domain its offer link points to. With includeAllOffers,offerslists every shop, cheapest first, andlowestOfferPriceis the cheapest. - Critic scores. Vivino publishes each critic score with the critic's Vivino ID, the score as printed (
18on a 20-point scale,97-99) and a score out of 100 (scoreNormalized); critics' names and notes are not in Vivino's public data. - Reviews of a little-reviewed vintage. Vivino fills a vintage's review list with reviews of the same wine's other vintages when that vintage has few. Each review row names the vintage it is about (
vintageId,year,reviewedWine),parentVintageIdis the wine row it was read for, and a review is delivered once per run.
What to expect (field coverage)
Measured on full-detail runs; a blank field means Vivino does not publish that value for the wine.
| Field | Typical coverage |
|---|---|
| name, year, type, rating, ratings, region, country, winery, grapes, taste, flavor notes, style, food pairings, alcohol, image, rankings | ~100% |
| featured price, median price, shop | wines sold in your market (Explore lists only wines on sale) |
| closure, description, drinking window | about 65-85% |
| vintage ABV, grape shares | about 25-55% |
| awards, critic scores, Vivino top lists, winemaker | wines that have them (often fine and award-winning wines) |
| discount (regularPrice, discountPercent) | offers on sale |
Dataset views
- Wines: name, year, type, rating, ratings, price, median price, currency, region, country, winery, ABV, link.
- Reviews: wine, stars, review, language, taster, the taster's ratings, likes, date, link.
- Taste & pairing: style, grapes, ABV, closure, top flavor notes, food pairings, drinking window and advice.
- Monitor changes: change type, wine, price, median price, rating, shop (monitor runs).
How much does it cost to scrape Vivino?
This Actor uses Apify's pay-per-event pricing: you pay for the wines and reviews it delivers and, from 3 November 2026, a small fee per run, with no monthly rental. The events it can charge are:
- Wine - One enriched Vivino wine vintage: name, year, type, average rating and ratings count, taste structure, flavor notes, region, country, winery, grapes, alcohol, food pairings, awards, critic reviews, rankings, live price and merchant offers.
- Review - One Vivino user review: star rating, review text, language, date, taster alias and flavor keywords.
- Actor Start - from 3 November 2026, a small fee each time a run starts (one per GB of run memory, so one at the default 1 GB). It covers runs that deliver nothing, such as a monitor check that finds no new or changed wines.
The current price of each event is shown on the Pricing tab of this page. Set a maximum total charge on the run if you want a hard cap on spend, and use the input limits to control how much the Actor fetches. Wines Vivino does not return in full, and reviews already delivered in the same run, are never billed.
Automate & schedule
Run this Actor on autopilot and pull results into your own stack:
- Apify API - start runs, fetch datasets and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python - official SDKs.
- Schedules - run it daily or weekly to track prices, ratings and new reviews; perfect for repricing and price-drop alerts.
- Webhooks - trigger downstream actions (catalog sync, Slack alert, price-drop email) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/vivino-scraper').call({searchTerms: ['barolo'],minRating: '4.2',priceMax: 80,marketCountry: 'US',marketState: 'NY',includeReviews: true,maxReviewsPerWine: 10,maxResults: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} wines and reviews`);
Monitor mode (only new or changed wines)
Turn on monitorMode to remember wines across runs and deliver only wines that are new or whose price or rating changed since the last run, each tagged with a changeType (new, price_drop, price_rise, rating_up, rating_down or changed). Each search watches its first wines (up to maxResults, within maxPagesPerSearch), so an unchanged wine is skipped without being billed, and a wine the monitor has not looked at before is never reported as new just because it sits deeper in the results. Use a different monitorKey for each watch, and pair it with an Apify Schedule for a hands-off price-drop feed. A check that finds nothing new bills no wines; from 3 November 2026 each run, monitor checks included, also pays the small run-start fee (see the cost section). A monitor keeps its prices per market and state: switching either refreshes the remembered prices once, without reporting them as changes.
Integrate with any app
Connect the dataset to 5,000+ apps - no code required:
- Make - multi-step automation scenarios.
- Zapier - push new wines or price drops straight into your tools.
- Slack - get notified when a monitored wine drops in price.
- Google Drive / Sheets - auto-export every run to a spreadsheet.
- Airbyte - pipe results into your data warehouse.
- GitHub - trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. Call this Actor from Claude, ChatGPT, or any agent framework through the Apify MCP server - ask your assistant to "find top-rated Napa Cabernets under $80 in New York with their tasting notes and where to buy them" and let it run the scraper for you.
Agent-ready: autonomous payments (x402 & Skyfire)
This actor is agent-ready: AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:
- x402: an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server, with no account and no API key.
- Skyfire: agent-to-service payments for fully autonomous AI-agent workflows.
Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.
More scrapers from scrapesage
Build a complete product, price & marketplace intelligence stack:
- eBay Scraper - active listings on 10 eBay marketplaces, prices, item details and seller leads.
- Catawiki Scraper - collectibles auctions (incl. wine) with bids & estimates.
- Goodreads Scraper - books, authors, ratings & reviews.
- Reverb Scraper - music gear listings, price guide & sellers.
- AliExpress Scraper - products, prices, orders & suppliers.
- Poshmark Scraper - listings, sold comps & seller leads.
Tips
- Find one wine fast: put its name in
searchTerms(best match first), or paste its Vivino page link. - Best value finds:
sortBy: "topRated"with a tightpriceMax, ordiscountedOnlywithsortBy: "biggestDiscount". - Prices where you buy: set
marketCountry, andmarketStatein the U.S., so prices and shops match your customers. - Big catalogs: Vivino's Explore lists about 2,000 wines per search. Split a large search by price band, country or rating (or run several searches in one run) to collect more.
- Reviews for analysis:
reviewsSort: "recent"on a schedule collects new reviews;reviewsLanguagekeeps one language;reviewStars: ["1", "2"]collects the critical ones.
FAQ
Can I search for a specific wine by name? Yes. Put the name in searchTerms (for example caymus cabernet); results come best match first, and every Explore filter still applies. You can also paste the wine's Vivino page link or its wine ID.
Can I paste a link from Vivino's Explore page? Yes. Set up the search on Vivino, copy the link from your browser and paste it into Vivino links; every filter in it (types, countries, grapes, regions, styles, foods, years, price band, rating, deals, sort) is kept. The run uses your own market setting.
Why are prices different from what I see on Vivino? Vivino shows each visitor the shops and prices of their own country and U.S. state. This Actor uses the market you set (marketCountry, marketState), so set them to match the shopper you have in mind.
Why is a price empty? The wine is not sold in your market right now, or (for a wine link with a year) that vintage is not on sale; the other vintages' prices are never put on its row.
Does it need the Vivino API or a key? No. It reads the same public data Vivino's own website uses: no key, login or browser.
Can I export to Google Sheets, CSV or Excel? Yes: one click in the dataset view, or automatically on every run with the Google Drive integration.
How do I track price drops automatically? Turn on monitorMode and create a Schedule (for example daily). Each run delivers only new or changed wines; add a webhook or a Zapier zap to alert you on price_drop.
A field is empty. Why? Some wines have no awards or critic scores, some are not sold in your market (no price), and some vintages have too few ratings for a vintage rating. A field is blank only when Vivino does not publish it.
Is scraping Vivino legal? This Actor collects publicly available data only. You are responsible for using it in line with applicable laws (for example GDPR or CCPA for the personal data in review rows) and Vivino's terms; see Data & lawful use below.
Data & lawful use
This Actor reads only what Vivino publishes to logged-out visitors: it does not log in, create accounts, use anyone's credentials, or reach anything behind a sign-in. Like any logged-out browser, it keeps the anonymous cookies Vivino sets for every visitor, because Vivino stores the visitor's ship-to market (which decides shops and prices) in them; they identify no person and are discarded when the run ends. Review rows name tasters (their public alias, profile link, photo and rating counts): that information is public, but it relates to identifiable people, so treat it as personal data. If you are in the EU or UK you are the data controller for what you do with it: have a lawful basis (usually legitimate interest for research, product or market analysis), honour access and deletion requests, and do not use the output for spam or unsolicited messaging.
Under Apify's Standard Actor Contract, which governs your use of this Actor, you are the controller of any personal data in your input and output and scrapesage acts only as your processor: that data is processed solely to run your job, written only to your own Apify storage, never used for any other purpose and never shared onward. If you need help with a data-subject request that involves this Actor's output, open an issue on the Issues tab.
Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Vivino or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.
"Vivino" and any related marks are the property of their respective owners and are used here only in a descriptive, nominative sense - to identify the publicly accessible website from which this Actor collects data. This Actor is not an official Vivino product, is not authorised or certified by Vivino, and does not distribute Vivino software. It collects only publicly available information; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the terms of the source website.
Need help?
Open an issue on the Actor's Issues tab, or visit the Apify help center. Feature requests are welcome - this Actor is actively maintained.