CiteCraft API
A read-only REST API to pull your AI visibility, answers, cited sources and competitors into your own dashboards, reports or workflows. Available on the Business plan.
Authentication
Every request is authenticated with an API key sent in the X-API-Key header. Create and manage keys in your account under Account, then API Keys. A key is shown in full only once at creation, so store it somewhere safe. You can revoke a key at any time and it stops working immediately.
curl https://api.citecraft.ai/v1/brands \
-H "X-API-Key: ck_live_your_key_here"Keys are tied to your account. They only ever return your own data, and only while your Business subscription is active.
Rate limits
Each key is limited to:
- 120 requests per minute
- 10,000 requests per day
Exceeding a limit returns HTTP 429. Space your requests out and cache responses where you can. The data updates once per scan (daily on Business), so polling more often than that will not return fresher numbers.
Errors
The API uses standard HTTP status codes and returns JSON errors.
{ "detail": "Invalid or revoked API key" }401missing, invalid or revoked key403your plan does not include API access404brand not found or not yours429rate limit exceeded
Endpoints
/v1/brandsList the brands on your account.
Request
curl https://api.citecraft.ai/v1/brands \
-H "X-API-Key: ck_live_..."Response
{
"data": [
{ "id": 1, "name": "Acme", "domain": "acme.com", "industry": "SaaS" }
]
}/v1/brands/{id}/overviewHeadline numbers for the last 30 days: visibility, citation rate, sentiment and a per-platform breakdown.
Request
curl https://api.citecraft.ai/v1/brands/1/overview \
-H "X-API-Key: ck_live_..."Response
{
"brand_id": 1,
"days": 30,
"total_responses": 60,
"visibility_pct": 42.5,
"citation_pct": 18.0,
"sentiment": { "positive": 12, "neutral": 9, "negative": 4 },
"by_platform": {
"openai": { "total": 12, "mentions": 6, "citations": 3 }
}
}/v1/brands/{id}/answersRecent answers the AIs gave to your prompts. Accepts a limit query parameter (1 to 200, default 50).
Request
curl "https://api.citecraft.ai/v1/brands/1/answers?limit=50" \
-H "X-API-Key: ck_live_..."Response
{
"data": [
{
"id": 981,
"platform": "perplexity",
"prompt": "best coffee subscription",
"answer": "...",
"brand_mentioned": true,
"brand_cited": false,
"sentiment": "positive",
"created_at": "2026-07-14T01:00:00+00:00"
}
]
}/v1/brands/{id}/promptsThe prompts currently tracked for this brand.
Request
curl https://api.citecraft.ai/v1/brands/1/prompts \
-H "X-API-Key: ck_live_..."Response
{
"data": [
{ "id": 44, "text": "best coffee subscription" }
]
}/v1/brands/{id}/sourcesWebsites the AIs cite for your prompts, most cited first.
Request
curl https://api.citecraft.ai/v1/brands/1/sources \
-H "X-API-Key: ck_live_..."Response
{
"data": [
{
"domain": "reddit.com",
"type": "reddit",
"count": 14,
"example_url": "https://reddit.com/r/coffee/...",
"last_seen": "2026-07-14T01:00:00+00:00"
}
]
}/v1/brands/{id}/competitorsYour tracked competitors and how often each was mentioned in the last 30 days.
Request
curl https://api.citecraft.ai/v1/brands/1/competitors \
-H "X-API-Key: ck_live_..."Response
{
"data": [
{ "id": 7, "name": "Rival Co", "domain": "rival.com", "mentions_30d": 9 }
]
}Notes
- The API is read-only. It never triggers scans or changes your account.
- All timestamps are ISO 8601 in UTC.
- Amounts and percentages match what you see in your dashboard.
- Need a write API, webhooks or a higher rate limit? Email hello@citecraft.ai.