Track AI visibility and generate fix content programmatically. Available on Pro and Enterprise plans.
All API requests require an API key passed in the Authorization header. Get your API key from your dashboard settings.
curl https://api.truecite.ai/v1/businesses \
-H "Authorization: Bearer tc_live_your_api_key_here" \
-H "Content-Type: application/json"⚠️ Keep your API key secret. Never expose it in client-side code or public repositories. Rotate immediately if compromised.
https://api.truecite.ai| Plan | Requests/min | Scans/month | Concurrent scans |
|---|---|---|---|
| Pro | 60 | 600 | 5 |
| Enterprise | 300 | Custom | 20 |
/v1/businessesResponse
{
"businesses": [
{
"id": "biz_abc123",
"name": "Acme Corp",
"website": "https://acme.com",
"industry": "B2B SaaS",
"created_at": "2026-05-01T00:00:00Z"
}
]
}/v1/scansRequest Body
{
"business_id": "biz_abc123",
"prompts": [
"What is the best AEO tool for B2B SaaS?",
"How do I get my brand cited by ChatGPT?"
],
"engines": ["chatgpt", "perplexity", "gemini", "claude"]
}Response
{
"scan_id": "scan_xyz789",
"status": "processing",
"estimated_seconds": 30,
"results_url": "https://api.truecite.ai/v1/scans/scan_xyz789"
}/v1/scans/:scan_idResponse
{
"scan_id": "scan_xyz789",
"status": "completed",
"mention_share_score": 34,
"results": [
{
"engine": "chatgpt",
"prompt": "What is the best AEO tool?",
"brand_mentioned": true,
"brand_position": 2,
"mention_share_score": 45,
"brand_sentiment": "positive",
"competitors_mentioned": ["Profound", "HubSpot AEO"],
"scanned_at": "2026-05-03T10:00:00Z"
}
]
}/v1/fixes/generateRequest Body
{
"scan_id": "scan_xyz789",
"engine": "chatgpt",
"types": ["faq_block", "answer_paragraph", "json_ld"]
}Response
{
"fix_id": "fix_def456",
"engine": "chatgpt",
"blocks": [
{
"type": "faq_block",
"title": "FAQ Block",
"content": "<div itemscope itemtype='https://schema.org/FAQPage'>..."
},
{
"type": "json_ld",
"title": "JSON-LD Schema",
"content": "{"@context": "https://schema.org", ...}"
}
]
}/v1/competitorsResponse
{
"competitors": [
{
"id": "comp_111",
"name": "Profound",
"website": "https://profound.co",
"mention_count": 8
}
]
}Native SDK packages for the most common languages are in development. Until release, use the REST API directly with any HTTP client.
npm install @truecite/sdkpip install trueciteSubscribe to the changelog to be notified when SDKs ship.
import requests, time
API_KEY = "tc_live_your_api_key_here"
BASE_URL = "https://api.truecite.ai/v1"
headers = {"Authorization": f"Bearer {API_KEY}"}
# Trigger a scan
scan = requests.post(f"{BASE_URL}/scans", headers=headers, json={
"business_id": "biz_abc123",
"prompts": ["What is the best AEO tool for B2B SaaS?"],
"engines": ["chatgpt", "perplexity", "gemini"]
}).json()
print(f"Scan started: {scan['scan_id']}")
# Poll for results
time.sleep(30)
results = requests.get(
f"{BASE_URL}/scans/{scan['scan_id']}",
headers=headers
).json()
print(f"MentionShare: {results['mention_share_score']}%")const API_KEY = 'tc_live_your_api_key_here'
const BASE_URL = 'https://api.truecite.ai/v1'
const headers = {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json'
}
// Trigger a scan
const scan = await fetch(`${BASE_URL}/scans`, {
method: 'POST',
headers,
body: JSON.stringify({
business_id: 'biz_abc123',
prompts: ['What is the best AEO tool for B2B SaaS?'],
engines: ['chatgpt', 'perplexity', 'gemini']
})
}).then(r => r.json())
// Get results after processing
await new Promise(r => setTimeout(r, 30000))
const results = await fetch(`${BASE_URL}/scans/${scan.scan_id}`, { headers })
.then(r => r.json())
console.log('MentionShare:', results.mention_share_score + '%')Receive real-time notifications when scans complete. Configure your webhook URL in dashboard settings.
{
"event": "scan.completed",
"scan_id": "scan_xyz789",
"business_id": "biz_abc123",
"mention_share_score": 34,
"scanned_at": "2026-05-03T10:00:00Z",
"summary": {
"total_prompts": 5,
"mentioned": 2,
"not_mentioned": 3,
"engines": ["chatgpt", "perplexity", "gemini"]
}
}| Code | Meaning | Solution |
|---|---|---|
| 401 | Unauthorized | Check your API key is valid and included in the Authorization header |
| 403 | Forbidden | This endpoint requires a Pro or Enterprise plan |
| 404 | Not Found | The resource ID does not exist or belongs to another account |
| 429 | Rate Limited | Slow down requests. Check the Retry-After header for when to retry |
| 500 | Server Error | Something went wrong on our end. Retry after a few seconds |
API access is available on Pro and Enterprise plans.