Authentication
Login, logout, refresh tokens, and email verification endpoints.
Programmatic access to your GEO data. Integrate LLM citation tracking into your applications and analytics workflows.
Get API AccessGet started with the Geo Attribution API in minutes. All endpoints return JSON and require authentication via Bearer tokens.
curl -X POST https://geo-attribution.fly.dev/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"password": "your-password"
}'Save the access_token from the response and include it in subsequent requests:
curl -X GET https://geo-attribution.fly.dev/api/v1/domains \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" The API uses JWT Bearer tokens for authentication. Obtain tokens via the login endpoint, then include them in the Authorization header for all authenticated requests.
# Login to get tokens
curl -X POST /api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]", "password": "password"}'
# Use access token for API calls
curl -X GET /api/v1/domains \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9..." Access tokens expire after 15 minutes. Use the refresh token to obtain new access tokens without re-authenticating.
API endpoints are protected by rate limits:
Rate limit headers are included in all responses:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1640995200The API is organized into functional groups. Each group handles a specific aspect of LLM citation tracking.
Login, logout, refresh tokens, and email verification endpoints.
Manage tracked domains and competitors. Add, remove, and configure monitoring settings.
Create, schedule, and monitor LLM scans. Query multiple AI providers simultaneously.
Retrieve citation data, export reports, and analyze mention trends over time.
Access sentiment analysis results. Track positive, neutral, and negative mentions.
Manage subscriptions, view usage, handle billing events, and configure API key access.
Handle Stripe billing events (subscription, payment, invoice updates)
The API uses standard HTTP status codes:
Error responses include detailed information in RFC 9457 format:
{
"error": "ValidationError",
"message": "Request validation failed",
"status": 422,
"details": [
{"field": "email", "message": "Invalid email format", "code": "invalid_format"}
],
"instance": "/api/v1/auth/register",
"requestId": "abc-123"
}Get access to the full API during beta. All features included with generous rate limits for development and testing.
Get API Access