Docs/ Overview
referencev1stableVerified 2026-08-01

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 TokenAuthorization: Bearer <firebase_jwt>
  • API KeyAuthorization: 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:

ParameterTypeDefaultDescription
range7d | 30d | 90d30dPredefined date range
start_datestringCustom start date; it takes effect only when end_date is also supplied
end_datestringCustom end date; future values are capped at today
domainstringFilter by domain
short_codestringFilter most analytics endpoints by short code; ignored by /analytics/domain-breakdown
target_urlstringResolve a tracked target URL to its short code; /analytics/domain-breakdown uses this filter and ignores short_code
traffic_typestringFilter 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, and Retry-After
  • On HTTP 429, wait for Retry-After before 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