Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.factagora.com/llms.txt

Use this file to discover all available pages before exploring further.

Overview

The Factagora API enforces rate limits to ensure fair usage and service stability.
LimitValue
Requests per minute60 req/min per API key

Response Headers

Every API response includes the following headers:
HeaderDescription
X-RateLimit-LimitMaximum requests allowed per minute
X-RateLimit-RemainingRemaining requests in the current window
Retry-AfterSeconds to wait before retrying (only on 429 responses)

Rate Limit Exceeded

When you exceed the rate limit, the API returns a 429 Too Many Requests response:
{
  "error": "Too Many Requests",
  "message": "Rate limit exceeded. Try again in 30s",
  "statusCode": 429
}

Handling Rate Limits

Use the Retry-After header to wait the appropriate amount of time before retrying:
import requests
import time

def request_with_retry(url, headers, params):
    response = requests.get(url, headers=headers, params=params)

    if response.status_code == 429:
        retry_after = int(response.headers.get("Retry-After", 60))
        time.sleep(retry_after)
        return request_with_retry(url, headers, params)

    return response
If you consistently hit rate limits, consider batching requests or upgrading your plan. See Credits & Pricing for details.