API & MCP
Run audits via API or MCP
Self-serve access to the same engine behind the free audit: a REST API and a read-only MCP server. No sales call, no annual commitment. Build it into your stack, or resell audits to your clients.
Base URL
Every endpoint lives under one host. All requests and responses are JSON unless noted.
https://api.citepulse.ai
Authentication
Two access modes, depending on what you call.
Free audit engine (no key)
The audit endpoints need no API key. They do require a valid, deliverable email and acceptance of the Terms and Privacy Policy in the request body, and they draw from a shared daily pool. One free audit runs per email and domain; a repeat for the same site returns a paid upsell. This is the anti-abuse gate on a run that costs real money.
Agency API (Bearer key)
The /api/v1 endpoints authenticate with an agency API key issued from your agency dashboard, available on the Scale plan. Send it as a bearer token.
Authorization: Bearer <your-agency-api-key>
REST API
Start an AI-visibility audit for a domain. Returns 202 with an audit_id to poll, or 200 with the result inline when a fresh result is already cached (under 24 hours). The PDF report is also emailed to the address you pass.
curl -X POST https://api.citepulse.ai/api/audit \
-H "Content-Type: application/json" \
-d '{
"domain": "example.com",
"email": "[email protected]",
"accept_terms": true,
"industry": "b2b saas"
}'
# 202 Accepted (a fresh run, poll for the result)
{ "audit_id": "3f2c..." }
# 200 OK (cache hit under 24h)
{ "audit_id": "3f2c...", "result": { "score": 34, "layers": { ... }, "citations": [ ... ] } }
Error codes you should handle: 400 (missing domain or email, or terms not accepted), 409 audit_limit (a free audit already ran for this email and domain), 429 quota_exhausted (the daily free pool is spent, refreshes at midnight UTC).
Poll a running audit.
curl https://api.citepulse.ai/api/audit/3f2c...
# while running
{ "status": "running", "progress": 45, "message": "Querying Perplexity..." }
# when finished
{ "status": "done", "result": { ... } }
The same progress as Server-Sent Events (SSE), if you prefer a stream to polling.
How many free audits are left in today's shared pool.
{ "limit": 30, "used": 12, "left": 18, "resets_at": "..." }
Agency API (Bearer)
Read your monitored clients and their results. Requires an agency API key (Scale plan).
curl https://api.citepulse.ai/api/v1/clients \
-H "Authorization: Bearer <your-agency-api-key>"
# /source-presence
{ "score": 62, "present": ["g2.com", "reddit.com"], "missing": ["wikipedia.org"], "last_checked": "..." }
MCP servers
Two read-only Model Context Protocol servers let an AI agent (Claude, Cursor, and similar) pull CitePulse data directly as a tool. Both are authless and read-only. Discovery manifest:
Directory server: /mcp
JSON-RPC 2.0 over Streamable HTTP (protocol 2025-06-18). Read-only tools over verified brand records and AI Trust Scores.
| Tool | Arguments | Returns |
|---|---|---|
get_brand_record | domain | Canonical record: name, description, services, profiles, AI Trust Score, verification status |
search_brands | query, min_trust_score? | Matching verified brands with domain, name, Trust Score, description |
curl -X POST https://api.citepulse.ai/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"get_brand_record","arguments":{"domain":"example.com"}}}'
To wire it into an MCP client, point it at the URL:
{
"mcpServers": {
"citepulse": { "url": "https://api.citepulse.ai/mcp" }
}
}
Per-brand server: /mcp/:domain
A per-brand endpoint that serves that brand's approved facts, with Ed25519-signed responses.
| Tool | Returns |
|---|---|
get_facts | Approved brand facts (signed) |
get_pricing | Machine-readable pricing |
get_policies | Policies (refund, shipping where relevant) |
get_products | Product records |
Limits & pricing
Free audits draw from a shared daily pool and are limited to one per email and domain. There is no per-call charge and, today, no usage-based API billing. For instant or deeper results, and for programmatic use at volume, the paid paths are:
- Full Audit, a one-time $39 deep audit (adds Claude, per-area competitor breakdown, no pool cap).
- Monitoring plans, from $89/mo, for ongoing checks.
- Scale, $349/mo, which bundles the agency API key, white-label and up to 10 client domains.
Honest scope. MCP is a forward-looking bet, not a proven citation channel: there is no evidence today that AI assistants auto-discover and ingest a third-party brand's MCP server. A signed fact attests that the brand approved a value as of a version, not that it is objectively true. We sell measurement and fixes, not guaranteed AI citations.
Start with a free audit
Run one from the browser, or call POST /api/audit and build it into your stack.