Code Examples
Ready-to-use integration code for Claw Ecosystem APIs
Python Examples
1. Fetch All Variants
Python
import requests
from typing import List, Dict
class ClawsAPI:
def __init__(self):
self.base_url = "https://claw-news.com/api"
def get_all_variants(self) -> List[Dict]:
response = requests.get(f"{self.base_url}/claws")
return response.json()
def get_by_category(self, category: str) -> List[Dict]:
all_variants = self.get_all_variants()
return [v for v in all_variants if v.get('category') == category]
# Usage
api = ClawsAPI()
variants = api.get_all_variants()
print(f"Found {len(variants)} variants")
2. Semantic Search
def search_variants(query: str) -> List[Dict]:
response = requests.get(
"https://claw-news.com/api/claws/search",
params={"q": query}
)
return response.json().get('results', [])
results = search_variants("lightweight minimal low memory")
for result in results:
print(f"{result['name']} (score: {result['relevance_score']:.2f})")
JavaScript Examples
Async/Await Fetch
JavaScript
class ClawsClient {
constructor() { this.baseUrl = 'https://claw-news.com/api'; }
async getAllVariants() {
const response = await fetch(`${this.baseUrl}/claws`);
return await response.json();
}
async search(query) {
const response = await fetch(`${this.baseUrl}/claws/search?q=${encodeURIComponent(query)}`);
return await response.json();
}
async compare(slugs) {
const response = await fetch(`${this.baseUrl}/claws/compare?slugs=${slugs.join(',')}`);
return await response.json();
}
}
const client = new ClawsClient();
const variants = await client.getAllVariants();
console.log(`Total variants: ${variants.length}`);
cURL Examples
Bash
# Get all variants
curl https://claw-news.com/api/claws | jq '.'
# Search for lightweight variants
curl "https://claw-news.com/api/claws/search?q=lightweight" | jq '.results[]'
# Compare OpenClaw and NemoClaw
curl "https://claw-news.com/api/claws/compare?slugs=openclaw,nemoclaw" | jq '.'
# Get ecosystem statistics
curl https://claw-news.com/api/ecosystem/stats | jq '.'
AI Agent Integration
Python
from langchain.agents import Tool, AgentExecutor
import requests
def search_claws(query):
response = requests.get("https://claw-news.com/api/claws/search", params={"q": query})
results = response.json().get('results', [])
return "\n".join([f"{r['name']}: {r['description'][:100]}..." for r in results[:3]])
tools = [Tool(name="Search Claws", func=search_claws,
description="Search for Claw variants by features or capabilities")]
Note: These examples use the public API. For production use, implement rate limiting (100 req/min), caching (TTL 5-30 min), error handling (retry logic).