Build on top of cross-domain taste intelligence. Our REST API lets you query taste profiles, get recommendations, and generate shareable fingerprints.
import tastegraph
client = tastegraph.Client("tg_your_api_key")
# Get a user's taste profile
profile = client.profiles.get("usr_abc123")
print(profile.domains["music"].top_traits)
# Get cross-domain recommendations
recs = client.recommend(
user_id="usr_abc123",
target_domain="food",
source_domains=["music", "fashion"],
limit=5
)
for rec in recs:
print(f"{rec.item} (score: {rec.match_score})")All API requests require a Bearer token. Get your API key from the dashboard.
Authorization: Bearer tg_your_api_keyImportant: Keep your API key secret. Never expose it in client-side code. Use environment variables and server-side requests.
| Plan | Rate Limit | Burst |
|---|---|---|
| Free | 100 req/hour | 10 req/sec |
| Developer | 10,000 req/hour | 100 req/sec |
| Enterprise | Unlimited | Custom |
/v1/profile/{user_id}Retrieve the full cross-domain taste profile for a user.
user_idstringrequireddomainsstring[]{
"user_id": "usr_abc123",
"created_at": "2026-01-15T09:30:00Z",
"domains": {
"music": {
"top_traits": ["experimental", "rhythmic", "melancholic"],
"confidence": 0.92
},
"food": {
"top_traits": ["umami-forward", "fermented", "spicy"],
"confidence": 0.87
},
"fashion": {
"top_traits": ["minimalist", "textured", "monochrome"],
"confidence": 0.79
}
},
"cross_domain_patterns": [
{
"pattern": "texture-seeking",
"domains": ["music", "food", "fashion"],
"strength": 0.91
}
]
}/v1/profile/{user_id}/analyzeSubmit preference data for analysis. Returns updated taste signals.
user_idstringrequireddomainstringrequiredpreferencesobject[]required{
"status": "analyzed",
"domain": "music",
"new_traits": ["experimental", "layered"],
"confidence_delta": +0.05,
"cross_domain_updates": 2
}/v1/recommend/{user_id}Get cross-domain recommendations based on taste profile.
user_idstringrequiredtarget_domainstringrequiredsource_domainsstring[]limitnumber{
"recommendations": [
{
"item": "Noma-style fermented garlic",
"domain": "food",
"based_on": ["music:experimental", "fashion:textured"],
"match_score": 0.94,
"reasoning": "Your love for layered, experimental music and textured fashion maps to complex umami profiles"
}
],
"total": 10
}/v1/fingerprint/{user_id}Generate a shareable taste fingerprint card with visualization data.
user_idstringrequiredformatstring{
"fingerprint_id": "fp_xyz789",
"share_url": "https://taste.graph/fp/xyz789",
"visualization": {
"nodes": [...],
"edges": [...],
"color_palette": ["#FF6B6B", "#7C3AED"]
},
"summary": "Texture-seeking experimentalist with a bias toward the melancholic and umami-forward"
}Ready to build with taste intelligence?
Get Your API Key