🍷Millesima Wine data avatar

🍷Millesima Wine data

Pricing

from $1.00 / 1,000 results

Go to Apify Store
🍷Millesima Wine data

🍷Millesima Wine data

finds name, per-bottle and per-case prices, vintage, region, appellation, producer, color, alcohol, classification, stock status, image, and critic ratings from up to 18 wine publications

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Jordan Byte

Jordan Byte

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Millesima Wine Scraper

What does Millesima Wine Scraper do?

Millesima Wine Scraper extracts wine data from Millesima.fr, one of Europe's leading online wine merchants. Point it at a category page and it returns clean, structured data for every wine it finds - name, per-bottle and per-case prices, vintage, region, appellation, producer, color, alcohol, classification, stock status, image, and critic ratings from up to 18 wine publications (Robert Parker, Wine Spectator, Decanter, James Suckling, and more) - ready to download or pipe into another system.

Try it instantly by clicking Start with the default input, which crawls Millesima's full wine catalog.

Because it runs on the Apify platform, you get API access, one-click scheduling (e.g. run daily to track price changes), integrations with Zapier/Make/Google Sheets, automatic proxy rotation, and full run monitoring - none of which you get from a script running on your own machine.

Why use Millesima Wine Scraper?

  • Price monitoring - track wine prices across vintages and appellations over time.
  • 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 to use Millesima Wine Scraper

  1. Click Try for free or Start on the Actor page.
  2. In the Start URLs field, keep the default all-wines page, or add one or more Millesima.fr category pages you want to scrape instead (e.g. https://www.millesima.fr/bordeaux.html for Bordeaux, https://www.millesima.fr/bourgogne.html for Bourgogne).
  3. Set Max items to limit how many wines are extracted per start URL (leave at the default 100 for a quick test, or set to 0 for unlimited).
  4. Optionally set Max pages per start URL to sample only the first few pages of a category instead of crawling it in full.
  5. Click Start and wait for the run to finish.
  6. Open the Dataset tab to browse, filter, and export your results.

Input

Configure the Actor using the Input tab in Apify Console, or by passing a JSON object via the API. The following fields are available:

FieldTypeDefaultDescription
startUrlsarrayAll-wines pageMillesima.fr category pages to crawl, e.g. https://www.millesima.fr/bordeaux.html. Product/detail pages are not supported as start URLs - use a category listing.
maxItemsinteger100Maximum number of wines to extract per start URL. Set to 0 for unlimited (bounded only by your per-run spending limit).
maxPagesPerCategoryinteger0 (unlimited)Maximum number of listing pages to crawl per start URL (each page holds up to 44 wines). Set to 0 to follow pagination through the entire category.
proxyConfigurationobjectNo proxyProxy settings. Disabled by default since the site does not require a proxy for reliable scraping - enable it only if you notice blocked or failed requests.

Example input:

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

Output

Each scraped wine is saved as one item in the dataset. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Example output item:

{
"name": "Louis Latour : Aloxe-Corton 1er cru \"Les Chaillots\" 2018",
"priceMin": 86,
"priceMax": 504,
"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-08-07",
"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",
"Wine Spectator": "89",
"James Suckling": "92",
"Jancis Robinson": "16.5",
"Allen Meadows": "88",
"Wine Decider": "90"
},
"formats": [
{
"label": "1 Bouteille (75cl)",
"partNumber": "E054/18/CU/CC/1",
"listPrice": 86,
"offerPrice": 86,
"availability": "2026-08-07",
"inStock": true,
"promotion": false
},
{
"label": "Un carton de 6 Bouteilles (75cl)",
"partNumber": "E054/18/C/CC/6",
"listPrice": 504,
"offerPrice": 504,
"availability": "2026-08-07",
"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"
}

Data table

FieldTypeDescription
namestringFull wine name including château/domaine
priceMinnumberCheapest available format in EUR TTC (typically the single bottle)
priceMaxnumberMost expensive available 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 currently deliverable
availabilitystringEarliest deliverable date across formats
descriptionstringMillesima's short tasting note (French)
imageUrlstringBottle image URL
partNumberstringMillesima SKU
ratingsobjectCritic scores keyed by critic name (Parker, Wine Spectator, and more), or null if none available
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 the wine's product page

Which wine critics are included?

The scraper extracts scores from up to 18 major wine publications, wherever Millesima has published a score for that wine:

Robert Parker, Wine Spectator, Decanter, James Suckling, Jancis Robinson, Jeb Dunnuck, Neal Martin, Antonio Galloni, Allen Meadows, Bettane & Desseauve, Le Figaro, Revue du Vin de France, René Gabriel, Jean-Marc Quarin, Wine Enthusiast, Wine Decider, Alexandre Ma, and The Wine Independent.

How much does it cost to scrape Millesima?

This Actor runs on Apify's standard compute-unit pricing - you pay for the platform resources your run consumes, not a flat per-wine fee. A single listing page returns dozens of wines at once, so extraction is fast and light on compute. Apify's Free plan includes monthly platform credits, which typically cover small and medium test runs.

To estimate cost before a large run, start with a small maxItems value (e.g. 50-100), check the Compute unit usage shown for that run in the Apify Console, and scale up from there.

Tips for best results

  • Start with a specific region: targeting one region (e.g. Bordeaux or Bourgogne) is faster than scraping the entire catalog.
  • Test with a small maxItems first: use 50-100 to verify results before a large run.
  • Use maxPagesPerCategory to sample the first few pages of several categories instead of exhausting one.
  • Full-category runs: set maxItems to 0 and leave maxPagesPerCategory at 0 to crawl an entire category (a region like Bourgogne holds 3,000+ wines). Make sure your per-run spending limit covers it.
  • Schedule regular runs: wine prices change frequently, especially for en primeur offerings.

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 field 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 any critic scores have ratings: null. Not all wines on Millesima have been reviewed by all critics.

Is the data extracted in English or French?

Wine names, regions, and appellations are kept 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. If you run into an issue or have a feature request, open a ticket in the Actor's Issues tab.