Reports & Exports
API documentation
Use the CitedSpy API to build custom integrations and pull data into your own tools. For the full API reference with all endpoints, parameters, and response schemas, visit the [dedicated API docs page](/docs/api).
Authentication
All API requests require an API key. Generate one in Settings > API Keys.
Include the key in the Authorization header:
Authorization: Bearer cspy_your_api_key_hereBase URL
https://app.citedspy.com/api/v1Key endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /brands | List all brands in workspace |
| GET | /brands/:id | Get brand details |
| GET | /prompts | List prompts |
| POST | /prompts | Create a prompt |
| PATCH | /prompts/:id | Update a prompt |
| DELETE | /prompts/:id | Delete a prompt |
| GET | /runs | List prompt runs |
| GET | /runs/:id | Get run details with citations and mentions |
| POST | /runs/trigger | Trigger a prompt run |
| GET | /competitors | List competitors for a brand |
| GET | /dashboard/:brandId | Get dashboard metrics |
| GET | /citations | List citations |
| GET | /mentions | List mentions |
| GET | /engines | List available AI engines |
Rate limits
API requests are limited to 100 requests per minute per API key. Rate limit headers are included in every response:
X-RateLimit-Limit- max requests per windowX-RateLimit-Remaining- requests remainingX-RateLimit-Reset- Unix timestamp when window resets
Exceeding the limit returns a 429 Too Many Requests response.
Response format
All responses follow a consistent structure:
{
"data": { ... }
}Errors return:
{
"error": "Description of what went wrong"
}Pagination
List endpoints support limit (max 200) and offset query parameters.