Code Examples & Recipes
Practical, production-ready code examples in cURL, TypeScript/JavaScript, and Python for the most common VISTARMAN API workflows.
Use Case 01
Lexical BM25 Search across Canon
Search through all 236+ peer-reviewed articles and receive scored results with summaries.
cURL (Terminal)
curl "https://api.vistarman.com/v1/search?q=consciousness&limit=3"TypeScript / JavaScript (Native Fetch)
interface SearchResultItem {
doc_id: string;
title: string;
slug: string;
summary: string;
score: number;
url: string;
}
async function searchKnowledge(query: string): Promise<SearchResultItem[]> {
const url = new URL("https://api.vistarman.com/v1/search");
url.searchParams.set("q", query);
url.searchParams.set("limit", "5");
const response = await fetch(url.toString(), {
headers: { "Accept": "application/json" },
});
if (!response.ok) {
throw new Error(`Search failed with HTTP ${response.status}`);
}
const data = await response.json();
return data.results || [];
}Python (Requests)
import requests
def search_articles(query: str, limit: int = 5):
endpoint = "https://api.vistarman.com/v1/search"
params = {"q": query, "limit": limit}
response = requests.get(endpoint, params=params, timeout=10)
response.raise_for_status()
data = response.json()
return data.get("results", [])
# Example usage
results = search_articles("consciousness")
for r in results:
print(f"[{r['score']:.2f}] {r['title']} -> {r['url']}")Use Case 02
Retrieve Article Metadata & Graph Recommendations
Fetch single article metadata, canonical permalink, and pairwise related concept recommendations.
TypeScript / JavaScript
async function getArticleDetail(slug: string) {
const res = await fetch(`https://api.vistarman.com/v1/articles/${slug}`);
if (!res.ok) throw new Error(`Article not found: ${slug}`);
const data = await res.json();
console.log("Title:", data.title);
console.log("Canonical:", data.canonical_url);
console.log("Recommendations:", data.recommendations);
return data;
}Python
import requests
def get_article(slug: string):
url = f"https://api.vistarman.com/v1/articles/{slug}"
r = requests.get(url)
r.raise_for_status()
return r.json()
article = get_article("apps-architecture-map")
print("Article Title:", article["title"])
print("Recommendations Count:", len(article.get("recommendations", [])))Use Case 03
Query Knowledge Graph Connections
Traverse the 1,541-edge ontological graph to discover semantically adjacent concepts.
cURL
curl "https://api.vistarman.com/v1/recommendations/doc:article:apps-architecture-map"Python
import requests
def get_concept_recommendations(concept_id: str):
url = f"https://api.vistarman.com/v1/recommendations/{concept_id}"
res = requests.get(url)
res.raise_for_status()
return res.json().get("recommendations", [])
recs = get_concept_recommendations("doc:article:apps-architecture-map")
for rec in recs:
print(f"Target: {rec['target_id']} (Weight: {rec['weight']:.2f})")