Try any of 3860 endpoints — live.
Pick an endpoint, load a working example, tweak the params, and send — no signup to try. Results render the way the data deserves; raw JSON, headers & code are one tab away.
Search Vivino's wine database. Filters by free text, grape, region, country of origin, wine type, vintage year, price band and rating band, and every filter here was measured to change the result count. Returns the vintage id and the wine id, the rating Vivino prints on the card AND the all-vintages pool beside it, the region/winery/style, and the cheapest live merchant offer.
Free text: a wine name, a producer, a grape or a region ('catena zapata', 'barolo', 'malbec', 'grower champagne').
Which Vivino storefront to read. This changes the answer: the US and DE storefronts returned 1740 vs 740 matches for the same search and share ZERO merchants (measured 2026-09-23). Prices and availability are per storefront.
ISO currency for the prices, e.g. USD, EUR, GBP, JPY. Defaults to the market's own currency (us -> USD, de -> EUR).
Wine type. Repeatable (comma-separated).
Country of ORIGIN of the wine, ISO-2 (ar, fr, it, es). This is the wine's origin, not the storefront — use `market` for the storefront.
Grape ids from the `grapes` action (9 = Malbec).
Region ids (454 = Mendoza). From a search result's region.id or the `region/detail` action.
Style ids from the `wine_styles` action.
Winery ids. REFINES a search — the source rejects it as the only filter, so pass it with a query or another filter.
Food-pairing ids from the `foods` action (4 = Beef).
Vintage year(s), e.g. 2019.
Lowest acceptable rating, 1-5. (1–5)
Only wines with at least this many ratings. REFINES only. (1–)
Lowest price, in the requested currency. (0–)
Highest price, in the requested currency. (0–)
Only natural wines.
Only wines currently discounted.
Sort order. Measured to reorder the result set, not merely be echoed back.
Sort direction. Defaults to desc, except order_by=price which defaults to asc.
1-based page number. (1–)
Results per page, 1-50. The source refuses more than 50 (HTTP 400). (1–50)
curl -X POST https://api.reefapi.com/vivino/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"barolo","per_page":"10"}'Press Send request to see the live result here.
Not sure what to send? Ask Reef AIWhat you can run here, without an account
ReefAPI is one HTTP gateway to 632 live web-data APIs covering 3860 endpoints across 13 categories. Every endpoint answers with the same JSON envelope, so one integration reaches all of them. Each response reports what it cost and when the source was read.
No signup, no API key and no card are required to try an endpoint on this page. Anonymous calls run on a shared demo key, capped at 15 calls per hour per visitor. Pick an API, fill the parameters and the real response comes back from the live source, not from a canned sample. A free account lifts the cap and gives you 1,000 credits and your own key.
Browse every API in the catalog, read an endpoint's fields and example response in the docs, or see per-call credit costs on the pricing page.
Coverage by category
| ecommerce | 350 |
| classifieds | 116 |
| real-estate | 29 |
| media | 25 |
| utilities | 18 |
| jobs | 18 |
| developer-tools | 18 |
| reviews | 15 |
| social | 15 |
| search-seo | 11 |
| travel | 8 |
| other | 5 |
| finance | 4 |