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/resolve-entity?q=rioja&limit=5

15 demo requests left this hour

3 matches for "rioja"

Ranked canonical PDI entities.

Matches

RiojaWine geographyExact canonical100
Malvasia biancaGrape80
Torrontés RiojanoGrape80
Raw JSON response
curl -s "https://api.pinpointed.dev/v1/demo/resolve-entity?q=rioja&limit=5"
{
  "ok": true,
  "query": "rioja",
  "count": 3,
  "results": [
    {
      "domain": "wine_geography",
      "entity_id": "683",
      "canonical_name": "Rioja",
      "match_type": "exact_canonical",
      "match_score": 100,
      "geography_type": "pdo",
      "jurisdiction": "EU",
      "registration_identifier": "EUGI00000003061",
      "regulatory_status": "current",
      "cfr_section": null
    },
    {
      "domain": "wine",
      "entity_id": "a6d73cc5-e061-46b6-a773-5128c7ddf77e",
      "canonical_name": "Malvasia bianca",
      "vivc_id": "7256",
      "wikidata_id": "Q109376941",
      "rank_position": 260,
      "queue_tier": "B",
      "enrichment_status": "pending",
      "matched_on": "alias",
      "match_value": "Malvasia de la Rioja",
      "language_code": "es",
      "match_score": 80
    },
    {
      "domain": "wine",
      "entity_id": "f1821206-b7e2-4f0a-bf44-9f4f5bb210c6",
      "canonical_name": "Torrontés Riojano",
      "vivc_id": "15162",
      "wikidata_id": "Q5410263",
      "rank_position": null,
      "queue_tier": null,
      "enrichment_status": null,
      "matched_on": "canonical",
      "match_value": "Torrontés Riojano",
      "language_code": null,
      "match_score": 80
    }
  ],
  "demo": {
    "demo": true,
    "endpoint": "/v1/resolve-entity",
    "authenticated_equivalent": "curl -H \"Authorization: Bearer $PDI_API_KEY\" \"https://api.pinpointed.dev/v1/resolve-entity?q=rioja&limit=5\"",
    "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": 15
  }
}

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.