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.
/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").
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
| Plano | Preço | Mercados | Limite de taxa | Cota/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:
| Tipo | O que conta | O 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 |
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âmetro | Tipo | Descrição |
|---|---|---|
| market_type | path | crypto / forex / stocks |
| exchange | path | bybit, binance, okx, moex, nasdaq, etc. — depende do mercado e da região de deploy |
| instrument | path | spot, perpetual, futures, stock, major, etc. |
| volume_min / volume_max | query, opcional | Filtro de volume |
| change_min / change_max | query, opcional | Filtro 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âmetro | Tipo | Descrição |
|---|---|---|
| symbol | path | Ex.: BTC_USDT ou BTC/USDT |
| timeframe | path | 1m, 5m, 15m, 1h, 4h, 1d, etc. |
| limit | query, opcional | Nú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âmetro | Tipo | Descrição |
|---|---|---|
| market | query, opcional | crypto/forex/stocks — se omitido, todos os mercados do seu plano |
| verdict | query, opcional | growth/decline — se omitido, ambos |
| limit | query, opcional | padrã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âmetro | Tipo | Descrição |
|---|---|---|
| limit | query, opcional | padrã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ódigo | Motivo |
|---|---|
| 400 | market_type inválido (apenas crypto/forex/stocks permitidos) |
| 401 | Chave ausente, inválida ou revogada |
| 403 | Cliente suspenso/contrato expirado, ou o mercado não está incluído no seu plano |
| 404 | Ainda não há analytics calculado para este símbolo |
| 429 | Limite de taxa ou cota mensal excedidos |
| 502 | Erro temporário de um provedor de dados (exchange/feed de cotações) — tente novamente mais tarde |
| 503 | Serviç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).