Quickstart

Get your first API call working in under 5 minutes.

1. Get your API key

Sign up at dish-embed.latimal.com to get your API key. You'll use it in the X-API-Key header on every request.

Find relevant items from a list using natural language:

curl -X POST https://dish-embed.latimal.com/search \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "something spicy",
    "corpus": ["Butter Chicken", "Chicken Vindaloo", "Vanilla Ice Cream", "Spicy Szechuan Noodles"],
    "top_k": 3
  }'
import requests

API_KEY = "YOUR_KEY"
BASE = "https://dish-embed.latimal.com"
headers = {"X-API-Key": API_KEY, "Content-Type": "application/json"}

resp = requests.post(f"{BASE}/search", headers=headers, json={
    "query": "something spicy",
    "corpus": ["Butter Chicken", "Chicken Vindaloo", "Vanilla Ice Cream", "Spicy Szechuan Noodles"],
    "top_k": 3
})
print(resp.json()["results"])

The API understands that "Chicken Vindaloo" and "Spicy Szechuan Noodles" are spicy, even though "Butter Chicken" contains the word "chicken" too.

3. Try deduplication

Find duplicates in a menu:

resp = requests.post(f"{BASE}/dedup", headers=headers, json={
    "items": [
        "Chicken Biryani",
        "Chiken Biryani",
        "Murgh Biryani",
        "Paneer Tikka",
        "Panner Tikka"
    ]
})
data = resp.json()
print(f"Found {len(data['clusters'])} duplicate groups")
for cluster in data["clusters"]:
    print(f"  {cluster['canonical']} <- {cluster['members']}")

The API catches spelling variants ("Chiken"), transliterations ("Murgh" = chicken in Hindi), and common misspellings ("Panner").

4. Check a pair

Compare two specific items:

resp = requests.post(f"{BASE}/match", headers=headers, json={
    "pairs": [
        {"text_a": "Butter Chicken", "text_b": "Murgh Makhani"},
        {"text_a": "Butter Chicken", "text_b": "Dal Makhani"}
    ]
})
for result in resp.json()["results"]:
    status = "SAME" if result["match"] else "DIFFERENT"
    print(f"{result['text_a']} vs {result['text_b']}: {status} (cosine: {result['cosine']:.3f})")

"Butter Chicken" and "Murgh Makhani" are the same dish. "Butter Chicken" and "Dal Makhani" are not, despite similar names.

5. Explore more

  • API Reference - All endpoints with request/response schemas
  • Integration Guides - End-to-end guides for dedup, search, upsell, and monitoring
  • Concepts - How food embeddings, preprocessing, and dietary detection work
  • Python SDK - Client library reference