Scrape Wine-Searcher region and appellation pages, from Bordeaux to Napa Valley. Get each wine's popularity rank, critic score, average price with auto-detected currency, country, and label image. Export data, run via API, schedule runs, or integrate with other tools and AI workflows. By MrBridge
A page could show one ranking while another was requested, and the wines it listed were published and billed as if they matched. A Bordeaux run asking for Most Popular came back with ten wines all scored 97 out of 100, in no popularity order, which is another ranking entirely. The scraper now identifies the ranked list by the container Wine-Searcher puts it in, checks that the active tab is the one that was asked for, and, for Most Popular, checks that the popularity ranks are actually in order.
A page whose ranking cannot be confirmed is fetched once more. If the second response is no better, no wine from that page is published and none is billed. An error row records the ranking that was requested and the one that was received, the run continues with the next page, and it still finishes successfully. After three such pages in a row the run stops early rather than walking a long pagination it cannot use, and says so in the summary.
Changes
The run summary now reports the ranking that was requested and how many pages were dropped because the page did not match it, with the reason for each.
Result counts follow the page. A large region usually fills a page with about 25 wines, a small appellation legitimately returns fewer, and no page size is assumed anywhere.
2026-08-20 (second release of the day)
Changes
Pages are now always collected from a US exit node, so Wine-Searcher serves them in US dollars and every converted price starts from the same currency.
BREAKING CHANGE
Removed avg_price, currency and region_url from the dataset items. Each wine now carries a single price, avg_price_converted, in the currency named by target_currency. Code reading avg_price or currency must read avg_price_converted instead, and region_url has no replacement.
Fixes
Prices are no longer off by a factor of about 100 on some runs. The proxy used to pick a random country, Wine-Searcher answered in that country's currency and number format, and one wine in the reference run was published at 15,186.46 US dollars instead of about 152. Every request now goes out through a US exit node.
A page that still comes back in another currency is fetched once more, and dropped if it comes back wrong again. No wine from that page is published or billed, an error row records the currency that was received, and the run continues with the next page. A misread amount is worse than a missing one.
2026-08-20
Features
New output field popularity_score: the popularity rank as a sortable integer, 30172 for "30,172nd in popularity". It is null when a row publishes no rank, never 0, since a smaller number means a better rank. The existing popularity string is unchanged.
Changes
The input form now uses the 491-option country and wine region dropdown as its only destination selector. The custom URL field has been removed from the form.
Results now lead with the currency you selected. The Overview shows the converted price and the selected currency, and the original price and currency move to the end of each record, where the dataset schema documents them as the original values. Wine-Searcher serves prices in the locale of whichever country the proxy landed in, so those originals are not a fixed currency.
target_currency is now filled on every delivered wine, including rows where no conversion was possible. A row reads as "asked for EUR, no amount available" instead of as "no conversion requested".
Removed the custom dataset view that collided with Apify's native "All fields" view, which is why the Console listed "All fields (1)" and "All fields (2)". The final Console rendering will be verified after deployment.
BREAKING CHANGE
Removed the custom dataset view ID wines, which duplicated Apify's native "All fields" view. Consumers using ?view=wines must use the raw dataset items or ?view=overview.
Fixes
A currency marker with no amount, such as "R," on a South African page or "kr," on a Swedish one, is no longer read as a price. Those rows now return an empty price and an empty currency instead of an unusable value, and the wine is still delivered and billed as normal. Real amounts such as "R 1,234", "kr 399" and "$ 7" are unaffected.
2026-08-19
Features
Country and wine region selector: a single dropdown now lists 491 destinations, 120 countries and 371 wine regions, instead of 66 regions. Scrape a whole country such as France, Italy or Chile in one run.
Every destination available before this release still works: no URL was removed, and Burgundy remains the default.
The destination, "Pages per Country or Region", ranking, and currency controls now appear together in the main input section, so all run options are visible without opening additional panels. The default remains 1 page, about 25 wines, for a fast first run, and the page limit can be increased to 50.
Changes
Prices are now converted to US dollars by default. The "none, keep original prices" option has been removed from the currency selector, and a saved input that used it is read as USD. Pick any other target currency with targetCurrency. The original price and its detected currency are still returned on every row.
2026-07-02
Features
Initial release: scrape Wine-Searcher region and appellation pages via a premium proxy with anti-bot handling managed automatically.
66-region dropdown of marquee appellations (Burgundy default), plus a customUrl override for any /regions-{slug} page not in the list.
Extract popularity ranking, critic score, average price, and detected currency for each wine, with automatic pagination up to 50 pages per region.
Sort/tab selector: Most Popular, Best Rated, Best Value, Most Expensive, Cheapest.
Optional live currency conversion to 30 target ISO codes via targetCurrency.
Pay-per-event pricing: wine-result at $0.003 per wine extracted.