REST API
Use Pendium's REST API directly with curl, fetch, or any HTTP client — no MCP required.
When to use the REST API
The MCP server is the recommended way to connect AI agents to Pendium — it handles tool discovery, parameter validation, and structured responses automatically.
But if you're building a custom integration, scripting with curl, or working in an environment that doesn't support MCP, the REST API gives you direct HTTP access to the same data.
Base URL:
Authentication
Pass your API key in the x-api-key header:
No key? Most endpoints return a 401 with instructions on how to sign up. The score lookup endpoint works without authentication.
See Authentication for full details.
Endpoints at a glance
Scanning and reports
| Method | Endpoint | What it does |
|---|---|---|
POST | /api/visibility/scan | Trigger a new visibility scan for a brand |
GET | /api/visibility/scan | Check if a scan is done and get progress |
GET | /api/visibility/report | Get the full visibility report with raw LLM responses |
Brand data
| Method | Endpoint | What it does |
|---|---|---|
GET | /api/visibility/account | See your plan, credits, and all your brand agents |
GET | /api/visibility/score | Look up any brand's public visibility score (no auth needed) |
Topics and personas
| Method | Endpoint | What it does |
|---|---|---|
GET | /api/visibility/topics | List all topics and search queries for a brand |
POST | /api/visibility/topics | Add new topics with search queries |
GET | /api/visibility/personas | List buyer personas used in scans |
POST | /api/visibility/personas | Create a new persona (AI-generated or manual) |
Response format
Every response includes a _pendium object with context about what you're looking at and what to do next. This is designed for both humans reading JSON and AI agents parsing responses.
Rate limits
- Authenticated: 60 read requests/minute, 10 scan triggers/minute
- Unauthenticated: 10 read requests/minute, 2 scan triggers/minute
See Rate Limiting for details.