# 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](/content/site-root.html) 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.

```http
Authorization: Bearer YOUR_API_KEY
```

### Base URL

Use this base URL for all endpoints below. Examples already include the full path.

```http
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](/content/api-docs/llms.txt): short index, generated from the live route table.
- [/api-docs/llms-full.txt](/content/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](mailto:info@llmpulse.ai) 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.

1. List your projects: `GET /dimensions/projects`
2. (Optional) Fetch project dimensions (competitors, models, locales, tags)
3. 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.

### Params:
- `project_id` optional

## 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.

- [Download the CLI](https://github.com/LLM-Pulse/llmpulse-cli/releases) 
- [Read the CLI guide](/content/help-center/cli/index.html)

### 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.

- [Browse SDK repositories](https://github.com/orgs/LLM-Pulse/repositories?q=llmpulse-) 
- [Read the SDK guide](/content/help-center/llm-pulse-sdks/index.html)

## API Playground

### API Playground

Test API endpoints live

---

### Request Preview

```bash
curl -X GET "https://api.llmpulse.ai/api/v1/ping" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

### Response

```plaintext
Response will appear here...
```

## Browse the API reference

Every endpoint, grouped by the resource it belongs to:

- [Core Concepts](/content/api-docs/core-concepts/index.html)
- [Projects](/content/api-docs/projects/index.html)
- [Metrics](/content/api-docs/metrics/index.html)
- [Competitors](/content/api-docs/competitors/index.html)
- [Prompts](/content/api-docs/prompts/index.html)
- [Collections & Tags](/content/api-docs/collections-and-tags/index.html)
- [Answers (AI responses)](/content/api-docs/answers/index.html)
- [Mentions & Citations](/content/api-docs/mentions-and-citations/index.html)
- [Sentiments](/content/api-docs/sentiments/index.html)
- [Sources & Citation Intelligence](/content/api-docs/citation-intelligence/index.html)
- [AI Model Insights](/content/api-docs/ai-model-insights/index.html)
- [AI & Agent Traffic](/content/api-docs/ai-traffic/index.html)
- [Shopping & Ads](/content/api-docs/shopping-and-ads/index.html)
- [Owned Media & Communities](/content/api-docs/owned-media/index.html)
- [Reputation & Studies](/content/api-docs/reputation-and-studies/index.html)
- [Search Console](/content/api-docs/search-console/index.html)
- [Recommendations](/content/api-docs/recommendations/index.html)
- [GEO Writer](/content/api-docs/geo-writer/index.html)
- [Technical GEO Reports](/content/api-docs/technical-geo-reports/index.html)
- [Annotations](/content/api-docs/annotations/index.html)
- [Webhooks](/content/api-docs/webhooks/index.html)
- [Integrations](/content/api-docs/integrations/index.html)
- [OAuth 2.1](/content/api-docs/oauth/index.html)
- [Changelog](/content/api-docs/changelog/index.html)

Full access. Cancel anytime.
