Limited OfferPro Audit + GEO Skill — $4.95 $0.99 USDC·80% off launch discountGet it →

[ API ]

API & Agent Integration

GEO audits for your apps, tools, and AI agents. REST API + MCP server.

Overview

Base URLhttps://xanlens.com/api/v1

Authentication — None required. Payment via x402.

Payment — Pro Audit + GEO Skill $0.99 USDC (80% launch discount, Base network via x402)

Format — JSON in, JSON out

Audit Flow (3 Steps)

XanLens uses a multi-step audit flow. The client controls the pace of prompt firing to stay within rate limits.

Step 1: Auto-Detect Brand

POST /audit/detect
curl -X POST https://xanlens.com/api/v1/audit/detect \
  -H "Content-Type: application/json" \
  -d '{"website": "stripe.com"}'

// Response:
{
  "brand": "Stripe",
  "industry": "payment processing",
  "competitors": ["PayPal", "Square", "Adyen"],
  "website": "https://stripe.com"
}

Step 2: Get Audit Plan

POST /audit
curl -X POST https://xanlens.com/api/v1/audit \
  -H "Content-Type: application/json" \
  -d '{
    "brand": "Stripe",
    "industry": "payment processing",
    "competitors": ["PayPal", "Square"],
    "website": "https://stripe.com"
  }'

// Response:
{
  "status": "ready",
  "job_id": "abc-123",
  "plan": [
    {"engine": "gemini", "prompt": "What is Stripe?", "promptIndex": 0},
    {"engine": "gpt4o", "prompt": "Best payment tools", "promptIndex": 1}
    // ... more prompts
  ],
  "total": 80,
  "prompt_url": "/api/v1/audit/prompt",
  "poll_url": "/api/v1/audit/status?jobId=abc-123"
}

Free tier (X-Source: website header): 20 prompts on Gemini. Pro/API: 80+ prompts across all 7 engines with category, discovery, and competitor queries.

Step 3: Fire Prompts + Poll Status

POST /audit/prompt (fire each plan item)
curl -X POST https://xanlens.com/api/v1/audit/prompt \
  -H "Content-Type: application/json" \
  -d '{"jobId": "abc-123", "engine": "gemini", "prompt": "What is Stripe?", "promptIndex": 0}'

// Response:
{"ok": true, "engine": "gemini", "promptIndex": 0, "hasResponse": true, "done": 1}

// After all prompts fired:
curl "https://xanlens.com/api/v1/audit/status?jobId=abc-123"

// Returns full audit report with scores, engines, blind spots, citations, etc.

Additional Endpoints

GET /audit/technical — AI Crawler Access + Lighthouse + Authority + Search Demand
curl "https://xanlens.com/api/v1/audit/technical?url=https://stripe.com&brand=Stripe&industry=payments"

// Returns: robots.txt analysis (13 AI crawlers), llms.txt check,
// Lighthouse scores, social proof (Wikipedia/Crunchbase/GitHub/LinkedIn),
// Google Autocomplete demand signals
GET /audit/aio — On-Page AI Optimization
curl "https://xanlens.com/api/v1/audit/aio?url=https://stripe.com"

// Returns: AIO score, 7 category breakdowns (structured data, schema,
// page structure, navigation, content balance, metadata, AI crawlers),
// schemas found, recommendations
GET /audit/seo-score — SEO vs GEO Comparison
curl "https://xanlens.com/api/v1/audit/seo-score?brand=Stripe&industry=payments&website=stripe.com"

// Returns: Traditional search visibility score (via Tavily),
// brand mentions in search results, top 3 ranking check.
// Compare with GEO score to show the gap.
GET /audit/content-optimizer — Content AI-Friendliness (Pro)
curl "https://xanlens.com/api/v1/audit/content-optimizer?url=https://stripe.com"

// Returns: Content AI-friendliness score, headings/FAQ/schema/
// citation-worthiness/entity-density subscores, recommendations.
// How well your content is structured for AI extraction.

Free vs Pro vs GEO Skill

FeatureFreePro ($0.99)Pro + GEO Skill ($0.99)
AI EnginesGeminiAll 7All 7
Prompts tested~23~119~119
SEO vs GEO comparison
Technical health (Lighthouse)
AI crawler check
Authority sources
Search demand signals
Persona analysis
Content AI-friendliness
Competitor ranking
Trend tracking
Search volume per prompt
Generated content
Seed citations

Quick Start

Python — Full Audit in 10 Lines
import requests, time

BASE = "https://xanlens.com/api/v1"

# Detect brand
brand_info = requests.post(f"{BASE}/audit/detect", json={"website": "acme.com"}).json()

# Get plan
plan = requests.post(f"{BASE}/audit", json=brand_info).json()

# Fire prompts
for task in plan["plan"]:
    requests.post(f"{BASE}/audit/prompt", json={"jobId": plan["job_id"], **task})
    time.sleep(7)  # Rate limit: ~10 RPM for free tier

# Get results
result = requests.get(f"{BASE}/audit/status?jobId={plan['job_id']}").json()
print(f"GEO Score: {result['overall_score']}/100 ({result['grade']})")
JavaScript
const BASE = "https://xanlens.com/api/v1";
const delay = ms => new Promise(r => setTimeout(r, ms));

const brand = await fetch(`${BASE}/audit/detect`, {
  method: "POST", headers: {"Content-Type": "application/json"},
  body: JSON.stringify({website: "acme.com"})
}).then(r => r.json());

const plan = await fetch(`${BASE}/audit`, {
  method: "POST", headers: {"Content-Type": "application/json"},
  body: JSON.stringify(brand)
}).then(r => r.json());

for (const task of plan.plan) {
  await fetch(`${BASE}/audit/prompt`, {
    method: "POST", headers: {"Content-Type": "application/json"},
    body: JSON.stringify({jobId: plan.job_id, ...task})
  });
  await delay(7000);
}

const result = await fetch(`${BASE}/audit/status?jobId=${plan.job_id}`).then(r => r.json());
console.log(`GEO Score: ${result.overall_score}/100 (${result.grade})`);

x402 Payment Protocol

XanLens uses x402 for machine-native payments. No API keys. No accounts. Pro Audit + GEO Skill $0.99 USDC on Base (80% launch discount).

Flow:

1. Send request without X-Source: website header (triggers paid tier)

2. Server returns 402 with payment details if free limit exceeded

3. Agent sends USDC on Base network

4. Retry with transaction hash — server verifies and returns data

Wallet:

0xB33FF8b810670dFe8117E5936a1d5581A05f350D (Base · USDC)

MCP Server (AI Agents)

For AI agents using Model Context Protocol, XanLens is available as a native tool. Your agent can call GEO audits without leaving its workflow.

Install:

openclaw skills install xanlens-audit

Compatible with OpenClaw, Claude Desktop, Cursor, and any MCP-compatible framework. The agent gets a xanlens_audit tool that accepts brand, website, and industry parameters.

Ready to integrate?

Start with a free audit. No API keys needed.

Try Free Audit First