Limites de requisições

Entenda como funciona a limitação de requisições, o acesso aos dados por plano e como lidar com respostas 429.

Os limites de requisições variam por plano. Use o endpoint GET /api/v1/limits para consultar seu plano e seus limites atuais de forma programática.
Limites de requisições por chave
PlanoRequisições / minPico / s
Builder (incl. teste grátis de 3 dias)25012
Pro75040
EnterprisePersonalizadoPersonalizado

O limite por minuto usa uma janela deslizante. O pico usa um token bucket.

Acesso aos dados por plano

No plano Builder — incluindo o teste grátis de 3 dias, que é o Builder completo — o acesso fica restrito aos mercados mais recentes. Os planos Pro e Enterprise têm acesso ilimitado a todos os mercados e snapshots.

Tipo de mercadoBuilderPro / Enterprise
5m4,100Ilimitado
15m1,400Ilimitado
1hr350Ilimitado
4hr85Ilimitado
24hr14Ilimitado

Quando uma consulta de lista ultrapassa o teto do seu plano, o limit da resposta é reduzido e um campo warning é incluído.

Limites de chaves de API

O número de chaves de API ativas que você pode ter depende do seu plano. Chaves revogadas ou expiradas não contam para o limite.

3
Builder (incl. teste grátis de 3 dias)
10
Pro
Ilimitado
Enterprise
Headers de limite de requisições

Toda resposta inclui headers de limite de requisições para que você acompanhe seu uso em tempo real.

X-RateLimit-Limit: 250
X-RateLimit-Remaining: 237
X-RateLimit-Reset: 1740800060

Como lidar com respostas 429

Quando você excede seu limite de requisições, a API retorna o código de status 429 com um header Retry-After indicando quantos segundos esperar. O corpo da resposta inclui os campos error, message e retry_after.

import time
import requests

def fetch_with_retry(url, headers, max_retries=3):
    for attempt in range(max_retries):
        response = requests.get(url, headers=headers)
        if response.status_code == 429:
            wait = int(response.headers.get("Retry-After", 2 ** attempt))
            time.sleep(wait)
            continue
        return response
    raise Exception("Rate limit exceeded after retries")
403 Forbidden — acesso aos dados

Se você tentar acessar um mercado, ou os snapshots dele, que esteja fora da janela de dados do seu plano, a API retorna 403 Forbidden. Faça upgrade do seu plano ou acesse um mercado mais recente.

{
  "error": "Forbidden",
  "message": "Your builder plan only includes the most recent markets for this type. Upgrade for full access.",
  "tier": "builder"
}