API Documentation
Access your AI visibility data with the REST API, native Rust CLI, official SDKs for 12 languages, or MCP. Build dashboards, ETL pipelines, and automated workflows.
LLM Pulse API
Build dashboards, ETL pipelines and automations with a clean, well-typed API.
LLM Pulse is an AI visibility analytics platform that monitors how your brand appears in AI-generated responses from ChatGPT, Perplexity, Gemini, and other LLMs. The API gives you programmatic access to all your visibility data, including brand mentions, citation sources, sentiment analysis, and share of voice metrics. Use it to build custom dashboards, automate reports, or integrate AI visibility tracking into your existing tools.
Authentication
Use a Bearer token from your API Key.
Authorization: Bearer YOUR_API_KEY
Base URL
Use this base URL for all endpoints below. Examples already include the full path.
https://api.llmpulse.ai/api/v1
Using an AI agent? Read the llms.txt
We serve a machine-readable version of these docs so coding agents (Claude Code, Cursor, ChatGPT, etc.) can find the right endpoint without parsing this page.
/api-docs/llms.txt : short index, generated from the live route table.
/api-docs/llms-full.txt : full reference (every endpoint, every parameter).
100% UI-to-API parity, found a gap? We''ll close it
We aim for 100% UI-to-API parity, anything you can see in the LLM Pulse dashboard should be reachable through the API. If you find a gap, report it and we commit to implementing it, typically within hours to a few days.
Authentication
Send your key in the Authorization header as a Bearer token. Rotate/revoke under Settings → API Keys.
Missing or malformed headers return 401 ERR_MISSING_AUTH. Unknown keys return 401 ERR_INVALID_API_KEY. Revoked keys return 403 ERR_REVOKED_API_KEY.
Each call runs in the context of the API key’s user. Projects must belong to that user; otherwise 404 ERR_PROJECT_NOT_FOUND.
These endpoints accept POST/PATCH/PUT/DELETE and require an API key with the read_write scope. A token with the read scope receives 403 ERR_INSUFFICIENT_SCOPE. Writes share a tighter rate limit (60/min/key) in addition to the global 300/min/key budget.
Quick start
The logical flow is: list resources → (optionally) fetch dimensions → query metrics. The first call to /dimensions/projects already validates your API key.
- List your projects:
GET /dimensions/projects - (Optional) Fetch project dimensions (competitors, models, locales, tags)
- Request metrics under
/metrics/*
Health Check
GET/ping
Cheapest way to verify a key works and measure round-trip latency. Returns pong, the authenticated user id and the server time. Pass project_id to also assert the key can reach that project.
project_idoptional
Account & Limits
GET/account
Plan, tracking cadence, subscription window, how much of each quota is used (prompts, projects, competitors per project, monthly GEO Writer tasks, team members) and the API rate limits that apply to your key. Call it before anything that spends quota so you can report what is left instead of finding the ceiling by hitting it. Limits resolve through the account owner, so a team member sees the capacity that applies to them. An unlimited quota returns limit and remaining as null, with unlimited set to true.
- Params: none.
Official CLI & SDKs
Use the native CLI from a terminal or add a typed SDK to your application. Both are generated from the published OpenAPI document and work with the same API keys and base URL shown in this reference.
Rust CLI
A native Rust client for macOS, Linux, and Windows with named profiles plus JSON, table, and CSV output. Use it for quick checks, shell scripts, scheduled exports, and CI jobs.
SDKs for 12 languages
Official generated clients for TypeScript, Python, Go, Java, Kotlin, C#, PHP, Ruby, Rust, Swift, Dart, and R. Each client stays aligned with the published OpenAPI document.
API Playground
API Playground
curl -X GET "https://api.llmpulse.ai/api/v1/ping" -H "Authorization: Bearer YOUR_API_KEY"
Response will appear here...
Sign up to get your API key and start testing
Get API KeyBrowse the API reference
Every endpoint, grouped by the resource it belongs to.
The rules every endpoint shares: filters, metric definitions, JSON and CSV output, caching, error codes and versioning.
A project is one tracked brand: its domain, locale, prompts and competitors. Almost every other endpoint takes a project_id, so start here.
Aggregated visibility, share of voice, citation and position data for your brand and its competitors, ready to chart.
The brands you track alongside your own. The competitor ids returned here are the actor_id values the metrics endpoints report against.
The questions we run against the AI models every week, and the execution records each run produces.
Collections (labelled Tags in the app) group prompts by topic, funnel stage or campaign so every metric can be filtered by them. A prompt can belong to several.
The AI responses behind every metric, with their full text, mentions, citations and sentiment analysis.
The raw records behind the visibility metrics: one row per brand mention or per cited URL.
Sentiment records with their comments, topics and scores, plus the category catalog used to label them.
Every URL the models cited, plus grouped URL, domain and host views, page-cache metadata, mention evidence inside cited pages, occurrence lists and sanitized...
Aggregate parts of the in-app AI Model Insights report.
What AI actually sends to your site: referral traffic covers humans arriving from AI assistants, agent traffic covers the AI crawlers hitting your origin...
Commercial surfaces inside AI answers: the product cards models return and the paid placements that run alongside them, with the merchants and advertisers...
Which of your own channels and which community conversations AI answers cite.
Multi-model analyst reports: the monthly reputation scoring of your brand against its competitors, and the custom AI studies you define over any subjects and...
Google Search Console performance data (impressions, clicks, CTR, average position) for projects with a connected GSC property. Growth plan or above required.
The same recommendation runs that power the in-app Recommendations page, plus the endpoint that launches a new one.
Create and manage AI-powered GEO Writer tasks. Tasks are processed asynchronously, so create one and poll it until it completes.
Launch the Technical GEO bundle for a URL, then list, poll and retrieve each report. Reports run asynchronously.
Mark a date on the project timeline (a campaign launch, a site migration, a redesign) so a chart shows what happened when. Available on every plan.
Receive a signed HTTP POST every time something happens in a project, with no polling.
Ready-made ways to call the API: code snippets in seven languages, the Postman collection, and the MCP server for AI clients.
OAuth 2.1 with PKCE and Dynamic Client Registration, so an MCP client can connect to LLM Pulse without the user pasting an API key.
Every change to the REST API and MCP tools, newest first.