Overview
SeeLLM's REST API gives you programmatic access to all your AI traffic analytics data.
Base URL
https://api.seellm.link/api
The generated OpenAPI contract is the machine-readable reference for the documented analytics, Jobs, and Agent Hooks endpoints.
Authentication
All API requests require authentication via one of:
- Firebase Auth Token —
Authorization: Bearer <firebase_jwt> - API Key —
Authorization: Bearer sk_live_...
API keys can be generated in your dashboard under Settings > API Keys. These documented routes authenticate an active API key or a Firebase token; they do not currently enforce endpoint-specific API-key scopes. Firebase viewer users cannot call write endpoints; API keys authenticate as editors.
Common Query Parameters
All analytics endpoints support these parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
range | 7d | 30d | 90d | 30d | Predefined date range |
start_date | string | — | Custom start date; it takes effect only when end_date is also supplied |
end_date | string | — | Custom end date; future values are capped at today |
domain | string | — | Filter by domain |
short_code | string | — | Filter most analytics endpoints by short code; ignored by /analytics/domain-breakdown |
target_url | string | — | Resolve a tracked target URL to its short code; /analytics/domain-breakdown uses this filter and ignores short_code |
traffic_type | string | — | Filter only GET /analytics/bot-traffic by traffic type |
The current analytics routes do not paginate. GET /jobs also returns all jobs for the organization, newest first, without pagination or filters.
Response Format
All endpoints return JSON. Successful responses return the data directly. Errors return:
{
"error": "Missing or invalid authorization header"
}
Some errors add a message; rate-limit responses also add retryAfter (milliseconds), limit, and remaining.
Rate Limits
- 60 requests/minute globally per source IP. The limiter runs before route authentication, so authenticated API calls use the source-IP key as well.
- Headers:
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset, andRetry-After - On HTTP
429, wait forRetry-Afterbefore retrying. No public request-timeout or automatic-retry policy is currently advertised.
Idempotency and Versioning
The current write endpoints do not accept idempotency keys, so do not automatically retry a timed-out POST unless your caller can safely reconcile the result. This is the current v1 documentation contract (info.version is 1.0.0); the API URL does not include a version segment and does not publish a version header.
Caching
All analytics queries are cached server-side with a 5-minute TTL. This reduces backend costs by ~95% while keeping data fresh enough for dashboards.
Next Steps
- See Authentication for detailed auth setup
- Download the OpenAPI contract for generated clients or validation
- Browse Analytics Endpoints for the full API reference
- Use Jobs to approve work and attach patch or edge-page implementations
- Use Agent Hooks to send signed SeeLLM jobs to your automation stack