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/v1

Namespaces

cannabis792 records

Core cannabis science: mechanisms, clinical evidence, dosing, drug interactions, safety, regulation.

cannabis_products809 records

UK/EU cannabis products: formulations, terpene profiles, cannabinoid content, consumption methods.

Rate Limits

TierMonthlyPer Minute
EnterpriseUnlimited100
Professional50,00060
Startup10,00030
Advocacy5,00010
Demo5/day1

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();