Wine Data Scraper for Vivino - Ratings, Reviews & Prices avatar

Wine Data Scraper for Vivino - Ratings, Reviews & Prices

Pricing

from $2.50 / 1,000 wines

Go to Apify Store
Wine Data Scraper for Vivino - Ratings, Reviews & Prices

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

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

1

Monthly active users

10 days ago

Last modified

Security

Limited permissions

Share

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

DataThis 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

  1. Sign up for Apify. The free plan is enough to try this Actor.
  2. 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.
  3. Watch the wines arrive in the Wines view, and the reviews in the Reviews view.
  4. 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, marketCurrency and medianPriceLocal keep 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=2019 for 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 (helpful or recent), reviewsLanguage (en, fr, de... or any), reviewStars (1 to 5).

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 / ratingsCount are what Vivino shows on the wine's card: for an older or rarely rated vintage Vivino shows the wine's overall numbers there. vintageRating / vintageRatingsCount are the vintage's own (empty while Vivino holds a vintage below its rating threshold), and wineRating / wineRatingsCount cover all vintages.
  • Prices. price is the featured offer for your market, medianPrice Vivino's median market price, merchantName the shop's name on Vivino and merchant the domain its offer link points to. With includeAllOffers, offers lists every shop, cheapest first, and lowestOfferPrice is the cheapest.
  • Critic scores. Vivino publishes each critic score with the critic's Vivino ID, the score as printed (18 on 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), parentVintageId is 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.

FieldTypical coverage
name, year, type, rating, ratings, region, country, winery, grapes, taste, flavor notes, style, food pairings, alcohol, image, rankings~100%
featured price, median price, shopwines sold in your market (Explore lists only wines on sale)
closure, description, drinking windowabout 65-85%
vintage ABV, grape sharesabout 25-55%
awards, critic scores, Vivino top lists, winemakerwines 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:

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:

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 tight priceMax, or discountedOnly with sortBy: "biggestDiscount".
  • Prices where you buy: set marketCountry, and marketState in 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; reviewsLanguage keeps 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.