Vivino Wines Scraper — Ratings & Bottle Data
Pricing
from $2.00 / 1,000 wines
Vivino Wines Scraper — Ratings & Bottle Data
Scrape Vivino wines by name or URL: ratings (0–5), winery, vintage, grapes, region and country. Price and currency when Vivino lists a marketplace price. Optional reviews. HTTP JSON for importers researching ES/EU bottles.
Pricing
from $2.00 / 1,000 wines
Rating
0.0
(0)
Developer
Noah Adler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 hours ago
Last modified
Categories
Share
Vivino Wines — Ratings, Prices & Reviews
Vivino scraper / Vivino API stand-in for wine ratings, prices and reviews. Search by bottle name (Rioja, Marqués de Riscal Reserva) or paste a vivino.com wine URL. Each Dataset row is one wine: wineId, name, winery, vintage, rating (0–5), ratings count, price, currency, grapes, region, country, URL, and optional nested reviews[].
Vivino has no official public API. This Actor talks to the same HTTP JSON the website uses (search/wines + /api/vintages/{id} + /api/wines/{id}/reviews). No Playwright on the happy path.
Ideal for importers, wine shops, and price/rating research on ES/EU bottles — a clean schema challenger, not a clone title of the bloated Store incumbents.
Why this Actor: Vivino ratings + prices · Rioja / ES examples · HTTP-only · PPE per Wine
What you get
| Field | Description |
|---|---|
wineId / vintageId | Vivino identifiers |
name / winery / vintage | Label + year (N.V. when non-vintage) |
rating / ratingsCount | Community score 0–5 and vote count |
price / currency | Marketplace amount when Vivino shows one |
grapes / region / country | Style geography |
url | Canonical vivino.com wine page |
reviews | Optional sample (includeReviews) |
Input example
{"queries": ["Marques de Riscal Reserva"],"maxItems": 8,"includeReviews": false,"proxyConfiguration": { "useApifyProxy": false }}
Output example
{"wineId": "1163903","name": "Marqués de Riscal Reserva","winery": "Marqués de Riscal","vintage": "2019","rating": 4.2,"ratingsCount": 85000,"price": 14.95,"currency": "EUR","grapes": ["Tempranillo"],"region": "Rioja","country": "Spain","url": "https://www.vivino.com/en/marques-de-riscal-reserva/w/1163903"}
Numbers above are illustrative — live runs return current Vivino catalog values.
Proxy
Leave proxy off first. If you see HTTP 403 / AWS WAF, enable RESIDENTIAL (Spain ES if you care about EUR shelf prices). If residential still fails after 2–3 honest runs, treat it as a drop — do not rewrite the Actor as a browser farm.
Limitations
- Unofficial endpoints can change without notice (same constraint as every Vivino scraper in the Store).
- Search HTML embeds the first results page;
maxItemscaps how many of those wines you keep. - Some wines have a rating but no marketplace price in your country —
pricestays null (honest), we do not invent a number from the vintage year. includeReviewsadds extra calls; reviews stay nested so PPE is still one Wine row.
Racimo
- Hero (this Actor): wines — ratings, prices, optional reviews
- Later only if this one has runs: vintage history / merchant prices
- Winelist monitor
PPE is per Wine (volume, cheap vs lead scrapers).