Skip to Content
Autenticação

Autenticação

Todas as requisições da API requerem autenticação via uma chave de API. Sua chave começa com sk_ seguido por live_ ou test_.

Métodos de Autenticação

A SharpAPI suporta três métodos de autenticação, listados em ordem de prioridade:

1. Cabeçalho X-API-Key (Recomendado)

O método mais seguro para aplicações server-side.

curl -H "X-API-Key: sk_live_your_key" \ https://api.sharpapi.io/api/v1/odds

2. Cabeçalho Authorization Bearer

Formato padrão de bearer token no estilo OAuth.

curl -H "Authorization: Bearer sk_live_your_key" \ https://api.sharpapi.io/api/v1/odds

3. Parâmetro de Consulta

Útil para streaming SSE em navegadores onde não é possível definir cabeçalhos personalizados.

curl "https://api.sharpapi.io/api/v1/stream?api_key=sk_live_your_key"

Aviso de Segurança: Nunca exponha sua chave de API em código client-side ou em repositórios públicos. Use um proxy de backend para aplicações de navegador.

Obtendo Sua Chave de API

  1. Cadastre-se - Crie uma conta em sharpapi.io/sign-up 
  2. Acesse o Dashboard - Faça login em seu dashboard
  3. Copie a Chave - Sua chave de API é exibida no dashboard principal

Pronto para fazer sua primeira chamada? Siga o guia Início Rápido.

Planos de Assinatura

PlanoPreçoRequisições/MinAtraso de DadosPrincipais Recursos
Free$0/mês1260sOdds, Eventos
Hobby$79/mês120Tempo realOdds, Eventos, Arbitragem
Pro$229/mês300Tempo real+ EV, Middles
Sharp$399/mês1.000Tempo real+ Suporte Prioritário
EnterprisePersonalizadoPersonalizadoTempo real+ SLA

Veja Preços para detalhes completos.

Limites de Taxa (Rate Limits)

Os limites de taxa são aplicados por chave de API. Os limites atuais são retornados nos cabeçalhos de resposta:

X-RateLimit-Limit: 300 X-RateLimit-Remaining: 299 X-RateLimit-Reset: 1705804800
CabeçalhoDescrição
X-RateLimit-LimitMáximo de requisições por minuto para o seu plano
X-RateLimit-RemainingRequisições restantes na janela atual
X-RateLimit-ResetTimestamp Unix de quando o limite é redefinido

Resposta de Limite de Taxa

Quando excedido, você receberá uma resposta 429:

{ "error": { "code": "rate_limited", "message": "Rate limit exceeded. Upgrade your plan or wait before retrying.", "docs": "https://docs.sharpapi.io/en/authentication#rate-limits" } }

Implemente backoff exponencial ao receber uma resposta 429. Verifique X-RateLimit-Reset para saber quando a janela é redefinida.

Acesso a Recursos por Plano

RecursoFreeHobbyProSharpEnterprise
GET /oddsSimSimSimSimSim
GET /odds/bestSimSimSimSimSim
GET /odds/comparisonSimSimSimSimSim
POST /odds/batchSimSimSimSimSim
GET /eventsSimSimSimSimSim
GET /events/:eventIdSimSimSimSimSim
GET /events/:eventId/oddsSimSimSimSimSim
GET /events/:eventId/marketsSimSimSimSimSim
GET /opportunities/evNãoNãoSimSimSim
GET /opportunities/arbitrageNãoSimSimSimSim
GET /opportunities/middlesNãoNãoSimSimSim
GET /streamNãoAdd-onAdd-onAdd-onSim
GET /accountSimSimSimSimSim
GET /account/usageSimSimSimSimSim
GET /account/keysSimSimSimSimSim

O streaming requer o add-on de WebSocket ($99/mês) em qualquer plano pago. O Enterprise inclui streaming sem custo adicional.

Endpoints de Referência Públicos

Os seguintes endpoints de dados de referência são acessíveis sem autenticação a 10 requisições/minuto:

  • GET /api/v1/sports - Lista todos os esportes
  • GET /api/v1/leagues - Lista todas as ligas
  • GET /api/v1/sportsbooks - Lista todas as casas de apostas
  • GET /api/v1/markets - Lista todos os tipos de mercado
  • GET /api/v1/health - Verificação de saúde

Requisições autenticadas recebem limites de taxa mais altos com base no seu plano de assinatura.

Códigos de Erro

Códigos relacionados à autenticação que você verá com mais frequência. Para a lista completa de 19 códigos HTTP mais os 6 códigos de frame WebSocket, consulte Visão Geral da API → Códigos de Erro.

CódigoStatus HTTPDescrição
missing_api_key401Nenhuma chave de API foi fornecida
invalid_api_key401A chave de API foi fornecida mas não é reconhecida
expired_api_key401A chave de API expirou
disabled_api_key401A chave de API está desabilitada, geralmente porque a assinatura expirou
unauthorized401Falha na autenticação por bearer token em endpoints de administração ou monitoramento (distinto de invalid_api_key)
invalid_token401Falha na verificação do token de sessão do dashboard Clerk
tier_restricted403Endpoint ou recurso não disponível no seu plano
rate_limited429Muitas requisições — veja retry_after
too_many_streams429Número máximo de conexões SSE / WebSocket simultâneas atingido
validation_error400Parâmetros de requisição malformados (substitui os obsoletos bad_request / invalid_request)
upstream_error502Problema temporário ao acessar o upstream
internal_error500Erro inesperado do servidor

Formato de Resposta de Erro

Todos os erros seguem um formato consistente:

{ "error": { "code": "unauthorized", "message": "Invalid API key. Check that your key is correct and active.", "docs": "https://docs.sharpapi.io/en/authentication" } }

Boas Práticas

  1. Armazene as chaves de forma segura - Use variáveis de ambiente, nunca faça commit no controle de versão
  2. Use requisições server-side - Nunca exponha chaves em JavaScript client-side
  3. Implemente lógica de retry - Trate erros 429 com backoff exponencial
  4. Monitore o uso - Verifique o endpoint /account/usage para acompanhar o consumo
  5. Rotacione chaves regularmente - Use o endpoint /account/keys/:keyId/rotate periodicamente para segurança
Last updated on