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).