Complete reference for Financial Data, Valuation Models, and Macroeconomics.
Referência completa para Dados Financeiros, Modelos de Valuation e Macroeconomia.
Base URL: https://strategiainvest.com.br
The API uses JWT (JSON Web Tokens). You must first exchange your credentials for a token valid for 24 hours.
A API utiliza JWT (JSON Web Tokens). Você deve primeiro trocar suas credenciais por um token válido por 24 horas.
| Authorization Required | Basic Auth (Base64 encoded username:password) |
|---|
Authorization: Bearer <your_token>
ApiKey, issued via CLI (flask apikey create) by the account owner — no self-service HTTP endpoint. Inherits the owner's premium tier. Use it instead of re-authenticating every 24h:
Credencial de serviço (recomendado para agentes/MCP): ApiKey de longa duração, emitida via CLI (flask apikey create) pelo dono da conta — sem endpoint HTTP self-service. Herda o tier premium do dono. Use em vez de reautenticar a cada 24h:
Authorization: ApiKey <your_key>
POST /v1/token, 5/minute per credential on POST /v1/backtest (heavier compute). Exceeding returns 429 in the same application/problem+json shape as other errors.
Rate limits: 120/minuto por credencial para a API inteira, 10/minuto por IP em POST /v1/token, 5/minuto por credencial em POST /v1/backtest (compute mais caro). Ao exceder, devolve 429 no mesmo formato application/problem+json dos demais erros.
Use these endpoints to list all available assets and find out which indicators are available for them.
Use estes endpoints para listar todos os ativos disponíveis e descobrir quais indicadores existem para eles.
Access historical data for global economic indicators.
Acesse dados históricos de indicadores econômicos globais.
| start_date Optional | YYYY-MM-DD |
|---|---|
| end_date Optional | YYYY-MM-DD |
cdi_interest_rate: Daily CDI rate.Taxa CDI diária.ipca_inflation: Monthly official inflation.Inflação oficial (IPCA) mensal.ibovespa_index: IBOVESPA daily closing points.Fechamento diário do IBOVESPA.equity_risk_premium: Implied ERP for Brazil (Damodaran).ERP Implícito Brasil (Metodologia Damodaran).risk_free_rate: Calculated Risk-Free Rate.Taxa Livre de Risco (Tesouro IPCA+ Spread + IPCA Acumulado).GET /api/v1/macro/indicators/ipca_inflation?start_date=2023-01-01
Endpoints optimized for RAG (Retrieval-Augmented Generation) ingestion. Returns pre-formatted Markdown dossiers containing all available data.
Endpoints otimizados para ingestão em RAG (Geração Aumentada por Recuperação). Retorna dossiês pré-formatados em Markdown contendo todos os dados disponíveis.
Generates a complete macroeconomic context report including definitions and recent history for all indicators (Selic, IPCA, GDP, etc). Gera um relatório de contexto macroeconômico completo incluindo definições e histórico recente para todos os indicadores (Selic, IPCA, PIB, etc).
GET /api/v1/reports/macro
Generates an analysis dossier for a specific stock. By default returns a compact dossier (Profile + Valuation Models); pass sections=all for the full dossier, including Fundamental Indicators, Market Data, and recent CVM Documents/Insider Trading.
Gera um dossiê de análise para uma ação específica. Por padrão devolve um dossiê compacto (Perfil + Modelos de Valuation); passe sections=all para o dossiê completo, incluindo Indicadores Fundamentalistas, Dados de Mercado e Documentos CVM/Insiders recentes.
| ticker Required | Stock symbol (e.g., WEGE3). Código da ação (ex: WEGE3). |
|---|---|
| sections Optional |
Comma-separated: profile, valuation, fundamentals, market, documents, adjustments; or all. Default: profile,valuation.
Separado por vírgula: profile, valuation, fundamentals, market, documents, adjustments; ou all. Default: profile,valuation.
|
| start_date Optional | YYYY-MM-DD |
| end_date Optional | YYYY-MM-DD |
GET /api/v1/reports/dossier/WEGE3?sections=all
Retrieves static data, governance info, sector, and share structure.
Retorna dados cadastrais, governança, setor e estrutura acionária.
84.429.695%2F0001-11) or digits only (84429695000111).
Formato CNPJ: Você pode enviar o CNPJ codificado (84.429.695%2F0001-11) ou apenas dígitos (84429695000111).
GET /api/v1/companies/84429695000111/info
| start_date Optional | YYYY-MM-DD |
|---|---|
| end_date Optional | YYYY-MM-DD |
GET /api/v1/companies/84429695000111/indicators/net_revenue_annual?start_date=2010-01-01
net_revenue_annual, net_revenue_quarterly (Receita Líquida)gross_revenue_annual, gross_revenue_quarterly (Receita Bruta)gross_profit_annual, gross_profit_quarterly (Lucro Bruto)operating_income_annual, operating_income_quarterly (EBIT/Lucro Operacional)ebitda_annual, ebitda_quarterly (EBITDA)net_income_annual, net_income_quarterly (Lucro Líquido)financial_result_annual, financial_result_quarterly (Resultado Financeiro)taxes_annual, taxes_quarterly (Impostos)depreciation_annual, depreciation_quarterly (Depreciação)total_equity (Patrimônio Líquido)current_assets, non_current_assets (Ativo Circulante / Não Circulante)current_liabilities, non_current_liabilities (Passivo Circulante / Não Circulante)gross_debt, net_debt (Dívida Bruta / Líquida)short_term_debt, long_term_debt (Dívida CP / LP)cash_and_equivalents (Caixa e Equivalentes)inventory (Estoques)fcff_annual: Free Cash Flow to Firm (Fluxo de Caixa Livre da Firma).net_capex_annual, net_capex_quarterlyworking_capital_change_annual (Variação de Capital de Giro)roic, roe (Rentabilidade)gross_margin, net_margin, ebitda_margin, operating_margin (Margens)payout_ratio (Payout)current_liquidity, dry_liquidity, general_liquidity (Liquidez)net_debt_to_ebitda (Dívida Líquida/EBITDA), net_debt_to_ebitloss_ratio_history_20y: % of years with negative net income.Proporção de anos com prejuízo.cagr_net_income_history: 1y, 3y, 5y, 10y and Weighted Avg CAGR.CAGR de Lucros (1, 3, 5, 10 anos e Média Ponderada).cost_of_debt_history: Estimated Kd.Custo da Dívida estimado (Kd).financial_leverage_degree_history: GAF (Grau de Alavancagem Financeira).value_generation_history: Market Cap growth vs Retained Earnings.Geração de Valor (Crescimento de VM vs Lucros Retidos).return_on_new_invested_capital_history: RONIC (Retorno sobre Novos Investimentos).ten_year_averages_history: 10y average for ROE, ROIC, Margins.Médias de 10 anos (ROE, ROIC, Margens).share_capital_history: Capital Stock (See special format below).Histórico de Capital Social (Veja formato abaixo).Indicator: share_capital_history
Returns market data, multiples, and the Rights/Governance structure.
Retorna dados de mercado, múltiplos e estrutura de Direitos/Governança.
GET /api/v1/stocks/WEGE3/info
| start_date Optional | YYYY-MM-DD |
|---|---|
| end_date Optional | YYYY-MM-DD |
price: Raw closing price (unadjusted).Preço de fechamento bruto (sem ajustes).volume: Financial volume.Volume financeiro.volume_moving_avg_30d: 30-day Volume Moving Average.Média Móvel de Volume (30d).pe_ratio: P/E History (Price-to-Earnings).Histórico P/L (Preço/Lucro).pb_ratio: P/B History (Price-to-Book).Histórico P/VP (Preço/Valor Patrimonial).dividend_yield: DY History.Histórico de Dividend Yield.payouts: Dividends & JCP (Special format).Dividendos e JCP (Formato especial).GET /api/v1/stocks/WEGE3/indicators/payouts?start_date=2024-01-01
Run dynamic valuation models. You can use default parameters or override them to create custom scenarios.
Execute modelos de valuation dinâmicos. Você pode usar os parâmetros padrão ou sobrescrevê-los para criar cenários personalizados.
Available endpoints:
Endpoints disponíveis:
intrinsic_value_dcf_history (Fair Value / Valor Justo)target_price_dcf_history (Target Price / Preço Alvo)margin_of_safety_dcf_history (Margin / Margem de Segurança)| Parameter | Type | Description |
|---|---|---|
start_date |
YYYY-MM-DD | Filter history start date (Optional). Filtrar data de início do histórico (Opcional). |
end_date |
YYYY-MM-DD | Filter history end date (Optional). Filtrar data final do histórico (Opcional). |
projection_years |
int | Years for explicit cash flow projection (Default: 3). Anos de projeção explícita de caixa (Padrão: 3). |
growth_years |
int | Lookback period for historical growth (Default: 5). Período retroativo para crescimento histórico (Padrão: 5). |
terminal_growth |
float |
Perpetuity growth rate (g). Example: 0.05 (5%).
Crescimento na perpetuidade (g). Exemplo: 0.05 (5%).
|
projection_growth_rate |
float / dict |
Override: Force a specific growth rate (g_proj). Accepts a literal (e.g., 0.10) or a JSON object.
Forçar: Impõe um crescimento específico (g_proj).Aceita valor literal (ex: 0.10) ou objeto JSON.
|
discount_rate |
float / dict |
Override: Force a specific WACC/Ke rate. Accepts a literal (e.g., 0.12) or a JSON object.
Forçar: Impõe uma taxa de desconto (WACC/Ke).Aceita valor literal (ex: 0.12) ou objeto JSON.
|
Force 10% growth and 12% discount rate:
Forçar 10% de crescimento e 12% de desconto:
GET /api/v1/stocks/WEGE3/indicators/target_price_dcf_history?projection_years=10&discount_rate=0.12&projection_growth_rate=0.10
Pass a JSON object to vary rates over time (URL Encoded):
Passe um objeto JSON para variar taxas no tempo (URL Encoded):
GET ...&discount_rate={"2023-01-01":0.10, "2024-01-01":0.12}
Approximation of the DCF model based on the 5-year average of Net Income, discounted by the Risk-Free Rate (Treasury IPCA+).
Aproximação do modelo DCF baseada na média de Lucro Líquido dos últimos 5 anos, descontada pela Taxa Livre de Risco (Tesouro IPCA+).
| start_date Optional | YYYY-MM-DD | Filter history start date. Filtrar data de início do histórico. |
|---|---|---|
| end_date Optional | YYYY-MM-DD | Filter history end date. Filtrar data final do histórico. |
intrinsic_value_simple_history: Calculated Fair Value (Company).Valor Justo Calculado (Empresa).target_price_simple_history: Target Price (Stock).Preço Alvo (Ação).margin_of_safety_simple_history: Margin (Stock).Margem de Segurança (Ação).Multi-criteria filter over the whole B3 universe, with point-in-time support (as_of).
Filtro multi-critério sobre todo o universo da B3, com suporte a point-in-time (as_of).
Catalog of ~60 filterable attributes (name, category, unit, observed min/max, whether the attribute is point-in-time reliable). Cacheable for 1 day.
Catálogo dos ~60 atributos filtráveis (nome, categoria, unidade, min/max observados, se o atributo é fidedigno point-in-time). Cacheável por 1 dia.
Pre-built filter sets (Graham, Buffett, Lynch, Damodaran).
Conjuntos de filtro pré-montados (Graham, Buffett, Lynch, Damodaran).
Runs the filter and returns paginated matching stock codes with the requested attribute values.
Executa o filtro e devolve os códigos de ação encontrados, paginados, com os valores dos atributos pedidos.
Compose a portfolio over a given universe of stock codes — stateless, no Portfolio is created/edited via API. The read-only routes below are the one exception: they read (never write) portfolios already saved on the site.
Compõe uma carteira sobre um universo de códigos de ação dado — stateless, nenhum Portfolio é criado/editado via API. As rotas de leitura abaixo são a única exceção: leem (nunca escrevem) carteiras já salvas no site.
Body: {universe: [codes], method, num_stocks, as_of?}. method: margin_of_safety_simple / margin_of_safety_dcf / cluster_margin_of_safety_simple / cluster_margin_of_safety_dcf.
Corpo: {universe: [codes], method, num_stocks, as_of?}. method: margin_of_safety_simple / margin_of_safety_dcf / cluster_margin_of_safety_simple / cluster_margin_of_safety_dcf.
Body: {stocks: [codes], method, as_of?} → {allocations: [{code, weight}]}. method: equal / sharpe_max_dcf / sharpe_max_simple.
Corpo: {stocks: [codes], method, as_of?} → {allocations: [{code, weight}]}. method: equal / sharpe_max_dcf / sharpe_max_simple.
Body: {stocks: [codes], as_of?} → {value} (variance share explained by the 1st principal component — systemic risk proxy).
Corpo: {stocks: [codes], as_of?} → {value} (proporção da variância explicada pelo 1º componente principal — proxy de risco sistêmico).
Read the portfolios/strategies the current user already saved on the site — no write. Requires an ApiKey issued with the read:portfolios scope (a Bearer session has full access, unrestricted by scope).
Lê as carteiras/estratégias que o usuário já salvou no site — sem nenhuma escrita. Exige uma ApiKey emitida com o escopo read:portfolios (uma sessão Bearer tem acesso total, sem restrição de escopo).
Summary list of the user's own portfolios (no filters/stocks — see the detail route).
Lista resumida das carteiras do próprio usuário (sem filtros/ações — veja a rota de detalhe).
Full detail — filters and manually added stocks included, translated to English. A portfolio ID belonging to another user (or that doesn't exist) returns 404.
Detalhe completo — filtros e ações adicionadas manualmente incluídos, traduzidos para inglês. Um ID de portfolio de outro usuário (ou inexistente) devolve 404.
Fully parametrized point-in-time backtest — filters, selection/allocation method, date interval, step, optional rebalancing, output series, and a rolling-window (walk-forward) mode. Runs as an async job, since a single backtest can take minutes.
Backtest point-in-time totalmente parametrizado — filtros, método de seleção/alocação, intervalo de datas, cadência de passo, rebalanceamento opcional, séries de saída, e um modo de janela móvel (walk-forward). Roda como job assíncrono, já que um único backtest pode levar minutos.
Returns 202 {"job_id": "..."} immediately — the simulation runs in the background.
Devolve 202 {"job_id": "..."} imediatamente — a simulação roda em background.
output_step_days is optional and distinct from step_days: step_days controls how often the portfolio is rebalanced, output_step_days controls how many points come back in chart_data (default: 1 per calendar day). Neither affects sharpe_ratio/total_return, always computed on the full daily series.
output_step_days é opcional e distinto de step_days: step_days controla a cadência de rebalanceamento, output_step_days controla quantos pontos voltam em chart_data (padrão: 1 por dia corrido). Nenhum dos dois afeta sharpe_ratio/total_return, sempre calculados sobre a série diária completa.
mode: "walk_forward" requires walk_forward_window_days and returns, once SUCCESS, {windows, win_rate, average_alpha, window_returns} instead of chart_data — win_rate is the share of windows with positive return, average_alpha is the simple mean return across windows (not a CAPM-style excess return).
mode: "walk_forward" exige walk_forward_window_days e devolve, quando SUCCESS, {windows, win_rate, average_alpha, window_returns} em vez de chart_data — win_rate é a proporção de janelas com retorno positivo, average_alpha é a média aritmética simples do retorno das janelas (não é excesso sobre benchmark no sentido CAPM).
Poll until state is terminal. percent is computed server-side.
Faça polling até state ficar terminal. percent já vem calculado no servidor.
Read-only access to the CVM regulatory document archive (Material Facts, Meetings, art. 11 insider filings...) — "list → open → excerpt", each step narrower than the last. Every response carrying text embeds a citation envelope (source_url is the original CVM download link) — provenance is always verifiable outside our database.
Acesso de leitura ao acervo de documentos regulatórios da CVM (Fatos Relevantes, Assembleias, formulários de insiders art. 11...) — "listar → abrir → recortar", cada passo mais estreito que o anterior. Toda resposta com texto embute um envelope de citação (source_url é o link de download original da CVM) — a procedência é sempre conferível fora do nosso banco.
Paginated metadata of documents the company delivered to the CVM — never the full text. Metadado paginado dos documentos que a companhia entregou à CVM — nunca o texto integral.
| cnpj Required | Company CNPJ. CNPJ da companhia. |
|---|---|
| category Optional |
One of: material_fact, market_announcement, shareholders_meeting, board_meeting, insider_trading, related_party_transaction.
Uma de: material_fact, market_announcement, shareholders_meeting, board_meeting, insider_trading, related_party_transaction.
|
| start_date / end_date Optional | YYYY-MM-DD |
| include_superseded Optional |
Default false — only the current version per protocol; a restatement never appears twice.
Default false — só a versão vigente por protocolo; uma retificação nunca aparece duas vezes.
|
| page / page_size Optional | — |
GET /api/v1/companies/84.429.695/0001-11/documents?category=material_fact
Returns a single document's citation envelope and text, capped at DOCUMENTO_API_MAX_CHARS (default 2,000,000 chars). truncated/total_chars are always present, not only when truncated.
Devolve o envelope de citação e o texto de um documento, sob o teto de DOCUMENTO_API_MAX_CHARS (default 2.000.000 chars). truncated/total_chars sempre presentes, não só quando truncado.
| document_id Required |
document_id from the listing above.
document_id da listagem acima.
|
|---|
GET /api/v1/documents/918234
Returns a character-offset excerpt of a document's text, sliced in the database (never loads the full column into Python — the longest document measured has 1,627,451 chars). Devolve um trecho do texto do documento por offset de caracteres, fatiado no banco (nunca carrega a coluna inteira em Python — o documento mais longo medido tem 1.627.451 chars).
| start / end Required |
Character offsets. Negative or end <= start → 422; offsets beyond total_chars are clamped, not an error.
Offsets de caractere. Negativo ou end <= start → 422; offset além de total_chars é clampado, não é erro.
|
|---|---|
| context Optional |
Extra characters of context around the excerpt. Default: DOCUMENTO_API_EXCERPT_CONTEXT.
Caracteres extras de contexto ao redor do trecho. Default: DOCUMENTO_API_EXCERPT_CONTEXT.
|
GET /api/v1/documents/918234/excerpt?start=120&end=340&context=50
Insider trading activity (art. 11), aggregated by group × month by default — derived from balance lines, never the free-text operation column. detail=raw returns paginated raw rows.
Negociação de insiders (art. 11), agregada por grupo × mês por padrão — derivada das linhas de saldo, nunca da coluna de operação (texto livre). detail=raw devolve as linhas cruas paginadas.
| cnpj Required | Company CNPJ. CNPJ da companhia. |
|---|---|
| detail Optional |
aggregated (default) or raw.
aggregated (default) ou raw.
|
| start_date / end_date Optional | YYYY-MM-DD |
GET /api/v1/companies/84.429.695/0001-11/insider-trades