Wine-Searcher scraper by grape variety: prices avatar

Wine-Searcher scraper by grape variety: prices

Pricing

from $2.00 / 1,000 wine result extracteds

Go to Apify Store
Wine-Searcher scraper by grape variety: prices

Wine-Searcher scraper by grape variety: prices

Scrape Wine-Searcher's 1,054 grape variety pages, from Pinot Noir to obscure indigenous grapes. Get popularity, critic scores and prices with auto-detected currency, plus product names, regions and countries. Export, schedule, or pipe into Zapier, Make, and n8n. By MrBridge (mr-bridge.com)

Pricing

from $2.00 / 1,000 wine result extracteds

Rating

5.0

(2)

Developer

MrBridge

MrBridge

Maintained by Community

Actor stats

1

Bookmarked

18

Total users

0

Monthly active users

6 days ago

Last modified

Categories

Share

Wine-Searcher Grape Scraper: popularity, scores & prices

Extract wine data from Wine-Searcher grape variety pages at scale. This Actor scrapes popularity, critic scores, and average prices for every wine listed under a grape, plus product names, regions, and countries, from canonical varieties like Pinot Noir or Cabernet Sauvignon down to obscure indigenous grapes like Voskehat or Xynomavro. Pick a grape from a dropdown of 1,054 varieties, paste a Wine-Searcher grape URL, or flip one switch to crawl every grape on the site.

No Wine-Searcher subscription needed, no API key, no coding. Just pick a grape and click Start.

What does Wine-Searcher Grape Scraper do?

Wine-Searcher is the world's largest wine search engine, indexing over 18 million wines from 120,000+ merchants. This scraper extracts structured data from Wine-Searcher's grape variety pages, which rank wines by popularity, ratings, value, or price within any single grape (or grape blend).

For each wine found, the scraper extracts:

  • Product name and direct link to the Wine-Searcher listing
  • Region and country of the wine, plus the link to the region page
  • Popularity ranking within the grape's listing
  • Critics' score (average across professional reviewers, out of 100)
  • Average price per 750ml bottle with currency detection
  • Bottle label image URL when Wine-Searcher shows one
  • Source grape (the grape page that was scraped, e.g. "Pinot Noir") and source_grape_id (Wine-Searcher's internal numeric ID, e.g. 384)

The scraper handles pagination automatically (up to 50 pages × ~25 wines = 1,250 wines per grape) and can sweep every one of Wine-Searcher's 1,054 grape varieties in a single run via scrapeAllGrapes.

Which wine scraper should I use?

NeedBest scraperWhat it does
Grape popularity, scores & pricesWine-Searcher Grape Scraper (this one)Popularity, critic scores & prices by grape variety on Wine-Searcher
Look up specific wines by name, URL or LWINWine-Searcher Scraper from ListCritic scores, cheapest prices, winery info & popularity for each wine
Critic ratings (Parker, Spectator, Decanter...)Millesima Wine ScraperPrices + scores from 18 major critics
Community ratings & taste profilesVivino Wine ScraperBrowse Vivino wines by region
Look up specific wines by name/URLVivino Wine Data ScraperSearch Vivino by wine name or URL

Why scrape Wine-Searcher grape data?

Grape-level data lets you compare prices, ratings, and popularity across regions and producers. Use cases:

  • Importers and distributors: benchmark a producer's pricing against the global Pinot Noir or Chardonnay distribution before negotiating allocation.
  • Sommeliers and wine buyers: build varietal sections of a wine list driven by data: top-rated Riesling under $40, best-value Nebbiolo, the 25 most popular Sauvignon Blancs of the year.
  • Ampelographic research: collect comparable price/rating signals across regional expressions of the same grape (Syrah vs Shiraz, Tempranillo across Rioja, Ribera del Duero, Toro).
  • Wine investors and collectors: identify rising grape categories (Assyrtiko, Xinomavro, Mencía) before they hit mainstream price brackets.
  • E-commerce platforms and wine clubs: enrich product catalogs with grape-level critics' scores, rankings, and average market prices.

Quick start: test in 60 seconds

  1. Click "Try for free" to open this actor in Apify Console
  2. The default input scrapes Pinot Noir. Leave it or pick any of 1,054 grapes from the dropdown.
  3. Click "Start"
  4. Download your results from the Dataset tab (JSON, CSV, Excel)

That's it! No Wine-Searcher subscription needed, no API key, no coding. The full input reference (grape dropdown, customUrl override, scrapeAllGrapes sweep, pagination, sort, currency conversion) is detailed in How do I configure the scraper? below.

What data can you extract?

FieldDescriptionExample
product_nameFull wine name with producer and origin"Domaine de la Romanee-Conti Romanee-Conti Grand Cru"
product_urlDirect link to the wine on Wine-Searcherhttps://www.wine-searcher.com/find/...
regionWine region shown in the listing row"Cote de Nuits"
region_urlLink to the region page (null when the row carries no region link)https://www.wine-searcher.com/regions-cote-de-nuits
countryCountry slug read from the row's flag icon (empty when absent)"france"
label_image_urlBottle label thumbnail URL (null when absent)https://www.wine-searcher.com/images/labels/...
popularityPopularity ranking within the grape page"12th in popularity"
critics_scoreAverage score from professional critics"98 / 100"
avg_priceAverage price per 750ml bottle"$ 24,099"
currencyDetected ISO currency code"USD"
avg_price_convertedPrice converted to your target currency (null if disabled)22150.45
target_currencyISO code of the target currency (empty if disabled)"EUR"
source_grapeGrape page name that produced the row"Pinot Noir"
source_grape_idWine-Searcher numeric ID of that grape page"384"
source_urlThe grape page URL that was scrapedhttps://www.wine-searcher.com/grape-384-pinot-noir?tab_F=mostpopular

Note on region vs. source_grape: region describes the wine itself (the region column of the listing row, e.g. "Cote de Nuits"), while source_grape always names the grape page the row was scraped from ("Pinot Noir"). This distinction matters when joining data across grape pages. Wine-Searcher relabelled that column from "Grape" to "Region" in 2026-05, which is why the fields are named region / region_url since v2.2.0 (they were grape / grape_url up to v2.1).

Supported currencies

Wine-Searcher displays prices in the proxy's local currency. The scraper detects 200+ source currencies on every row, including Unicode symbols (₹, ₺, ₱, ₫), ASCII abbreviations (Rs, Rp, RM), ISO 4217 codes (IDR, COP, ZAR) and ISO 3166 country codes (ID, ZA, AR). Optionally convert all prices to any of the 30 most-traded ISO codes via targetCurrency.

More wine data tools

This Actor is part of the MrBridge wine toolkit - see the Wine-Searcher region scraper page or browse all scrapers. Related analysis: Burgundy vs Bordeaux: a price comparison.

How do I configure the scraper?

Three precedence-ordered ways to specify the target:

  1. Dropdown (grape): 1,054 grape varieties baked from Wine-Searcher's official index. Default: Pinot Noir. Each entry maps to https://www.wine-searcher.com/grape-{id}-{slug}.
  2. Custom URL (customUrl): paste any Wine-Searcher grape URL. This overrides the dropdown. Useful for brand-new grapes not yet baked. Pattern: ^https://www\.wine-searcher\.com/grape-\d+-[a-zA-Z0-9%+\-]+.
  3. Scrape all (scrapeAllGrapes): tick to ignore both fields and walk all 1,054 grapes. Pair with low maxPagesPerGrape (1–3) to keep cost predictable.

Full input reference

ParameterTypeConsole prefillDescription
grapedropdown · 1,054 grapesPinot NoirGrape variety selector (Wine-Searcher's full official grape index)
customUrltextfield (URL)-Optional override for grape pages not in the dropdown (must match the grape-{id}-{slug} pattern)
scrapeAllGrapescheckboxfalseIgnore the dropdown and crawl every grape variety on Wine-Searcher
maxPagesPerGrapeinteger3Pages per grape (~25 wines/page, range 1–50)
maxWinesinteger1000Soft cap on the total number of wines across all grapes. 0 means unlimited (only your Apify spending limit applies)
tabFilterdropdown · 5 optionsMost PopularSort: Most Popular, Best Rated, Best Value, Most Expensive, Cheapest
targetCurrencydropdown · 30 currencies(none)Optional ISO code to convert prices using live exchange rates (300+ source currencies)

Numeric defaults shown above are the Console prefills. Programmatic API callers that omit maxPagesPerGrape entirely fall back to the schema default of 5.

Proxies, timeouts, and anti-bot handling are managed automatically. No configuration needed.

Example: default, top Pinot Noir wines

{
"grape": "https://www.wine-searcher.com/grape-384-pinot-noir",
"maxPagesPerGrape": 3,
"tabFilter": "mostpopular"
}

Example: Top-rated Nebbiolo via customUrl override

{
"customUrl": "https://www.wine-searcher.com/grape-316-nebbiolo",
"maxPagesPerGrape": 5,
"tabFilter": "best"
}

Example: Sweep every grape on Wine-Searcher

{
"scrapeAllGrapes": true,
"maxPagesPerGrape": 3,
"tabFilter": "mostpopular"
}

Output example

{
"product_name": "Domaine de la Romanee-Conti Romanee-Conti Grand Cru, Cote de Nuits, France",
"product_url": "https://www.wine-searcher.com/find/domaine+romanee+conti+grand+cru+cote+nuits+france",
"region": "Cote de Nuits",
"region_url": "https://www.wine-searcher.com/regions-cote-de-nuits",
"country": "france",
"label_image_url": "https://www.wine-searcher.com/images/labels/12/34/example-label.jpg",
"popularity": "1st in popularity",
"critics_score": "98 / 100",
"avg_price": "$ 24,099",
"currency": "USD",
"avg_price_converted": 22150.45,
"target_currency": "EUR",
"source_grape": "Pinot Noir",
"source_grape_id": "384",
"source_url": "https://www.wine-searcher.com/grape-384-pinot-noir?tab_F=mostpopular"
}

How much does it cost?

Wine-Searcher Grape Scraper uses pay-per-event pricing. Each wine successfully saved to the dataset triggers one wine-result event. ZenRows fetch failures, diagnostic error rows, empty pages, and circuit-breaker sentinels do not trigger that event.

See the Pricing tab for the current rate for your subscription tier, automatic discounts, and any platform-managed events. You can set a maximum cost per run in Apify Console.

Memory: 512 MB is the default and is sufficient for normal runs. Since v2.0 the Actor runs no browser and processes one page at a time. Users can select up to 2048 MB for unusual workloads, but increasing memory is normally unnecessary.

Which grapes can I scrape?

Any of the 1,054 grape varieties in Wine-Searcher's official grape index. The 15 featured grapes below are the highest-volume targets and a sensible starting point:

GrapeURL
Bordeaux Blend Redhttps://www.wine-searcher.com/grape-3-bordeaux-blend-red
Cabernet Sauvignonhttps://www.wine-searcher.com/grape-76-cabernet-sauvignon
Chardonnayhttps://www.wine-searcher.com/grape-98-chardonnay
Chenin Blanchttps://www.wine-searcher.com/grape-102-chenin-blanc
Gewurztraminerhttps://www.wine-searcher.com/grape-187-gewurztraminer
Malbechttps://www.wine-searcher.com/grape-261-malbec
Merlothttps://www.wine-searcher.com/grape-275-merlot
Nebbiolohttps://www.wine-searcher.com/grape-316-nebbiolo
Pinot Gris/Grigiohttps://www.wine-searcher.com/grape-382-pinot-grisgrigio
Pinot Noirhttps://www.wine-searcher.com/grape-384-pinot-noir
Rieslinghttps://www.wine-searcher.com/grape-407-riesling
Sangiovesehttps://www.wine-searcher.com/grape-432-sangiovese
Sauvignon Blanchttps://www.wine-searcher.com/grape-435-sauvignon-blanc
Shiraz and Syrahhttps://www.wine-searcher.com/grape-1112-shiraz-and-syrah
Tempranillohttps://www.wine-searcher.com/grape-483-tempranillo

Beyond featured grapes, the dropdown covers the full long tail: Albariño, Assyrtiko, Carmenère, Furmint, Grenache, Lagrein, Mencía, Petit Verdot, Touriga Nacional, Verdejo, Vermentino, Viognier, Xinomavro, Zinfandel, and ~1,000 more.

Tips for best results

  1. Start small: Test with a single grape and maxPagesPerGrape: 1 to verify the output format before running a full sweep.
  2. Use scrapeAllGrapes carefully: with 1,054 grapes × even just 3 pages each, you can comfortably exceed 5,000 wines, and every wine saved is one billed event. Lower maxPagesPerGrape to 1 for a wide-but-shallow sweep, and keep maxWines at a value you are happy to pay for. The run stops as soon as that cap is reached.
  3. Use sorting wisely: "Most Popular" returns the widest market sample; "Best Rated" surfaces critic favourites; "Best Value" finds bargains; "Most Expensive" / "Cheapest" anchor each end of the price ladder.
  4. Pair with a target currency: scraping multiple grapes from different proxy locations can return mixed currencies. Set targetCurrency to USD or EUR to make rows directly comparable.
  5. Monitor your runs: the Actor logs every grape it visits and the wine count per page, which is useful for spotting blocked or empty grape pages early.
  6. Export and analyze: Download results as CSV for spreadsheet analysis or JSON for programmatic processing.

FAQ

Q: How many wines can I extract per grape? A: Each grape page shows up to 25 wines per page. The Console pre-fills maxPagesPerGrape to 3 (~75 wines), and you can raise it up to 50 (~1,250 wines). Long-tail indigenous grapes will hit their natural ceiling well before that. The scraper stops paginating as soon as Wine-Searcher returns no more rows.

Q: Does the scraper handle anti-bot protection? A: Yes, and you do not have to configure anything. Since v2.0 the fetching is done entirely through the ZenRows premium proxy (JS rendering plus PerimeterX bypass), which handles proxy rotation and fingerprinting on its side. There is no browser in the Actor itself: the earlier Camoufox and Crawlee stack, its session pool and the Apify residential-proxy fallback were all removed in v2.0. The ZenRows key belongs to the Actor operator, so you never provide one.

Q: What happens if a page fails to load? A: A page that fails on a transient condition (HTTP 408, 429 or a 5xx, plus network timeouts) is retried once after a 5-second pause. Permanent failures are not retried. A page that still fails is logged as a warning and written to the dataset as a free error row, then the run moves on to the next grape. If five pages fail in a row, the run stops gracefully rather than burning through your timeout.

Q: What happens when I hit the maximum cost I set for the run? A: Each wine is written to the dataset and charged in the same operation, so you are never billed for a wine you did not receive, and never receive a wine that was not billed. When the budget can no longer cover the next wine, the run stops right there, sets a status message saying how many wines were delivered, and makes no further page request.

Q: Can I scrape an obscure grape that isn't in the dropdown? A: Yes. Paste the full Wine-Searcher grape URL into the customUrl field. The URL must follow the pattern https://www.wine-searcher.com/grape-{id}-{slug} (e.g. https://www.wine-searcher.com/grape-2120-areni-noir for the Armenian grape Areni Noir).

Q: Can I scrape every grape on Wine-Searcher in one run? A: Yes. Flip the scrapeAllGrapes checkbox to true. The Actor walks all 1,054 baked grape varieties. With maxPagesPerGrape: 3, expect 5,000 to 15,000 wines, so raise maxWines (default 1,000) if you want the sweep to run past a thousand, and check the Pricing tab for what that volume costs on your plan.

Q: How long does a typical run take? A: A single grape with 1 page takes about 30–60 seconds. A single grape paginated to 50 pages takes 15–30 minutes. A full scrapeAllGrapes run typically runs 4–8 hours depending on maxPagesPerGrape and the proxy backend. The default Actor timeout is 2 hours; raise it explicitly if you launch a deep scrapeAllGrapes sweep.

Q: Are prices always in USD? A: Prices depend on the proxy IP location. The scraper records the exact price and currency shown by Wine-Searcher. The currency field contains the ISO code (USD, EUR, GBP, INR, COP, ZAR, and 200+ others) so you can filter or convert as needed.

Q: Can I convert all prices to a single currency? A: Yes. Set the targetCurrency input to one of the 30 most-traded ISO codes (USD, EUR, GBP, CHF, JPY, and 25 others). The scraper fetches a live currency feed at startup (300+ source currencies covered, including Argentine Peso, Colombian Peso, Vietnamese Dong, Indonesian Rupiah, and other emerging-market currencies that some proxy locales return) and adds two fields to each wine: avg_price_converted (numeric value) and target_currency (ISO code). The original avg_price and currency are always kept alongside for transparency.

Q: Can I schedule regular scrapes? A: Yes. Use Apify's built-in scheduler to run the Actor on a daily, weekly, or monthly basis. This is useful for tracking grape-level price trends and new releases.

Q: What grape pages are supported? A: Any grape page on Wine-Searcher is supported, anything matching https://www.wine-searcher.com/grape-{id}-{slug}. The dropdown ships with 1,054 entries, but customUrl accepts any valid grape URL.

This scraper only extracts publicly available data that any visitor can see on Wine-Searcher.com: grape rankings, wine ratings, prices, and merchant listings. It does not access private accounts, bypass authentication, or extract personal user data.

When used for legitimate purposes such as market research, price comparison, or wine collection management, web scraping of publicly available data is generally considered acceptable. However, scraped data may be subject to Wine-Searcher's Terms of Service and applicable data protection regulations (GDPR in the EU).

Always use scraped data responsibly and in compliance with your local laws.

Integrate into your workflow

Run this Actor programmatically via the Apify API, schedule it, push results into your tools, or compose it with other Actors. Get your token from Settings → Integrations.

Quick API call (cURL)

curl "https://api.apify.com/v2/acts/mrbridge~wine-searcher-grape-scraper/run-sync-get-dataset-items" \
-X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-d '{"grape": "https://www.wine-searcher.com/grape-384-pinot-noir", "maxPagesPerGrape": 3, "tabFilter": "mostpopular"}'

The API tab on the Actor page auto-generates equivalent apify-client snippets for Node.js and Python.

Schedules, webhooks, MCP

FeatureWhat it doesWhere to configure
SchedulesRun automatically (e.g. 0 2 * * 1 for every Monday 02:00 UTC)Schedules tab → Create schedule from a Task
WebhooksPOST {datasetId, runMetadata} to your endpoint when a run succeedsIntegrations tab → Webhooks
MCPExpose this Actor as a tool to Claude, ChatGPT, CursorMCP tab on the Actor page, or mcp.apify.com

No-code integrations

PlatformWhat it does
Google Sheets / DriveAuto-export wine rankings to a Sheet
AirtableSync grape data to an Airtable base
ZapierTrigger 5,000+ apps on run completion
MakeVisual workflows: scrape → transform → DB
n8nSelf-hosted workflows with the Apify trigger node

Support

  • Bug reports & questions: Use the Actor's Issues tab on Apify Console
  • Feature requests: same place (Issues tab on the Apify Console)