Wine Searcher Grape Scraper — Rankings & Scores avatar

Wine Searcher Grape Scraper — Rankings & Scores

Pricing

$3.00 / 1,000 wine result extracteds

Go to Apify Store
Wine Searcher Grape Scraper — Rankings & Scores

Wine Searcher Grape Scraper — Rankings & Scores

Scrape Wine-Searcher's 1,054 grape variety pages — from Pinot Noir to obscure indigenous grapes. Get product names, grape blends, popularity rankings, critics scores, and prices with auto-detected currency. Export, schedule, or integrate with AI workflows or Zapier.

Pricing

$3.00 / 1,000 wine result extracteds

Rating

5.0

(2)

Developer

MrBridge

MrBridge

Maintained by Community

Actor stats

1

Bookmarked

19

Total users

3

Monthly active users

2 hours ago

Last modified

Categories

Share

Extract wine data from Wine-Searcher grape variety pages at scale. This Actor scrapes product names, grape blends, popularity rankings, critics' scores, and average prices for every wine listed under a grape — from canonical varieties like Pinot Noir or Cabernet Sauvignon 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
  • Grape variety of the wine itself (which may differ from the page grape on blends)
  • Popularity ranking within the grape's listing
  • Critics' score (average across professional reviewers, out of 100)
  • Average price per 750ml bottle with currency detection
  • 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 ActorWhat it does
Grape rankings & pricesWine Searcher Grape Scraper (this one)Rankings, prices & critics scores by grape variety on Wine-Searcher
Critic ratings (Parker, Spectator, Decanter...)Millesima Wine ScraperPrices + scores from 8 major critics
Community ratings & taste profilesVivino Wine ScraperExplore wines by region on Vivino
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 is the connective tissue of the wine industry. 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/...
grapeGrape variety or blend of the wine itself"Pinot Noir"
grape_urlLink to the grape variety pagehttps://www.wine-searcher.com/grape-384-pinot-noir
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 grape vs. source_grape: a wine listed on the Pinot Noir page may itself be a blend — its grape field holds the wine's actual blend ("Pinot Noir, Chardonnay" for some Champagnes), while source_grape always names the page the row was scraped from ("Pinot Noir"). This distinction matters when joining data across grape pages.

Supported currencies

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

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 — 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)
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",
"grape": "Pinot Noir",
"grape_url": "https://www.wine-searcher.com/grape-384-pinot-noir",
"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?

TierCostWhat you get
Per result~$0.003/winePay only for extracted data, not compute time
Free tier$5 free credits/month~1,600 wines for free every month
Starter plan$29/month~9,600 wines/month

This Actor uses Apify's pay-per-event pricing. You only pay for results — no monthly commitment required. Start with $5 free credits.

Estimates based on event pricing only. Actual costs include residential proxy bandwidth and platform compute. The free $5 credit covers everything.

Cost estimates (including proxy)

ScenarioWinesApprox. total cost
Single grape, 1 page~25~$0.15-$0.20
Single grape, all pages (max 50)up to ~1,250~$5-$8
10 popular grapes, 5 pages each~1,250~$7-$10
scrapeAllGrapes mode (1,054 × 3 pages)~5,000-15,000~$20-$60

Memory recommendation: 4096 MB is the default and is sufficient for every scenario above (no recursive crawl is involved). The minimum is 1024 MB for single-grape scrapes; the maximum is 8192 MB if you want extra headroom on scrapeAllGrapes runs.

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 ~$20 in event cost. Lower maxPagesPerGrape to 1 for a wide-but-shallow sweep.
  3. Use sorting wisely: "Most Popular" surfaces the broadest market signal; "Best Rated" highlights 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 — 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. The scraper combines ZenRows premium proxy (with PerimeterX bypass) and Camoufox — a stealth Firefox fork with C++-level anti-detection patches — plus Apify residential proxies as a fallback. Human-like behavioural simulation, session management, and the proxy rotation are all managed automatically.

Q: What happens if a page fails to load? A: The scraper retries each page automatically with a fresh proxy session. Failed pages are logged as warnings and the run continues with the next grape page or grape.

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 and the pay-per-event price of $0.003/wine, expect 5,000–15,000 wines and $20–$60 total.

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 — 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

Changelog

v1.0.0 (2026-05)

⚠️ Major pivot: this Actor now scrapes grape variety pages instead of region pages. Wine-Searcher modified its region page layout, breaking the previous scraper. Grape pages retained the legacy DOM structure, so the Actor was redirected at v1.0.

Breaking changes:

  • Input field regiongrape (dropdown of 1054 grape varieties)
  • Input field customUrl pattern: /grape-{id}-{slug} instead of /regions-...
  • Input field maxPagesPerRegionmaxPagesPerGrape
  • Removed: scrapeSubRegions, maxDepth (no hierarchy among grapes)
  • Added: scrapeAllGrapes checkbox to crawl every grape variety in one run
  • Output field regionsource_grape (page name, e.g. "Pinot Noir") + source_grape_id (Wine-Searcher numeric ID)

What stayed the same:

  • All other output fields (product_name, product_url, grape, grape_url, popularity, critics_score, avg_price, currency, avg_price_converted, target_currency, source_url)
  • The tabFilter sort (Most Popular / Best Rated / Best Value / Most Expensive / Cheapest)
  • The currency conversion feature (now backed by a 300+ currency live feed, see changelog v1.0.x entries)
  • Pay-per-event pricing at $0.003/wine
  • The Camoufox + ZenRows anti-detection stack

If you had scheduled runs on the v0.x region scraper, they will now log a deprecation warning and require reconfiguration with the new grape or customUrl fields.

Earlier (v0.1 — v0.3, 2025-12 to 2026-04) — Region scraper era

Before the v1.0.0 pivot, this Actor scraped Wine-Searcher region pages instead of grape pages, under the slug wine-searcher-region-scraper. Across the v0.x line it accumulated: pay-per-event pricing, the Camoufox + ZenRows anti-detection stack, the 30-currency conversion via ECB rates (predecessor of today's 300+ live feed), a 146-region dropdown, recursive sub-region crawling, parser hardening for ~30 currency symbols (Rs / Rp / RM / R / kn / лв / Kč …), price-column SVG-marker extraction, popularity-rank leak fix, proxy-country URL cleanup, and graceful exits.

When Wine-Searcher changed its region-page layout in 2026-05, the region scraper broke. The grape pages kept the legacy DOM, so the Actor was redirected to grape pages at v1.0.0. All of the v0.x engineering — anti-detection, currency parsing, pay-per-event billing — carried over and remains live in v1.0.x.