Skip to content

Wine-Searcher Scraper

Try for free

Look up wines and spirits on Wine-Searcher by name, URL or LWIN code: critic score and reviews, average and cheapest price per bottle in your market, merchant offers, producer, region, style, grape and vintages.

🍷 Wine-Searcher Scraper

Look up wines and spirits on Wine-Searcher by name, Wine-Searcher URL or LWIN code and get the critic score and critic reviews, the average and the cheapest price per bottle in your market, the merchant offers, producer, region, style, grape, drinking window and every vintage with its score. Paste a list from your shop or cellar system and get one clean row per wine, in seconds, with no account or login.

✨ Why use Wine-Searcher Scraper?

  • 🏆 Scores and reviews: Wine-Searcher's aggregated critic score, the number of critic scores, every critic's score by publication and the short tasting notes the page shows.
  • 💲 Real market prices: the average price per 750ml and the cheapest offer per bottle, with case prices divided per bottle and auctions and pre-arrival offers left out of the cheapest price.
  • 🛒 Merchant offers: up to about 50 offers per wine with merchant, location, price, price per 750ml, bottle size, vintage, offer type and a link to the shop.
  • 🌍 Your market, your currency: pick the country whose shops you want (US, UK, Germany, France, Hong Kong, Australia and more) and convert the cheapest price to any of 30 currencies.
  • 🔎 Names, URLs or LWIN codes: messy names from a point-of-sale export are cleaned up, and a name that matches several wines takes Wine-Searcher's best match (and says so).
  • ⚡ Fast and pay per wine: wines are looked up in parallel, and you only pay for wines that were found.

🎯 Use cases

  • 🏪 Retail pricing: check your shelf prices against the cheapest and average market price for every wine on your list.
  • 📈 Price monitoring: schedule a weekly run on your watchlist and track average prices, offer counts and the cheapest merchant.
  • 🍾 Cellar valuation: value a collection by vintage with current average prices and critic scores.
  • 🧾 Catalog enrichment: add producer, region, grape, style, ABV, drinking window, label image and scores to your product data.
  • 🔬 Market research: compare vintages, regions and critics, or see which merchants carry a wine in each country.

🚀 How to use

  1. Paste wine names into Wine names (one per line, e.g. Petrus 2015), Wine-Searcher wine page links into Wine-Searcher URLs, or LWIN codes into LWIN codes. You can mix all three.
  2. Set Max offers per wine (the cheapest per bottle come first; 0 for no offer list).
  3. Pick the Market whose shops and prices you want and, if you like, a currency to convert the cheapest price to.
  4. Click Start and download the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
wineNamesWine or spirit names, e.g. Opus One 2019 or Buffalo Trace Bourbon. Add the producer and vintage for the best match.
urlsWine-Searcher wine pages (https://www.wine-searcher.com/find/...).
lwinsLWIN11 codes (wine and vintage), LWIN7 codes (wine, all vintages); LWIN16 and LWIN18 are shortened to LWIN11.
maxOffersPerWineOffers to keep in each wine's offers list (default 10).
bestMatchWhen a name matches several wines, save Wine-Searcher's first match (default on).
marketCountry whose shops and prices are shown (default US).
targetCurrencyCurrency for cheapestPriceConverted (default USD).
browserFallbackOpen pages the site keeps refusing in a hosted browser (default on).
{
  "wineNames": ["Petrus 2015", "Opus One 2019", "Dom Perignon 2013"],
  "lwins": ["11084042019", "1131644"],
  "maxOffersPerWine": 10,
  "market": "GB",
  "targetCurrency": "EUR"
}

📤 Output

One row per wine found. Main fields:

FieldDescription
wineName, vintage, wineryNameThe wine, its vintage (null for an all-vintages page) and the producer
appellation, region, regionPath, countryWhere it comes from, most specific region first
style, grapeVariety, spiritTypeStyle, grape or blend, and the type of spirit for spirits
score, criticReviewsCount, criticScores, criticReviewsAggregated critic score (0-100), number of scores, scores by publication, and each review with its note
userRating, userRatingsCountUser rating out of 5 and the number of ratings
averagePrice, averagePriceCurrencyWine-Searcher's average price per 750ml, excluding tax
cheapestPriceAmount, cheapestPriceCurrency, cheapestPriceConvertedCheapest price per 750ml in the market, and converted to your currency
cheapestPriceMerchant, cheapestPriceMerchantCountry, cheapestPriceShopUrl, bottlesPerUnitWho sells it at that price, and whether it is a case
offersCount, offersNumber of offers in the market, and the offers themselves
foodPairing, classification, drinkingWindow, alcoholAbv, sweetness, closure, detailsProduct details as shown
vintagesEvery vintage with its critic score, average price and page link
matchType, matchCountdirect, or bestMatch when the name matched several wines
labelImageUrl, wineSearcherUrl, wineryUrl, market, scrapedAtLinks, the market used and when it was read

Example (from a real run, trimmed):

{
  "inputValue": "Petrus 2015",
  "inputType": "wineName",
  "status": "ok",
  "matchType": "direct",
  "wineName": "2015 Petrus",
  "vintage": 2015,
  "wineryName": "Petrus",
  "appellation": "Pomerol, France",
  "regionPath": "Pomerol / Bordeaux / France",
  "country": "France",
  "style": "Red - Savory and Classic",
  "grapeVariety": "Merlot",
  "score": 97,
  "criticReviewsCount": 21,
  "criticScores": {
    "Jane Anson - Inside Bordeaux": 98,
    "Decanter": 96,
    "Wine Spectator": 96,
    "Robert Parker The Wine Advocate": 100
  },
  "criticReviews": [
    {"author": "JancisRobinson.com", "score": null, "vintage": 2015, "note": "Tasted: Feb 2025. Tasted blind. Very transparent. Hint of..."},
    {"author": "Jane Anson - Inside Bordeaux", "score": 98, "vintage": 2015, "note": null}
  ],
  "userRating": 5,
  "userRatingsCount": 31,
  "averagePrice": 5933,
  "averagePriceCurrency": "USD",
  "cheapestPriceAmount": 4150,
  "cheapestPriceCurrency": "USD",
  "cheapestPriceConverted": 4150,
  "targetCurrency": "USD",
  "cheapestPriceMerchant": "GRW Wine Collection",
  "cheapestPriceMerchantCountry": "USA",
  "bottlesPerUnit": 1,
  "offersCount": 24,
  "market": "US",
  "drinkingWindow": "2024-2060",
  "vintages": [
    {"vintage": 2025, "score": 98, "averagePrice": 6795, "url": "https://www.wine-searcher.com/find/petrus+pomerol+bordeaux+france/2025"}
  ],
  "offers": [
    {
      "merchant": "GRW Wine Collection",
      "merchantLocation": "CA (ships to VA)",
      "merchantCountry": "USA",
      "price": 4150,
      "pricePer750ml": 4150,
      "currency": "USD",
      "taxNote": "ex. sales tax",
      "bottleSize": "Bottle (750ml)",
      "vintage": 2015,
      "offerTypes": [],
      "title": "Petrus 2015 750mL",
      "shopUrl": "https://grwwine.com/products/petrus-2015-750ml"
    }
  ],
  "labelImageUrl": "https://www.wine-searcher.com/images/labels/14/90/11841490.jpg",
  "wineSearcherUrl": "https://www.wine-searcher.com/find/petrus+pomerol+bordeaux+france/2015",
  "scrapedAt": "2026-10-21T22:12:00.449Z"
}

Inputs without a result (not found, invalid or refused) are not saved as rows and are not charged. The run's OUTPUT record lists each of them with the reason.

💰 Pricing

You pay $17.00 per 1,000 wines ($0.017 per wine found). Wines that are not found, invalid inputs and duplicates cost nothing.

Platform usage (compute, the residential proxy traffic and, for the few pages the site refuses, the hosted browser) is billed on top. In our tests 1,000 wines used about $0.18 of platform usage, 10,000 wines about $2.14 and 10 wines less than $0.01.

  • 10 wines: about $0.17 + less than $0.01 usage.
  • 1,000 wines: about $17.00 + about $0.18 usage.

❓ FAQ

Is it legal to scrape Wine-Searcher? The scraper reads public wine pages that anyone can open without an account. Check Wine-Searcher's terms and your local laws for your use, and don't use the data to identify private people.

Do I need a Wine-Searcher account, an API key or my own proxy? No. No login is used, and proxies are included: residential exits in the market's country by default.

How many wines can I look up? As many as you like in one run; there is no cap on the list. Wines are looked up in parallel. In our tests 10 wines took about 10 seconds, 1,000 wines about 3 minutes and 10,000 wines about 56 minutes.

Why is a field empty? Wine-Searcher doesn't show every detail for every wine: spirits have no grape or vintage, new or rare wines may have no critic score, average price or offers in your market. When no shop in your market sells a wine, Wine-Searcher shows offers from other countries and the row says so in offersExpandedWorldwide. When the vintage has no offers at all, Wine-Searcher shows other vintages (offersOtherVintages); the cheapest price then stays empty instead of quoting another vintage.

Why do US prices differ a little between runs? Wine-Searcher shows US visitors the shops that ship to their state, and each run may exit from a different state. Pick another market for country-wide offers.

Can I schedule it or use the API? Yes. Save your list as a task, schedule it daily or weekly, and read the results through the API or an integration.

⚠️ Limits

  • Up to about 50 offers per wine: that is what Wine-Searcher shows visitors on a wine page without signing in. offersCount still gives the full number.
  • Price history and offers marked "available to PRO only" need a Wine-Searcher PRO account and are not included. The producer's popularity ranking is not on the wine page and is not included either.
  • Names that match several wines use Wine-Searcher's first match; add the producer and vintage when you need a specific wine.
  • Wine-Searcher's bot protection refuses some requests. The scraper retries on fresh exits, tries refused wines again after a pause and opens the last ones in a hosted browser. Our latest tests saved all 1,000 of 1,000 wines and 9,942 of 10,000 (55 had no wine page, 3 stayed refused); earlier tests, run while the protection had tightened, missed up to 4%. Wines that still fail are listed in the OUTPUT record and are not charged.

Related actors

//From the blog\\

Latest articles

All articles
G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.