Vivino Wine Matcher API avatar

Vivino Wine Matcher API

Pricing

from $1.50 / 1,000 wine results

Go to Apify Store
Vivino Wine Matcher API

Vivino Wine Matcher API

Match messy wine product titles to Vivino wines in bulk. Get winery, vintage, rating, reviews, grapes, ABV, price, source URL, confidence, and alternatives—pay only for successful matches.

Pricing

from $1.50 / 1,000 wine results

Rating

0.0

(0)

Developer

Vicxyz1

Vicxyz1

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

0

Monthly active users

13 days ago

Last modified

Share

Match messy retailer titles, supplier descriptions, or simple wine names to structured Vivino wine records in bulk. Each successful match returns normalized identity data, vintage, ratings, pricing, a confidence score, and alternative candidates—ready for catalog enrichment or export.

This Actor is built for wine product entity resolution, not broad Vivino crawling. Submit up to 500 unique queries and receive one best-match dataset row for each successful result.

From product title to structured wine

Input

Vin rosu sec Tenuta Luce Brunello di Montalcino 2018, 0.75L

Matched output from a successful Actor run

{
"query": "Vin rosu sec Tenuta Luce Brunello di Montalcino 2018, 0.75L",
"normalized_query": "Tenuta Luce Brunello di Montalcino 2018",
"status": "found",
"match_confidence": 1,
"name": "Luce Brunello di Montalcino",
"winery": "Tenuta Luce",
"year": 2018,
"grapes": "Sangiovese",
"alcohol": "14.9",
"score": 4.4,
"reviews": 584,
"url": "https://www.vivino.com/tenuta-luce-luce-brunello-di-montalcino/w/83595?year=2018",
"avg_price": "649.99",
"currency": "EUR"
}

Values such as ratings, review counts, prices, and availability may change at the source.

Why use this Actor?

  • Handles messy catalog titles: removes packaging, pack-count, bottle-size, and other retail noise before matching.
  • Selects one best candidate: ranks matches using winery, wine name, grape, and vintage evidence.
  • Shows match confidence: use match_confidence to review uncertain matches before importing them.
  • Returns alternatives: strong variant candidates are preserved in alternatives when available.
  • Rejects obvious non-wine products: filters beer, cider, gift sets, and similar false positives.
  • Success-only result billing: unmatched searches and backend errors do not create billable dataset rows.
  • No separate Vivino API key: the Actor uses a managed backend connection.

Best-fit use cases

  • Enrich retailer, distributor, marketplace, or restaurant wine catalogs.
  • Normalize supplier feeds and inconsistent SKU descriptions.
  • Add wine ratings, review counts, vintages, wineries, grapes, and source URLs.
  • Flag uncertain matches for human review using confidence and alternatives.
  • Schedule recurring enrichment jobs and export results as JSON, CSV, Excel, or XML.

Input

Provide one or more wine names or product titles in queries:

{
"queries": [
"Tenuta Luce Brunello di Montalcino 2018, 0.75L",
"Morillon Blanc 2024 - Jeff Carrel",
"Purcari Malbec"
]
}
FieldTypeRequiredLimit
queriesArray of unique stringsYes500 per run

For stronger matches, include the producer, full label name, and vintage when available. Broad intent queries such as best merlot or cheap Italian wine are not a good fit.

Output fields

Successful matches are written to the default dataset.

FieldMeaning
queryOriginal submitted product title or wine name.
normalized_queryCleaned query used by the matching engine.
statusfound for billable dataset records.
match_confidenceApproximate matching confidence from 0 to 1; review lower-confidence matches.
matched_atUTC time when the match row was prepared.
name, winery, yearMatched wine identity and vintage.
type, colorSource-provided numeric identifiers when available.
grapes, alcoholSource-provided grape/blend and ABV values.
score, reviewsCommunity rating and associated review/rating volume when available.
urlMatched Vivino source page.
avg_price, currencySource/store price and ISO currency when available; otherwise null.
alternativesStrong alternative variants and their match evidence when available.

Source coverage varies by wine and market. Missing fields are returned as null or omitted; important matches should be reviewed before production pricing, inventory, or compliance decisions.

Run it through the Apify API

Replace YOUR_APIFY_TOKEN with your Apify API token:

curl -X POST \
"https://api.apify.com/v2/acts/pulse_hub~vivino-wine-search-api/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"queries":["Purcari Malbec","Tenuta Luce Brunello 2018 0.75L"]}'

You can also run the Actor from the Apify Console, official JavaScript/Python clients, schedules, webhooks, and integrations.

Billing

This Actor uses Apify pay-per-event pricing:

  • Actor Start is charged once per run at the price shown on the Pricing tab.
  • Wine result is charged once for each successful match written to the default dataset.
  • Unmatched queries and backend errors remain outside the default dataset and are not charged as Wine result events.

For example, 100 submitted queries with 83 successful matches produce 83 billable wine-result rows. The RUN_SUMMARY record reports totals, unmatched queries, and request errors.

Limits and reliability

  • Maximum 500 unique queries per run.
  • Designed for batch enrichment rather than latency-sensitive interactive search.
  • Matching and field availability depend on the source data available for each query.
  • match_confidence is a matching heuristic, not a guarantee of product identity.

This Actor is an independent data-enrichment tool and is not affiliated with, endorsed by, or sponsored by Vivino. Wine names, brands, wineries, and trademarks belong to their respective owners. Ensure that your use complies with applicable laws, marketplace requirements, and relevant source and downstream terms.

Support

When reporting an issue, include the Actor run ID, a small sample of affected queries, and the corresponding output rows. This makes matching problems easier to reproduce.