Quickstart

Get your first API call working in under 5 minutes.

1. Get your API key

Sign up at embed.statode.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://embed.statode.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://embed.statode.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": [
        ["Butter Chicken", "Murgh Makhani"],
        ["Butter Chicken", "Dal Makhani"]
    ]
})
for match in resp.json()["matches"]:
    status = "SAME" if match["is_match"] else "DIFFERENT"
    print(f"{match['item_a']} vs {match['item_b']}: {status} (score: {match['cosine_score']:.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 9 endpoints with request/response schemas
  • Integration Guides - End-to-end guides for dedup, search, upsell, and monitoring
  • Concepts - How food embeddings, preprocessing, and two-stage retrieval work
  • Python SDK - Client library reference