EyesOnAssets Public API

Acesso B2B pago via chave de API aos mesmos dados que os usuários veem no site: o screener em tempo real (preço/variação/volume em crypto, forex e ações) e o módulo Analytics (pontuação técnica + fundamentalista de −100 a +100 por ativo). Não é necessária conta no site — apenas uma chave.

REST / JSON URL base: /api/v1/public Auth: cabeçalho X-API-Key

Autenticação

Toda requisição deve incluir um cabeçalho X-API-Key com sua chave. As chaves são emitidas manualmente após o acordo de um plano/contrato — não há cadastro self-service para esta API (veja "Como obter acesso").

Mantenha sua chave em segredo. Nunca a incorpore em código do lado do cliente (navegador/mobile) — apenas no servidor. Uma chave comprometida pode ser revogada imediatamente mediante solicitação.

Início rápido

# Verifique seu plano, limites e cota mensal restante
curl -H "X-API-Key: eoa_live_YOUR_KEY" \
  https://your-domain/api/v1/public/usage
# Pontuação Analytics de todos os ativos do mercado crypto
curl -H "X-API-Key: eoa_live_YOUR_KEY" \
  https://your-domain/api/v1/public/analytics/crypto/list

Preços

PlanoPreçoMercadosLimite de taxaCota/mês
Starter $250/mês 1 à sua escolha (crypto / forex / ações) 30 req/min 20.000
Business $500/mês Os três (screener + analytics combinados) 120 req/min 150.000
Enterprise sob consulta Os três + suporte prioritário 600 req/min ilimitado

Você pode consultar seu plano atual, restrições de mercado e prazo do contrato a qualquer momento via GET /usage.

Limites e cota

Existem dois limites independentes:

TipoO que contaO que acontece ao exceder
Limite de taxa Requisições por minuto, conforme o plano 429 Too Many Requests, tente novamente mais tarde
Cota mensal Total de requisições no mês calendário 429 Cota mensal excedida — faça upgrade do plano ou aguarde o próximo mês
Ambos os limites se aplicam por chave (mais precisamente, por cliente caso você tenha várias chaves), não por endereço IP — você pode chamar a API com segurança de vários servidores atrás de NAT.

Referência de endpoints

GET/api/v1/public/usage

Seu plano atual, mercados permitidos, limites e quantas requisições você usou neste mês. Não custa mais que uma requisição normal contra sua cota mensal.

{
  "org_name": "Acme Trading LLC",
  "tier": "business",
  "status": "active",
  "allowed_markets": ["crypto", "forex", "stocks"],
  "rate_limit": "120/minute",
  "monthly_quota": 150000,
  "used_this_month": 4213,
  "contract_expires_at": null
}

GET/api/v1/public/screener/{market_type}/{exchange}/{instrument}

Dados do screener em tempo real: preço, % de variação, volume de cada instrumento na combinação mercado/exchange/tipo.

ParâmetroTipoDescrição
market_typepathcrypto / forex / stocks
exchangepathbybit, binance, okx, moex, nasdaq, etc. — depende do mercado e da região de deploy
instrumentpathspot, perpetual, futures, stock, major, etc.
volume_min / volume_maxquery, opcionalFiltro de volume
change_min / change_maxquery, opcionalFiltro de % de variação
# Exemplo
curl -H "X-API-Key: ..." \
  ".../api/v1/public/screener/crypto/bybit/spot?volume_min=1000000"

GET/api/v1/public/ohlcv/{market_type}/{exchange}/{symbol}/{timeframe}

Candles OHLCV de um símbolo específico.

ParâmetroTipoDescrição
symbolpathEx.: BTC_USDT ou BTC/USDT
timeframepath1m, 5m, 15m, 1h, 4h, 1d, etc.
limitquery, opcionalNúmero de candles, padrão 200, máx. 1000

GET/api/v1/public/analytics/{market}/list

Pontuação Analytics de todos os ativos com pontuação em um mercado: veredito, pontuação geral, preço, variação, minigráfico de preço.

GET/api/v1/public/analytics/{market}/{symbol}

Relatório completo de um ativo: cada fator (técnico + fundamentalista) com pesos e explicações, pontuação técnica/fundamentalista/geral e um resumo em texto.

{
  "market": "crypto", "symbol": "BTC",
  "overall_score": 16, "verdict": "neutral",
  "factors": [
    { "name": "rsi", "value": "54.1", "sentiment": "neutral", "explanation": "RSI 54 — dentro da faixa normal" }
    // ...
  ]
}

GET/api/v1/public/analytics/top-setups

As melhores oportunidades pela magnitude do desequilíbrio de fatores agora, em vez de um único ativo detalhado — ordenadas por |overall_score| para um mercado ou em todos os mercados do seu plano.

ParâmetroTipoDescrição
marketquery, opcionalcrypto/forex/stocks — se omitido, todos os mercados do seu plano
verdictquery, opcionalgrowth/decline — se omitido, ambos
limitquery, opcionalpadrão 10, máx. 100

GET/api/v1/public/analytics/{market}/stats

Desempenho histórico dos veredictos neste mercado: taxa de acerto e retorno médio por horizonte (1/5/21/30 dias), com intervalo de confiança de Wilson de 95%. win_rate: null significa que ainda não há dados suficientes para exibir um número — não que seja 0.

[
  { "verdict": "growth", "horizon_days": 21, "sample_size": 142,
    "is_significant": true, "win_rate": 0.61,
    "win_rate_ci_low": 0.54, "win_rate_ci_high": 0.68,
    "avg_return_pct": 3.2, "source": "backfill" }
]

GET/api/v1/public/analytics/{market}/{symbol}/history

Instantâneos históricos de pontuação/veredito de um ativo — para rodar seu próprio backtest do seu lado.

ParâmetroTipoDescrição
limitquery, opcionalpadrão 90, máx. 1000 (mais recente primeiro)

Webhooks — push em vez de polling

Em vez de consultar /analytics/{market}/{symbol} periodicamente, você pode se inscrever para receber uma notificação sempre que o veredito mudar (growth ↔ decline ↔ neutral).

POST /api/v1/public/webhooks
{ "callback_url": "https://your-server/hook", "market": "crypto" }
// a resposta contém "secret" — exibido uma única vez, salve-o

GET /api/v1/public/webhooks       // lista suas inscrições
DELETE /api/v1/public/webhooks/{id} // cancela uma inscrição

Cada entrega é um POST para seu callback_url com um cabeçalho X-Webhook-Signature (HMAC-SHA256 do corpo da requisição usando seu secret — verifique-o para nos distinguir de uma falsificação). callback_url deve ser https://. Após 10 falhas consecutivas de entrega, a inscrição é desativada automaticamente.

{
  "event": "verdict_changed", "market": "crypto", "symbol": "BTC",
  "old_verdict": "neutral", "new_verdict": "growth",
  "overall_score": 24, "timestamp": "2026-07-26T04:00:00+00:00"
}

Códigos de erro

CódigoMotivo
400market_type inválido (apenas crypto/forex/stocks permitidos)
401Chave ausente, inválida ou revogada
403Cliente suspenso/contrato expirado, ou o mercado não está incluído no seu plano
404Ainda não há analytics calculado para este símbolo
429Limite de taxa ou cota mensal excedidos
502Erro temporário de um provedor de dados (exchange/feed de cotações) — tente novamente mais tarde
503Serviço de dados ainda não inicializado (logo após um restart do servidor)

Mercados e exchanges

A API cobre crypto, forex e ações (ainda sem bonds — não incluídos no pacote). O conjunto exato de exchanges disponíveis para uma combinação exchange/instrument específica depende da região de deploy do servidor; se não tiver certeza de quais exchanges estão disponíveis, pergunte-nos ao emitirmos sua chave, ou comece com crypto/bybit/spot, disponível em todas as regiões.

Como obter acesso

O acesso é emitido manualmente após o acordo de um plano — escreva-nos descrevendo seu caso de uso e o volume esperado de requisições, e ajudaremos você a escolher um plano e enviaremos uma chave. Deliberadamente não há cadastro self-service nem emissão instantânea de chaves no site — isso protege tanto você (onboarding personalizado) quanto nós (controle sobre o uso dos dados).