# Vivino Wine Data Scraper (x402)

> Vivino Wine Data Scraper (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Fetches structured wine data from Vivino including vintages, pricing, reviews, and taste profiles for up to 250 wines per call, billed per successful call via x402.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/vivino?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/vivino-wine-data-scraper-x402-564f7cb5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Lp9V7UvOjVfBwPhS2-Qws

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability vivino-wine-data-scraper-x402-564f7cb5 -d '<json body>'
```

Example prompt: Look up Vivino data for these wines — Opus One 2018, Screaming Eagle 2019, and Caymus Cabernet 2020 — and get me their prices in USD for the US market, plus any available taste profiles.

## When to prefer this

Use this endpoint when you need structured, machine-readable wine data from Vivino — including prices, vintages, reviews, and taste profiles — for one or many wines at once. Prefer this over manual scraping or general web search when you need clean JSON output with wine-specific fields (winery, region, wine type, vintage ID) and want pay-per-successful-call pricing with no charge for failed runs.

## Known failure modes

- Wine name not found on Vivino — item missing from results
- Vintage not found in first search pages — increase maxSearchPages
- No price offers available in the requested country/currency — offer fields null
- Rate limits or scraping blocks from Vivino — empty or partial results, not charged
- Invalid country or currency code — may return no pricing data
- Request exceeds 250 wines — rejected at input validation

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

A JSON object with a count and an array of matched wine items, each containing the wine name, winery, region, wine type, vintage year, wine ID, vintage ID, and optionally price offers, public reviews (ratings, notes, dates, display names), and taste/flavor profiles. Failed or empty scrapes are not charged.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "wines": {
   "type": "array",
   "description": "Enter up to 250 wine names, wine URLs containing /w/ and a wine ID, or vintage URLs containing /wines/ and a vintage ID. Add a year to a name or URL to request that vintage."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "maximum": 250,
   "minimum": 1,
   "description": "Stop after this many distinct matched vintages."
  },
  "countryCode": {
   "type": "string",
   "default": "US",
   "description": "Two-letter market country code used for availability and prices."
  },
  "currencyCode": {
   "type": "string",
   "default": "USD",
   "description": "Three-letter currency code requested for available offers."
  },
  "includePrices": {
   "type": "boolean",
   "default": true,
   "description": "Search for a matching offer for direct vintage URLs. Name lookups include any offer returned by search."
  },
  "includeReviews": {
   "type": "boolean",
   "default": false,
   "description": "Fetch public review ratings, notes, dates, and display names."
  },
  "maxSearchPages": {
   "type": "integer",
   "default": 2,
   "maximum": 5,
   "minimum": 1,
   "description": "Maximum search pages to inspect per distinct wine name. Increase when a vintage is missing from the first results."
  },
  "maxReviewsPerWine": {
   "type": "integer",
   "default": 10,
   "maximum": 100,
   "minimum": 1,
   "description": "Maximum public reviews returned per matched wine when reviews are enabled."
  },
  "includeTasteProfile": {
   "type": "boolean",
   "default": false,
   "description": "Fetch structure and flavor notes for each matched wine."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "url": null,
    "name": null,
    "region": null,
    "wineId": null,
    "winery": null,
    "vintage": null,
    "wineType": null,
    "vintageId": null
   }
  ],
  "product": "vivino"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/vivino-wine-data-scraper-x402-564f7cb5/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
