Live demo · no key required

Query PDI right now.

These are real calls against the production engine, returning exactly what a subscribed key returns. The only difference is a per-IP rate limit.

Resolve, explain or pair

Compare two entities

Response

HTTP 200GET /v1/explain?q=Nebbiolo

19 demo requests left this hour

Nebbiolo

Grape

Identity

Canonical name
Nebbiolo
VIVC id
8417
Wikidata id
Q202290
Matched on
canonical

Sensory profile

Scoped to Langhe, Piemonte, Italy · structured ageworthy dry red.

Langhe Nebbiolo reference

Acidity
medium-to-high
Tannin
high
Body
full
Aromatic intensity
high
Confidence
0.95
Aroma familiesRed fruitfloralspiceherbaldevelopment
Primary aromasraspberryred fruitvioletgeraniumgreen peppercinnamonnutmeg
Development aromashaywoodtoasted hazelnutvanillaanise
Common stylesBaroloBarbarescoLanghe Nebbioloageworthy dry red

Barolo and Barbaresco are both 100% Nebbiolo references but differ materially by site, ageing and denomination.

Pairing guidance

Works withFatty foodCreamy saucesFried foodRich cheeseTomato basedCitrus dishesvinaigretteGoat cheesebeeflambgameFatty meatHard cheeseGrilled meatBraised dishesRoasted meatRich saucesAged cheeseFresh herbsAromatic spicesFragrant cuisineduckporkmushroomsGrilled foodRoasted foodSmoked foodWarm spices
Treat with cautionDelicate fishVery spicy foodDelicate food

Its elevated acidity helps refresh the palate alongside fat, cream or fried textures.

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.

Red-fruit character plus acidity suits duck, pork, mushrooms and tomato-based dishes.

Its smoky or spicy character can echo grilled, roasted and warmly spiced flavours.

What PDI is not claiming

  • Sensory findings are scoped to a specific expression and should not be generalised to the whole category.
Raw JSON response
curl -s "https://api.pinpointed.dev/v1/demo/explain?q=Nebbiolo"
{
  "ok": true,
  "query": "Nebbiolo",
  "state": "resolved",
  "profile": {
    "queue": {
      "rank": 27,
      "tier": "A",
      "status": "enriched",
      "priority_score": 21.91,
      "snapshot_version": "grape-queue-v1"
    },
    "factual": {
      "aliases": {
        "all": [
          "CHIAVENNASCA",
          "Nebbiolo",
          "NEBBIOLO",
          "Prunent",
          "SPANNA"
        ],
        "by_type": {
          "wikidata_label": [
            "Nebbiolo",
            "Prunent"
          ],
          "canonical_label": [
            "Nebbiolo",
            "Prunent"
          ],
          "vivc_prime_name": [
            "NEBBIOLO"
          ],
          "wikidata_alt_label": [
            "CHIAVENNASCA",
            "SPANNA"
          ]
        },
        "by_language": {
          "de": [
            "Nebbiolo",
            "Prunent"
          ],
          "en": [
            "Nebbiolo",
            "Prunent"
          ],
          "es": [
            "Nebbiolo",
            "Prunent"
          ],
          "fr": [
            "Nebbiolo",
            "Prunent"
          ],
          "it": [
            "CHIAVENNASCA",
            "Nebbiolo",
            "Prunent",
            "SPANNA"
          ],
          "nl": [
            "Nebbiolo",
            "Prunent"
          ],
          "und": [
            "NEBBIOLO"
          ]
        }
      },
      "identity": {
        "origin": "ITALY",
        "species": "VITIS VINIFERA LINNÉ SUBSP. SATIVA (DE CANDOLLE) HEGI",
        "vivc_id": "8417",
        "berry_color": "NOIR",
        "utilization": [
          "WINE GRAPE"
        ],
        "wikidata_id": "Q202290",
        "canonical_name": "Nebbiolo",
        "vivc_prime_name": "NEBBIOLO"
      },
      "parentage": {},
      "provenance": {
        "aliases": {
          "sources": [
            "14b6d2c5-6538-4084-8cc6-4405c6822983",
            "3a40e0a0-1d07-498b-a7b6-0fc66fb452e4"
          ],
          "alias_rows": 15
        },
        "identity": {
          "source": "VIVC",
          "vivc_id": "8417",
          "wikidata_qid": "Q202290"
        },
        "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": 27,
          "tier": "A",
          "snapshot_version": "grape-queue-v1"
        }
      },
      "viticulture": {},
      "profile_version": "pdi-grape-factual-v1",
      "regulatory_presence": {
        "eu_member_states": [
          "Austria",
          "Belgium",
          "Germany",
          "Greece",
          "Portugal",
          "Romania"
        ],
        "regulatory_score": 64.96,
        "eu_list_source_date": "2026-07-14T22:00:00.000Z",
        "eu_member_state_count": 6
      },
      "commercial_importance": {
        "merchant_count": 1,
        "product_mentions": 1,
        "conversation_mentions": 1,
        "frozen_priority_score": 21.91
      }
    },
    "pairing": {
      "confidence": 0.8628571428571429,
      "caution_tags": [
        "delicate_fish",
        "very_spicy_food",
        "delicate_food"
      ],
      "applied_rules": [
        {
          "rule_key": "high_acid_cuts_richness",
          "rule_name": "High acidity cuts richness",
          "confidence": 0.9
        },
        {
          "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": "red_fruit_high_acid_red",
          "rule_name": "Red fruit plus acidity",
          "confidence": 0.84
        },
        {
          "rule_key": "smoky_spicy_with_grill",
          "rule_name": "Smoky and spicy profiles with grilled flavours",
          "confidence": 0.8
        }
      ],
      "positive_tags": [
        "fatty_food",
        "creamy_sauces",
        "fried_food",
        "rich_cheese",
        "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",
        "duck",
        "pork",
        "mushrooms",
        "grilled_food",
        "roasted_food",
        "smoked_food",
        "warm_spices"
      ],
      "review_status": "reviewed",
      "guidance_version": "pdi-pairing-v1",
      "explanation_points": [
        "Its elevated acidity helps refresh the palate alongside fat, cream or fried textures.",
        "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.",
        "Red-fruit character plus acidity suits duck, pork, mushrooms and tomato-based dishes.",
        "Its smoky or spicy character can echo grilled, roasted and warmly spiced flavours."
      ]
    },
    "vivc_id": "8417",
    "entity_id": "c1c78cc1-a639-4218-915c-329495df0d4c",
    "wikidata_id": "Q202290",
    "canonical_name": "Nebbiolo",
    "reference_expression": {
      "body": "full",
      "tannin": "high",
      "acidity": "medium-to-high",
      "confidence": 0.95,
      "provenance": [
        {
          "source": "Consorzio di Tutela Barolo Barbaresco Alba Langhe e Dogliani",
          "locator": "https://www.langhevini.it/en/le-denominazioni-tutelate-dal-consorzio/barbaresco-docg/",
          "supports": [
            "aromas",
            "ageing",
            "style",
            "complexity"
          ]
        },
        {
          "source": "Consorzio di Tutela Barolo Barbaresco Alba Langhe e Dogliani",
          "locator": "https://www.langhevini.it/en/le-denominazioni-tutelate-dal-consorzio/barolo-docg/",
          "supports": [
            "body",
            "structure",
            "ageing",
            "regional_expression"
          ]
        }
      ],
      "style_scope": "structured ageworthy dry red",
      "common_styles": [
        "Barolo",
        "Barbaresco",
        "Langhe Nebbiolo",
        "ageworthy dry red"
      ],
      "expression_id": 27,
      "review_status": "reviewed",
      "aroma_families": [
        "red_fruit",
        "floral",
        "spice",
        "herbal",
        "development"
      ],
      "blending_roles": [],
      "expression_key": "barolo_barbaresco_reference",
      "primary_aromas": [
        "raspberry",
        "red fruit",
        "violet",
        "geranium",
        "green pepper",
        "cinnamon",
        "nutmeg"
      ],
      "expression_name": "Langhe Nebbiolo reference",
      "geography_scope": "Langhe, Piemonte, Italy",
      "variation_notes": [
        "Barolo and Barbaresco are both 100% Nebbiolo references but differ materially by site, ageing and denomination."
      ],
      "climate_affinity": {
        "note": "Highly site-sensitive within the Langhe; ripens late."
      },
      "aromatic_intensity": "high",
      "development_aromas": [
        "hay",
        "wood",
        "toasted hazelnut",
        "vanilla",
        "anise"
      ]
    }
  },
  "resolved": true,
  "ambiguous": false,
  "top_score": 100,
  "resolution": {
    "vivc_id": "8417",
    "entity_id": "c1c78cc1-a639-4218-915c-329495df0d4c",
    "matched_on": "canonical",
    "match_score": 100,
    "match_value": "Nebbiolo",
    "wikidata_id": "Q202290",
    "canonical_name": "Nebbiolo"
  },
  "domain": "wine",
  "production_evidence": [],
  "legal_context": null,
  "knowledge_boundary": {
    "sensory_available": true,
    "scope_required": true
  },
  "demo": {
    "demo": true,
    "endpoint": "/v1/explain",
    "authenticated_equivalent": "curl -H \"Authorization: Bearer $PDI_API_KEY\" \"https://api.pinpointed.dev/v1/explain?q=Nebbiolo\"",
    "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": 19
  }
}

From demo to production

Call it from your terminal

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"

What the demo does not do

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.