API Documentation
Everything you need to integrate Cannavec into your platform. RESTful JSON API with semantic search across 1,601 verified cannabis records.
Authentication
All requests require a Bearer token in the Authorization header.
headers
Authorization: Bearer your_api_key_here Content-Type: application/json
Base URL
https://cannavec.ai/api/v1Search Endpoint
POST
/searchRequest
POST /api/v1/search
{
"query": "What does the evidence say about CBD for anxiety?",
"namespace": "cannabis",
"top_k": 5,
"include_metadata": true
}Response
200 OK
{
"results": [
{
"id": "cbd_anxiety_clinical_001",
"score": 0.94,
"metadata": {
"topic": "CBD Anxiolytic Mechanisms",
"finding": "CBD demonstrates anxiolytic effects...",
"evidence_grade": "Level A",
"authority_score": 9,
"clinical_relevance": "Multiple RCTs support doses of 300-600mg...",
"sources": "Zuardi et al. 2017; Blessing et al. 2015"
}
}
],
"meta": {
"response_time_ms": 142,
"records_searched": 792,
"namespace": "cannabis"
}
}Namespaces
cannabis792 recordsCore cannabis science: mechanisms, clinical evidence, dosing, drug interactions, safety, regulation.
cannabis_products809 recordsUK/EU cannabis products: formulations, terpene profiles, cannabinoid content, consumption methods.
Rate Limits
| Tier | Monthly | Per Minute |
|---|---|---|
| Enterprise | Unlimited | 100 |
| Professional | 50,000 | 60 |
| Startup | 10,000 | 30 |
| Advocacy | 5,000 | 10 |
| Demo | 5/day | 1 |
Quick Start
cURL
curl -X POST https://cannavec.ai/api/v1/search \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "CBD for anxiety", "namespace": "cannabis", "top_k": 3}'Python
import requests
resp = requests.post(
"https://cannavec.ai/api/v1/search",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"query": "THC:CBD ratios for pain", "namespace": "cannabis", "top_k": 5}
)
for r in resp.json()["results"]:
print(f"[{r['metadata']['evidence_grade']}] {r['metadata']['topic']}")JavaScript
const res = await fetch("https://cannavec.ai/api/v1/search", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
query: "Terpene profiles for sleep",
namespace: "cannabis", top_k: 5
})
});
const { results } = await res.json();