These are real calls against the production engine, returning exactly what a subscribed key returns. The only difference is a per-IP rate limit.
GET /v1/compare?left=Merlot&right=Cabernet+Sauvignon16 demo requests left this hour
Bordeaux Merlot
Can span light, juicy styles through concentrated ageworthy wines.
Its moderate tannin makes it flexible with poultry, pork, mushrooms and medium-rich meats.
Its body and flavour intensity call for a dish with comparable weight.
2 more in the JSON response.
Bordeaux Cabernet Sauvignon
Frequently used in blends; tannin and structure are defining features.
Its acidity is better equipped for acidic ingredients such as tomato, citrus or vinaigrette.
Its firm tannin is better matched by protein and fat than by delicate foods.
4 more in the JSON response.
curl -s "https://api.pinpointed.dev/v1/demo/compare?left=Merlot&right=Cabernet+Sauvignon"
{
"ok": true,
"left_query": "Merlot",
"right_query": "Cabernet Sauvignon",
"left_resolved": true,
"right_resolved": true,
"left_domain": "wine",
"right_domain": "wine",
"mixed_domain": false,
"left_resolution": {
"vivc_id": "7657",
"entity_id": "10a1b5b8-c670-4c90-aa98-0aa4c3814e22",
"matched_on": "canonical",
"match_score": 100,
"match_value": "Merlot",
"wikidata_id": "Q213338",
"canonical_name": "Merlot"
},
"right_resolution": {
"vivc_id": "1929",
"entity_id": "e2a487fc-8ea6-4a61-89ec-3b6aefdda294",
"matched_on": "canonical",
"match_score": 100,
"match_value": "Cabernet Sauvignon",
"wikidata_id": "Q207310",
"canonical_name": "Cabernet Sauvignon"
},
"left": {
"queue": {
"rank": 3,
"tier": "A",
"status": "enriched",
"priority_score": 82.49,
"snapshot_version": "grape-queue-v1"
},
"factual": {
"aliases": {
"all": [
"Alicante",
"Alicante noir",
"Bégney",
"Bidal",
"Bidalhe",
"Bigney",
"Bigney rouge",
"Bini",
"Bini Ruzh",
"Bioney",
"Black Alicante",
"Bordeleza belcha",
"Crabutet",
"Crabutet noir",
"Crabutet noir merlau",
"Hebigney",
"Higney",
"Higney rouge",
"Langon",
"Lecchumskij",
"Médoc noir",
"Merlau",
"Merlaut",
"Merlaut noir",
"Merle",
"Merle Petite",
"Merleau",
"Merlô",
"Merlot",
"Merlot black",
"Merlot blauer",
"Merlot crni",
"Merlot N",
"Merlot nero",
"Merlot noir",
"MERLOT NOIR",
"Merlot rouge",
"Merlott",
"Merlou",
"Odzalesi",
"Odzhaleshi",
"Odzhaleshi Legkhumskii",
"Petit Merle",
"Picard",
"Pikard",
"Plan medre",
"Planet Medok",
"Plant du Médoc",
"Plant Médoc",
"Saint-Macaire",
"Same de la Canan",
"Same dou Flaube",
"Sème de la Canau",
"Sème Dou Flube",
"Semilhon rouge",
"Semilhoum rouge",
"Semilhoun rouge",
"Sémillon rouge",
"Sud des Graves",
"Uva merlot",
"Vidal",
"Vini Ticinesi",
"Vitrai",
"Vitraille"
],
"by_type": {
"wikidata_label": [
"Merlot"
],
"canonical_label": [
"Merlot"
],
"vivc_prime_name": [
"MERLOT NOIR"
],
"wikidata_alt_label": [
"Alicante",
"Alicante noir",
"Bégney",
"Bidal",
"Bidalhe",
"Bigney",
"Bigney rouge",
"Bini",
"Bini Ruzh",
"Bioney",
"Black Alicante",
"Bordeleza belcha",
"Crabutet",
"Crabutet noir",
"Crabutet noir merlau",
"Hebigney",
"Higney",
"Higney rouge",
"Langon",
"Lecchumskij",
"Médoc noir",
"Merlau",
"Merlaut",
"Merlaut noir",
"Merle",
"Merle Petite",
"Merleau",
"Merlô",
"Merlot black",
"Merlot blauer",
"Merlot crni",
"Merlot N",
"Merlot nero",
"Merlot noir",
"Merlot rouge",
"Merlott",
"Merlou",
"Odzalesi",
"Odzhaleshi",
"Odzhaleshi Legkhumskii",
"Petit Merle",
"Picard",
"Pikard",
"Plan medre",
"Planet Medok",
"Plant du Médoc",
"Plant Médoc",
"Saint-Macaire",
"Same de la Canan",
"Same dou Flaube",
"Sème de la Canau",
"Sème Dou Flube",
"Semilhon rouge",
"Semilhoum rouge",
"Semilhoun rouge",
"Sémillon rouge",
"Sud des Graves",
"Uva merlot",
"Vidal",
"Vini Ticinesi",
"Vitrai",
"Vitraille"
]
},
"by_language": {
"de": [
"Merlot"
],
"en": [
"Alicante",
"Alicante noir",
"Bégney",
"Bidal",
"Bidalhe",
"Bigney",
"Bigney rouge",
"Bini",
"Bini Ruzh",
"Bioney",
"Black Alicante",
"Bordeleza belcha",
"Crabutet",
"Crabutet noir",
"Crabutet noir merlau",
"Hebigney",
"Higney",
"Higney rouge",
"Langon",
"Lecchumskij",
"Médoc noir",
"Merlau",
"Merlaut",
"Merlaut noir",
"Merle",
"Merle Petite",
"Merleau",
"Merlô",
"Merlot",
"Merlot black",
"Merlot blauer",
"Merlot crni",
"Merlot nero",
"Merlot noir",
"Merlott",
"Merlou",
"Odzalesi",
"Odzhaleshi",
"Odzhaleshi Legkhumskii",
"Petit Merle",
"Picard",
"Pikard",
"Plan medre",
"Planet Medok",
"Plant du Médoc",
"Plant Médoc",
"Saint-Macaire",
"Same de la Canan",
"Same dou Flaube",
"Sème de la Canau",
"Sème Dou Flube",
"Semilhon rouge",
"Semilhoum rouge",
"Semilhoun rouge",
"Sémillon rouge",
"Sud des Graves",
"Vidal",
"Vini Ticinesi",
"Vitrai",
"Vitraille"
],
"es": [
"Merlot",
"Merlot rouge",
"Uva merlot"
],
"fr": [
"Merlot",
"Merlot N",
"Merlot noir"
],
"it": [
"Merlot"
],
"nl": [
"Merlot"
],
"und": [
"MERLOT NOIR"
]
}
},
"identity": {
"origin": "FRANCE",
"species": "VITIS VINIFERA LINNÉ SUBSP. SATIVA (DE CANDOLLE) HEGI",
"vivc_id": "7657",
"berry_color": "NOIR",
"utilization": [
"WINE GRAPE"
],
"wikidata_id": "Q213338",
"canonical_name": "Merlot",
"vivc_prime_name": "MERLOT NOIR"
},
"parentage": {
"parent_1_name": "Magdeleine noire des Charentes",
"parent_2_name": "Cabernet Franc",
"parent_1_vivc_id": "22717",
"parent_2_vivc_id": "1927",
"parent_1_entity_id": "0d917156-7ede-49a7-baea-1133faa0b68a",
"parent_2_entity_id": "faf2eed5-6175-433d-b42c-cb498802ee14",
"pedigree_confirmed": "view"
},
"provenance": {
"aliases": {
"sources": [
"14b6d2c5-6538-4084-8cc6-4405c6822983",
"3a40e0a0-1d07-498b-a7b6-0fc66fb452e4"
],
"alias_rows": 70
},
"identity": {
"source": "VIVC",
"vivc_id": "7657",
"wikidata_qid": "Q213338"
},
"oiv_area": {
"source": "OIV",
"provenance": {
"report": "The distribution of the world's grapevine varieties",
"data_year": 2015,
"focus_year": 2017,
"seed_scope": "OIV varieties with published global area >100000 ha",
"match_names": [
"Merlot"
],
"current_vivc_wine_grape": true
},
"source_year": 2015,
"source_locator": "https://www.oiv.int/public/medias/5882/grapevine-varieties-area-by-country-2015.pdf",
"source_variety_name": "Merlot"
},
"priority_queue": {
"rank": 3,
"tier": "A",
"snapshot_version": "grape-queue-v1"
}
},
"viticulture": {
"pedigree_confirmed": "view"
},
"profile_version": "pdi-grape-factual-v1",
"regulatory_presence": {
"eu_member_states": [
"Austria",
"Belgium",
"Bulgaria",
"Croatia",
"Cyprus",
"Czechia",
"France",
"Germany",
"Greece",
"Hungary",
"Italy",
"Luxembourg",
"Malta",
"Netherlands",
"Poland",
"Portugal",
"Romania",
"Slovakia",
"Slovenia",
"Spain"
],
"eu_member_state_count": 20
},
"commercial_importance": {
"oiv_trend": "stable",
"oiv_area_ha": 266000,
"oiv_area_year": 2015,
"merchant_count": 11,
"oiv_destination": "Wine",
"product_mentions": 65,
"global_area_score": 98.05,
"conversation_mentions": 18,
"frozen_priority_score": 82.49
}
},
"pairing": {
"confidence": 0.845,
"caution_tags": [
"delicate_food"
],
"applied_rules": [
{
"rule_key": "medium_tannin_flexible_meat",
"rule_name": "Medium tannin broadens meat flexibility",
"confidence": 0.84
},
{
"rule_key": "full_body_needs_intensity",
"rule_name": "Full body needs flavour intensity",
"confidence": 0.88
},
{
"rule_key": "aromatic_wine_with_aromatic_food",
"rule_name": "Aromatic wines with aromatic ingredients",
"confidence": 0.82
},
{
"rule_key": "black_fruit_structured_red",
"rule_name": "Black-fruited structured red",
"confidence": 0.84
}
],
"positive_tags": [
"pork",
"duck",
"roast_poultry",
"veal",
"mushrooms",
"braised_dishes",
"roasted_meat",
"rich_sauces",
"aged_cheese",
"fresh_herbs",
"aromatic_spices",
"fragrant_cuisine",
"grilled_beef",
"roast_lamb",
"braised_beef",
"barbecue"
],
"review_status": "reviewed",
"guidance_version": "pdi-pairing-v1",
"explanation_points": [
"Its moderate tannin makes it flexible with poultry, pork, mushrooms and medium-rich meats.",
"Its body and flavour intensity call for a dish with comparable weight.",
"Its aromatic intensity can stand alongside herbs and fragrant spices.",
"Black-fruit depth and structural tannin make roasted or grilled meats a natural direction."
]
},
"vivc_id": "7657",
"entity_id": "10a1b5b8-c670-4c90-aa98-0aa4c3814e22",
"wikidata_id": "Q213338",
"canonical_name": "Merlot",
"reference_expression": {
"body": "medium-to-full",
"tannin": "medium-soft",
"acidity": "medium-low",
"confidence": 0.92,
"provenance": [
{
"source": "Bordeaux.com",
"locator": "https://www.bordeaux.com/en/grape-varieties/merlot/",
"supports": [
"acidity",
"body",
"tannin",
"aromas",
"development_aromas",
"styles",
"blending_roles",
"soils",
"alcohol"
]
}
],
"style_scope": "still dry red",
"common_styles": [
"light fruity red",
"concentrated ageworthy red",
"rosé",
"rare blanc de noirs"
],
"expression_id": 3,
"review_status": "reviewed",
"aroma_families": [
"red_fruit",
"black_fruit",
"floral",
"development"
],
"blending_roles": [
"roundness",
"soft texture",
"fruit depth"
],
"expression_key": "bordeaux_reference",
"primary_aromas": [
"cherry",
"plum",
"fig",
"violet"
],
"expression_name": "Bordeaux Merlot",
"geography_scope": "Bordeaux, France",
"variation_notes": [
"Can span light, juicy styles through concentrated ageworthy wines."
],
"alcohol_tendency": "medium-high",
"climate_affinity": {
"soils": [
"clay-limestone",
"gravel"
]
},
"aromatic_intensity": "medium-high",
"development_aromas": [
"chocolate",
"coffee"
]
}
},
"right": {
"queue": {
"rank": 7,
"tier": "A",
"status": "enriched",
"priority_score": 67.07,
"snapshot_version": "grape-queue-v1"
},
"factual": {
"aliases": {
"all": [
"Burdeos Tinto",
"Cab Sauv",
"cabernet sauvignon",
"Cabernet sauvignon",
"Cabernet Sauvignon",
"CABERNET SAUVIGNON",
"Cabernet-sauvignon N",
"Carbouet",
"Carmenet",
"Petit Cabernet",
"Petit Vidure",
"Taglio bordolese",
"Vidure"
],
"by_type": {
"wikidata_label": [
"cabernet sauvignon",
"Cabernet sauvignon",
"Cabernet Sauvignon"
],
"canonical_label": [
"Cabernet Sauvignon"
],
"vivc_prime_name": [
"CABERNET SAUVIGNON"
],
"wikidata_alt_label": [
"Burdeos Tinto",
"Cab Sauv",
"Cabernet-sauvignon N",
"Carbouet",
"Carmenet",
"Petit Cabernet",
"Petit Vidure",
"Taglio bordolese",
"Vidure"
]
},
"by_language": {
"de": [
"Cabernet Sauvignon"
],
"en": [
"Cab Sauv",
"Cabernet Sauvignon"
],
"es": [
"Burdeos Tinto",
"Cabernet Sauvignon",
"Carbouet",
"Petit Cabernet",
"Petit Vidure",
"Vidure"
],
"fr": [
"cabernet sauvignon",
"Cabernet-sauvignon N",
"Carmenet"
],
"it": [
"Cabernet sauvignon",
"Taglio bordolese"
],
"nl": [
"Cabernet sauvignon"
],
"und": [
"CABERNET SAUVIGNON"
]
}
},
"identity": {
"origin": "FRANCE",
"species": "VITIS VINIFERA LINNÉ SUBSP. SATIVA (DE CANDOLLE) HEGI",
"vivc_id": "1929",
"berry_color": "NOIR",
"utilization": [
"WINE GRAPE"
],
"wikidata_id": "Q207310",
"canonical_name": "Cabernet Sauvignon",
"vivc_prime_name": "CABERNET SAUVIGNON"
},
"parentage": {
"parent_1_name": "Cabernet Franc",
"parent_2_name": "Sauvignon blanc",
"parent_1_vivc_id": "1927",
"parent_2_vivc_id": "10790",
"parent_1_entity_id": "faf2eed5-6175-433d-b42c-cb498802ee14",
"parent_2_entity_id": "45537bcc-b4c9-4711-977b-eb731f5ab207",
"pedigree_confirmed": "view"
},
"provenance": {
"aliases": {
"sources": [
"14b6d2c5-6538-4084-8cc6-4405c6822983",
"3a40e0a0-1d07-498b-a7b6-0fc66fb452e4"
],
"alias_rows": 16
},
"identity": {
"source": "VIVC",
"vivc_id": "1929",
"wikidata_qid": "Q207310"
},
"oiv_area": {
"source": "OIV",
"provenance": {
"report": "The distribution of the world's grapevine varieties",
"data_year": 2015,
"focus_year": 2017,
"seed_scope": "OIV varieties with published global area >100000 ha",
"match_names": [
"Cabernet Sauvignon"
],
"current_vivc_wine_grape": true
},
"source_year": 2015,
"source_locator": "https://www.oiv.int/public/medias/5882/grapevine-varieties-area-by-country-2015.pdf",
"source_variety_name": "Cabernet Sauvignon"
},
"eu_regulatory": {
"source": "European Commission List 8",
"source_date": "2026-07-14T22:00:00.000Z",
"source_locator": "https://agriculture.ec.europa.eu/document/download/9727a371-11b1-470b-a3c9-4af45962dd86_en?filename=wine-list-08a-grape-varieties-by-variety_en.pdf"
},
"priority_queue": {
"rank": 7,
"tier": "A",
"snapshot_version": "grape-queue-v1"
}
},
"viticulture": {
"pedigree_confirmed": "view"
},
"profile_version": "pdi-grape-factual-v1",
"regulatory_presence": {
"eu_member_states": [
"Austria",
"Belgium",
"Croatia",
"Cyprus",
"Czechia",
"France",
"Germany",
"Greece",
"Hungary",
"Italy",
"Malta",
"Netherlands",
"Poland",
"Portugal",
"Romania",
"Slovakia",
"Slovenia",
"Spain"
],
"regulatory_score": 98.29,
"eu_list_source_date": "2026-07-14T22:00:00.000Z",
"eu_member_state_count": 18
},
"commercial_importance": {
"oiv_trend": "growth",
"oiv_area_ha": 341000,
"oiv_area_year": 2015,
"merchant_count": 9,
"oiv_destination": "Wine",
"product_mentions": 88,
"global_area_score": 100,
"conversation_mentions": 1,
"frozen_priority_score": 67.07
}
},
"pairing": {
"confidence": 0.8566666666666666,
"caution_tags": [
"delicate_fish",
"very_spicy_food",
"delicate_food"
],
"applied_rules": [
{
"rule_key": "acid_with_acidic_food",
"rule_name": "Acidic food needs sufficient wine acidity",
"confidence": 0.88
},
{
"rule_key": "high_tannin_with_protein_fat",
"rule_name": "Firm tannin with protein and fat",
"confidence": 0.92
},
{
"rule_key": "full_body_needs_intensity",
"rule_name": "Full body needs flavour intensity",
"confidence": 0.88
},
{
"rule_key": "aromatic_wine_with_aromatic_food",
"rule_name": "Aromatic wines with aromatic ingredients",
"confidence": 0.82
},
{
"rule_key": "black_fruit_structured_red",
"rule_name": "Black-fruited structured red",
"confidence": 0.84
},
{
"rule_key": "smoky_spicy_with_grill",
"rule_name": "Smoky and spicy profiles with grilled flavours",
"confidence": 0.8
}
],
"positive_tags": [
"tomato_based",
"citrus_dishes",
"vinaigrette",
"goat_cheese",
"beef",
"lamb",
"game",
"fatty_meat",
"hard_cheese",
"grilled_meat",
"braised_dishes",
"roasted_meat",
"rich_sauces",
"aged_cheese",
"fresh_herbs",
"aromatic_spices",
"fragrant_cuisine",
"grilled_beef",
"roast_lamb",
"braised_beef",
"barbecue",
"grilled_food",
"roasted_food",
"smoked_food",
"warm_spices"
],
"review_status": "reviewed",
"guidance_version": "pdi-pairing-v1",
"explanation_points": [
"Its acidity is better equipped for acidic ingredients such as tomato, citrus or vinaigrette.",
"Its firm tannin is better matched by protein and fat than by delicate foods.",
"Its body and flavour intensity call for a dish with comparable weight.",
"Its aromatic intensity can stand alongside herbs and fragrant spices.",
"Black-fruit depth and structural tannin make roasted or grilled meats a natural direction.",
"Its smoky or spicy character can echo grilled, roasted and warmly spiced flavours."
]
},
"vivc_id": "1929",
"entity_id": "e2a487fc-8ea6-4a61-89ec-3b6aefdda294",
"wikidata_id": "Q207310",
"canonical_name": "Cabernet Sauvignon",
"reference_expression": {
"body": "full",
"tannin": "high",
"acidity": "medium",
"confidence": 0.95,
"provenance": [
{
"source": "Bordeaux.com",
"locator": "https://www.bordeaux.com/en/grape-varieties/cabernet-sauvignon/",
"supports": [
"tannin",
"body",
"aromas",
"development_aromas",
"styles",
"blending_roles",
"climate_affinity",
"alcohol"
]
}
],
"style_scope": "still dry red",
"common_styles": [
"structured ageworthy red",
"red blends"
],
"expression_id": 7,
"review_status": "reviewed",
"aroma_families": [
"black_fruit",
"herbal",
"spice",
"development"
],
"blending_roles": [
"structure",
"tannin",
"power",
"ageing potential"
],
"expression_key": "bordeaux_reference",
"primary_aromas": [
"cassis",
"licorice",
"mint",
"black fruit",
"spice"
],
"expression_name": "Bordeaux Cabernet Sauvignon",
"geography_scope": "Bordeaux, France",
"variation_notes": [
"Frequently used in blends; tannin and structure are defining features."
],
"alcohol_tendency": "medium",
"climate_affinity": {
"preference": "warm gravelly soils; late-ripening"
},
"aromatic_intensity": "high",
"development_aromas": [
"forest floor"
]
}
},
"left_legal_context": null,
"right_legal_context": null,
"left_geography_legal_context": null,
"right_geography_legal_context": null,
"comparison_boundaries": {
"left_sensory_available": true,
"right_sensory_available": true,
"preserve_expression_scope": true,
"legal_definition_is_not_tasting_note": true,
"wine_geography_is_not_grape_variety": true,
"generic_part4_rules_are_not_ava_specific_production_facts": true,
"pending_future_effective_ava_is_not_current": true
},
"demo": {
"demo": true,
"endpoint": "/v1/compare",
"authenticated_equivalent": "curl -H \"Authorization: Bearer $PDI_API_KEY\" \"https://api.pinpointed.dev/v1/compare?left=Merlot&right=Cabernet+Sauvignon\"",
"limits": {
"per_ip_per_minute": 8,
"per_ip_per_hour": 20,
"max_query_length": 80,
"resolve_result_limit": 5
},
"note": "Public demo of the Pinpointed Drinks Intelligence API. Same engine and same response contract as a subscribed key, with demo-only rate limits.",
"docs": "https://api.pinpointed.dev/docs",
"plans": "https://api.pinpointed.dev/#plans",
"cached": false,
"remaining_this_hour": 16
}
}Every demo endpoint is a plain GET with no auth. Swap /v1/demo/ for /v1/ and add a bearer key when you subscribe.
curl -s "https://api.pinpointed.dev/v1/demo/explain?q=Barolo"
Demo traffic is rate limited per IP and capped daily, results are capped at 5 for resolution, and responses may be served from a short-lived cache. A Developer key removes all three.