Millesima Wine Scraper - Prices & Critic Ratings avatar

Millesima Wine Scraper - Prices & Critic Ratings

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Millesima Wine Scraper - Prices & Critic Ratings

Millesima Wine Scraper - Prices & Critic Ratings

Scrape Millesima.fr for Bordeaux and Burgundy wines: per-bottle and per-case prices, vintage, appellation, producer, stock status and critic ratings from 18 publications including Robert Parker, Wine Spectator and Decanter. En primeur pricing is covered for recent vintages.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

MrBridge

MrBridge

Maintained by Community

Actor stats

0

Bookmarked

17

Total users

2

Monthly active users

3 days ago

Last modified

Share

Millesima Wine Scraper

Extract wine data from Millesima.fr, one of Europe's leading online wine merchants. Get prices, vintages, critic ratings (Robert Parker, Wine Spectator, Decanter), appellations, and regions for thousands of wines.

No login required, no API key, no coding. Click "Try for free" and start extracting wine data.

What does this scraper do?

Millesima Wine Scraper pulls wine data from Millesima.fr, including critic scores from 18 wine publications. It crawls product pages and returns one structured row per wine, with the producer, vintage, region, price and ratings as separate fields.

Key features:

  • Critic ratings: Robert Parker, Wine Spectator, Decanter, James Suckling, Jeb Dunnuck, Vinous, Neal Martin, Antonio Galloni
  • Complete data: name, per-bottle and per-case prices, vintage, region, appellation, producer, color, alcohol, classification, stock status, image
  • Input options: start from any category page or use the default all-wines URL
  • Pagination: automatically crawls multiple pages per category
  • Export: JSON, CSV, Excel, XML

Quick start: test in 60 seconds

  1. Click "Try for free" on the Millesima Wine Scraper page
  2. Keep the prefilled maxItems of 100 for a quick first test, or clear the field to extract every wine reachable from your start URLs (bounded by your per-run spending limit)
  3. Click "Start"
  4. Download your data from the Dataset tab in JSON, CSV, or Excel format

Which wine scraper should I use?

NeedBest scraperWhat it does
Critic ratings (Parker, Spectator, Decanter...)Millesima Wine Scraper (this one)Prices + 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
Grape popularity, scores & pricesWine-Searcher Grape ScraperPopularity, scores & prices by grape variety on Wine-Searcher

Why scrape Millesima.fr?

Millesima is a major online wine retailer specializing in fine wines and en primeur offerings. The site contains:

  • Thousands of wines with verified critic scores from top publications
  • En primeur pricing for recent Bordeaux and Burgundy vintages
  • Historical price data across multiple vintages

Here are common use cases:

  • Price monitoring: track wine prices across vintages and appellations
  • Investment analysis: compare critic ratings to identify undervalued wines
  • Market research: analyze pricing trends by region, vintage, or producer
  • Inventory sourcing: find wines matching specific rating and price criteria
  • Collection management: build a database with critic scores for your cellar

How do I scrape Millesima?

  1. Click "Try for free" above to open the Actor
  2. Optionally change the start URLs to target a specific region (e.g., Bordeaux, Bourgogne)
  3. Set maxItems to limit the number of wines extracted
  4. Click "Start" to begin extraction
  5. When finished, download your data from the Dataset tab in JSON, CSV, or Excel format

What data can you extract?

FieldTypeDescription
namestringFull wine name including château/domaine
priceMinnumberCheapest available format in EUR TTC (typically the single bottle)
priceMaxnumberMost expensive format in EUR TTC (typically the full case)
vintageintegerProduction year
regionstringWine region (Bordeaux, Bourgogne, and more)
subRegionstringSub-region (e.g. Côte de Beaune)
appellationstringAppellation d'origine
producerstringProducer / château / domaine
countrystringCountry of origin
colorstringRouge, Blanc, Rosé, Effervescent or Champagne
alcoholnumberAlcohol content (% vol)
classificationstringClassification (1er cru, Grand cru, and more)
farmingstringFarming / certification (organic, biodynamic, and more)
inStockbooleanWhether at least one format is in stock
availabilitystringEarliest deliverable date across formats (today for in-stock wines)
descriptionstringMillesima's short tasting note (French)
imageUrlstringBottle image URL (Millesima CDN)
partNumberstringMillesima SKU
ratingsobjectCritic scores keyed by critic name (Parker, Wine Spectator, and more)
formatsarrayOne entry per purchasable format (bottle, case...) with its own listPrice, offerPrice, availability, inStock and promotion
promotionbooleanWhether the wine is currently on promotion
productTypestringProduct type as labeled by Millesima (Vin, and more)
exclusiveCellarbooleanPart of Millesima's exclusive cellar selection
isSpiritbooleanWhether the product is a spirit rather than a wine
urlstringDirect link to product page

Note for v2.x users: the former price field was split into priceMin and priceMax in v3.0.0. The old value corresponded to the case price for most wines, which priceMax now surfaces explicitly.

About this Actor

Maintained by MrBridge. See Millesima scraper details or the full scraper lineup. For context on where wine prices and ratings come from, read The Wine Data Landscape.

How do I configure the scraper?

ParameterTypeDefaultDescription
startUrlsarrayAll wines pageURLs to start scraping from
maxItemsinteger100 prefilled in Console, unlimited via APIMaximum wines to extract (empty or 0 = no limit)
maxPagesPerCategoryintegerunlimitedMaximum pages per start URL (empty or 0 = every page)
proxyConfigurationobjectNo proxyProxy settings

Example input

{
"startUrls": [
{ "url": "https://www.millesima.fr/bordeaux.html" },
{ "url": "https://www.millesima.fr/bourgogne.html" }
],
"maxItems": 500,
"maxPagesPerCategory": 20
}

Output example

{
"name": "Louis Latour : Aloxe-Corton 1er cru \"Les Chaillots\" 2018",
"priceMin": 82,
"priceMax": 480,
"vintage": 2018,
"region": "Bourgogne",
"subRegion": "Côte de Beaune",
"appellation": "Aloxe-Corton",
"producer": "Louis Latour",
"country": "France",
"color": "Rouge",
"alcohol": 13.5,
"classification": "1er cru",
"farming": "Agriculture Raisonnée",
"inStock": true,
"availability": "2026-07-27",
"description": "Un 1er Cru charpenté aux notes de cerise confite, d'épices douces et de sous-bois",
"imageUrl": "https://static.millesima.com/s3/attachements/h280px/E054_2015NM_c.png",
"partNumber": "E054/18",
"ratings": {
"Robert Parker": "88",
"Jancis Robinson": "16.5",
"Wine Spectator": "89",
"James Suckling": "92",
"Allen Meadows": "88",
"Wine Decider": "90"
},
"formats": [
{
"label": "1 Bouteille (75cl)",
"partNumber": "E054/18/CU/CC/1",
"listPrice": 82,
"offerPrice": 82,
"availability": "2026-07-27",
"inStock": true,
"promotion": false
},
{
"label": "Un carton de 6 Bouteilles (75cl)",
"partNumber": "E054/18/C/CC/6",
"listPrice": 480,
"offerPrice": 480,
"availability": "2026-07-27",
"inStock": true,
"promotion": false
}
],
"promotion": false,
"productType": "Vin",
"exclusiveCellar": false,
"isSpirit": false,
"url": "https://www.millesima.fr/louis-latour-aloxe-corton-1er-cru-les-chaillots-2018.html"
}

How much does it cost to scrape Millesima?

TierCostWhat you get
Per result~$0.005/winePay only for extracted data, not compute time
Free tier$5 free credits/month~1,000 wines for free every month
Starter plan$29/month~5,800 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 may include minimal platform compute fees. The free $5 credit covers both.

Cost estimates

ScenarioWinesApprox. cost
Quick test100~$0.50
Regional scrape500~$2.50
Full catalog1,000~$5.00
Deep scrape5,000~$25.00

Higher Apify plan tiers get lower per-result pricing (down to $0.003). Apify gives you $5 free credits every month on the Free plan.

Which wine critics are included?

The scraper extracts scores from these major wine publications:

AbbreviationCritic
RPRobert Parker (Wine Advocate)
WSWine Spectator
DEDecanter
JSJames Suckling
JRJancis Robinson
JDJeb Dunnuck
NMNeal Martin (Vinous)
VGAntonio Galloni (Vinous)
AMAllen Meadows (Burghound)
BDBettane & Desseauve
FIGLe Figaro
RVFRevue du Vin de France
RGRené Gabriel
JMQJean-Marc Quarin
WEWine Enthusiast
WDWine Decider
amaAlexandre Ma
twiThe Wine Independent

Tips for best results

  1. Start with a specific region: targeting one region is faster than scraping all wines
  2. Test with a small maxItems first: use 50-100 to verify results before large runs
  3. Use maxPagesPerCategory to sample the first pages of several categories instead of exhausting one
  4. Full-category runs: clear the prefilled maxItems (and leave maxPagesPerCategory empty) and the Actor crawls the whole category (a region like Bourgogne yields 3,000+ wines). Check your per-run spending limit covers it, and raise the run timeout if you use residential proxies
  5. Schedule regular runs: wine prices change frequently, especially for en primeur

FAQ

How often is Millesima data updated?

Millesima updates prices and inventory regularly. For the most current data, run the scraper weekly or set up a scheduled run via the Apify platform.

Can I scrape specific wine regions only?

Yes. Change the startUrls parameter to target a specific category URL like https://www.millesima.fr/bordeaux.html or https://www.millesima.fr/bourgogne.html.

What if a wine has no critic rating?

Wines without critic scores have ratings: null. Not all wines on Millesima have been reviewed by all critics.

Is the data exported in English or French?

Wine names, regions, and appellations are in their original French form as displayed on Millesima.fr.

Can I schedule automated runs?

Yes. Use the Apify platform's scheduling feature to run the scraper daily, weekly, or at any custom interval. Combined with webhooks or integrations (Zapier, Make), you can automate your wine data pipeline.

This scraper only extracts publicly available data that any visitor can see on Millesima.fr: wine prices, vintages, critic ratings, and product descriptions. 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 Millesima'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.

Looking for wine data from other sources?

Integrate into your workflow

API integration

Call this actor programmatically using the Apify API. Get your API token from Settings → Integrations.

cURL:

curl "https://api.apify.com/v2/acts/mrbridge~millesima-wine-scraper/run-sync-get-dataset-items" \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-d '{
"startUrls": [{"url": "https://www.millesima.fr/bordeaux.html"}],
"maxItems": 100
}'

Node.js:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('mrbridge/millesima-wine-scraper').call({
startUrls: [{ url: 'https://www.millesima.fr/bordeaux.html' }],
maxItems: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Found ${items.length} wines with critic ratings`);

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("mrbridge/millesima-wine-scraper").call(run_input={
"startUrls": [{"url": "https://www.millesima.fr/bordeaux.html"}],
"maxItems": 100,
})
for wine in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{wine['name']} - {wine['priceMin']}€ - {wine.get('ratings') or {}}")

Scheduled runs: track prices over time

  1. Create a Task with your saved input (region URLs, max items)
  2. Go to the Schedules tab → Create schedule
  3. Set a cron expression, e.g. 0 8 * * 1 for every Monday at 8 AM UTC

No-code integrations

PlatformWhat it doesSetup
Google SheetsExport wine data to a Google Sheet automaticallyIntegrations tab → Google Drive
AirtableSync wines to an Airtable base with field mappingIntegrations tab → Airtable
ZapierTrigger Zaps on run completion → push to 5,000+ appsApify Zapier connector
MakeVisual workflows: scrape → transform → insert into DBApify Make module
n8nSelf-hosted workflow automation with Apify trigger nodeApify n8n community node

Integrate with Zapier, Make or n8n

  • Zapier: Add "Apify" trigger → "Run Actor" with Actor ID YYFcotMx2QaXrWa0r
  • Make: Add "Apify" module → "Run an Actor" with Actor ID YYFcotMx2QaXrWa0r
  • n8n: Use the Apify n8n node or HTTP Request: POST https://api.apify.com/v2/acts/mrbridge~millesima-wine-scraper/runs?token=YOUR_APIFY_TOKEN

Support

Having issues? Open an issue on the Issues tab or contact us through Apify support.