// API Reference

Interactive API Explorer

Complete reference for the Polaris Knowledge API. Base URL: https://api.thepolarisreport.com|Full Docs|Get API Key

/

// Authentication

The Polaris API supports two authentication methods. Most endpoints work without auth (using the demo key) but with lower rate limits.

API Key (Recommended)

Pass your API key via the Authorization header or query parameter. Get keys from the developer portal.

Header (preferred)

Authorization: Bearer pr_live_xxx

Query parameter

?api_key=pr_live_xxx

JWT Bearer Token

For browser-based apps. Obtain a token via POST /auth/login and pass it in the Authorization header. Tokens expire after 7 days.

Authorization: Bearer eyJhbGciOi...

Try instantly -- no signup

Use api_key=demo on any read endpoint. Limited to 1,000/month and 10/min.

// Rate Limits

Per-minute rate limits apply to all requests. Monthly limits depend on your plan. Every response includes rate limit headers.

Per-Minute Limits

Free / Demo10 req/min
Builder120 req/min
Startup300 req/min
Growth600 req/min
Scale1,200 req/min

Monthly Limits

Free1,000 credits
Builder ($24)3,000 credits
Startup ($79)10,000 credits
Growth ($179)40,000 credits
Scale ($399)100,000 credits

Response Headers

RateLimit-LimitMaximum requests allowed in the current window
RateLimit-RemainingRequests remaining in the current window
RateLimit-ResetSeconds until the rate limit window resets

// Pricing & Credits

Every API call costs credits. Each endpoint has a credit cost shown in its documentation. Plan credits are included at a discount; overage credits and pay-as-you-go are billed at a premium rate.

Credit Costs by Endpoint Type

EndpointCredits
Feed, Search, Brief, Ticker, Price, Entities, Forex, Commodities1
Alerts (create, list, delete, triggered)1
Technicals, Financials, Economy, Sentiment History, Signals, DeFi, Earnings, Competitors2
Verify, Correlation, News Impact, Watchlist Technicals3
Context, Research5
Screener, Composite Score5
Backtest10
Intelligence (cross-category)8
Forecast (standard)15
Portfolio Feed17
Forecast (deep)95

Plan Pricing

Plan credits: ~$0.004-0.005/credit effective rate. Included credits reset monthly.

Overage / Pay-as-you-go

$0.008/credit for plan overage. $0.01/credit for no-plan pay-as-you-go. Configure a spending cap via the billing endpoint.

// Universal Agent

New

The fastest way to add intelligence to your app. Install the SDK and ask questions in plain English.

Python

pip install polaris-news

from polaris_news import Agent
agent = Agent()
result = agent.ask("What's happening with NVDA?")
print(result.summary)

TypeScript

npm install polaris-news-api

import { Agent } from 'polaris-news-api';
const agent = new Agent();
const result = await agent.ask("What's happening with NVDA?");
console.log(result.summary);

6 methods: ask() full() subscribe() runAgent() search() verify()

// Quick Start

Get up and running in under a minute. Use the demo key to explore, or sign up and create an API key for full access.

# Search for AI news
curl "https://api.thepolarisreport.com/api/v1/search?q=AI+regulation&api_key=demo"

# Get the latest feed
curl "https://api.thepolarisreport.com/api/v1/feed?per_page=5&api_key=demo"

# Get a stock ticker with live price
curl "https://api.thepolarisreport.com/api/v1/ticker/NVDA?api_key=demo"

# Get market summary
curl "https://api.thepolarisreport.com/api/v1/market/summary?api_key=demo"

# With your API key (once you sign up)
curl -H "Authorization: Bearer pr_live_YOUR_KEY" \
  "https://api.thepolarisreport.com/api/v1/search?q=quantum+computing"

// Ask

Featured Endpoint
POST/api/v1/askHero
HeroAuth Required1-5 credits

Universal Ask

Ask any question in plain English. Returns a structured answer with summary, reasoning chain, detected tickers, matched intents, trade signal (0-100), supporting data, and credit usage. Routes to 300+ internal endpoints automatically. Handles typos, company names, comparisons, screener queries, and non-financial questions. Battle-tested with 500 adversarial questions.

Request Body (JSON)

questionstringrequired

Your question in plain English (max 500 chars)

curl -X POST "https://api.thepolarisreport.com/api/v1/ask" \
  -H "Authorization: Bearer YOUR_API_KEY"\
  -H "Content-Type: application/json" \
  -d '{}'

Example Response

{
  "status": "ok",
  "question": "Is MSFT a buy?",
  "tickers": ["MSFT"],
  "intents": ["full"],
  "confidence": "high",
  "trade_signal": {
    "action": "lean_buy",
    "score": 56,
    "factors": [
      "RSI deeply oversold (23) — bounce potential",
      "Sentiment bearish",
      "Technical signal: buy",
      "Price well below SMA 20"
    ]
  },
  "reasoning": [
    "Identified ticker: MSFT",
    "Looking for: complete analysis",
    "Queried 1 data source (1 credit)",
    "Found: live price data, technical signals, 235 news articles"
  ],
  "summary": "## MSFT\n**Microsoft** — $365.97 (-5.93%) | CLOSED\n\n> **Bottom line**: Technically bullish — RSI deeply oversold at 23...",
  "follow_ups": ["MSFT earnings", "MSFT insider trades", "MSFT price target"],
  "data": { "ticker": {}, "technicals": {}, "earnings": {}, "sentiment": {}, "news": {} },
  "credits_used": 1,
  "endpoints_called": ["/api/v1/ticker/MSFT/full"],
  "response_time_ms": 2336
}

Try It

Click Send Request to see response

Featured Endpoint
GET/api/v1/ask
Auth Required1-5 credits

Universal Ask (GET)

GET variant. Same intelligence, pass question as query parameter. Supports the same natural language queries — tickers, comparisons, screener, market, crypto, and general questions.

Query Parameters

qstringrequired

Your question in plain English

curl "https://api.thepolarisreport.com/api/v1/ask?q=AI%20regulation" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "question": "low RSI semiconductors",
  "tickers": [],
  "intents": ["technicals", "screener"],
  "confidence": "medium",
  "reasoning": [
    "Looking for: technical analysis, stock screener",
    "Queried 1 data source (1 credit)"
  ],
  "summary": "## low RSI semiconductors\n**Screening for:** Semiconductors + RSI below 40\n### 8 Matches\n| Ticker | Name | Price | RSI | Signal |\n...",
  "data": { "screener": { "interpreted_as": { "sector": "Semiconductors", "filters": { "rsi_below": 40 } }, "results": [] } },
  "credits_used": 1,
  "endpoints_called": ["/api/v1/screener/natural"]
}

Try It

Click Send Request to see response

// Intelligence

GET/api/v1/feed
Auth Optional1 credit

List Feed

Get paginated published briefs. Returns the main news feed with full brief data, sources, provenance, and bias analysis. Briefs are living documents that get richer as more sources cover the same story.

Query Parameters

pagenumber

Page number (default: 1)

per_pagenumber

Results per page (default: 20, max: 50)

categorystring

Filter by category slug (e.g. ai_ml, markets, crypto)

sortstring

Sort order: published (default) or updated

updates_onlyboolean

Only briefs updated with new sources since creation

curl "https://api.thepolarisreport.com/api/v1/feed?page=1&per_page=5&category=ai_ml" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "briefs": [
    {
      "id": "a1b2c3d4-...",
      "headline": "EU Passes Comprehensive AI Act",
      "summary": "The European Union has finalized...",
      "body": "Full article body...",
      "category": "policy",
      "published_at": "2026-03-09T12:00:00Z",
      "confidence_score": 0.92,
      "bias_score": 0.08,
      "sources": [
        { "name": "Reuters", "url": "https://...", "trust_level": "high" }
      ],
      "update_count": 3,
      "updated_at": "2026-03-17T18:30:00Z"
    }
  ],
  "meta": { "total": 150, "page": 1, "per_page": 20 }
}

Try It

Click Send Request to see response

GET/api/v1/agent-feed
Auth Optional1 credit

Agent Feed

Optimized feed for AI agents. Returns structured briefs with confidence scores, bias analysis, and source provenance. Best endpoint for agent consumption.

Query Parameters

limitnumber

Max results (default: 20, max: 50)

categorystring

Filter by category

min_confidencenumber

Minimum confidence score (0-1)

tagsstring

Comma-separated tags filter

curl "https://api.thepolarisreport.com/api/v1/agent-feed?limit=5&category=ai_ml" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "briefs": [
    {
      "id": "a1b2c3d4-...",
      "headline": "...",
      "summary": "...",
      "category": "ai_ml",
      "confidence_score": 0.95,
      "bias_score": 0.05,
      "source_count": 4,
      "published_at": "2026-03-09T12:00:00Z"
    }
  ],
  "meta": { "count": 20 }
}

Try It

Click Send Request to see response

GET/api/v1/brief/:id
Auth Optional1 credit

Get Brief

Get a single brief by ID with full details including body, sources, bias analysis, counter-arguments, and living brief metadata.

Path Parameters

idstringrequired

Brief ID (e.g. PR-2026-0305-001)

Query Parameters

include_full_textboolean

Include full extracted article text from raw sources

curl "https://api.thepolarisreport.com/api/v1/brief/:id" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "brief": {
    "id": "a1b2c3d4-...",
    "headline": "EU Passes Comprehensive AI Act",
    "summary": "...",
    "body": "Full article body...",
    "category": "tech",
    "confidence_score": 0.92,
    "bias_analysis": {
      "bias_score": 0.08,
      "direction": "neutral",
      "framing_notes": "..."
    },
    "counter_argument": "...",
    "sources": [...],
    "update_count": 3,
    "is_living": true,
    "story_age_hours": 42.5,
    "last_updated_label": "Updated 2h ago"
  }
}

Try It

Click Send Request to see response

POST/api/v1/verify
Auth Required3 credits

Verify Claim

Fact-check a claim against the Polaris brief corpus. Returns a verdict (supported, contradicted, partially_supported, or unverifiable) with confidence score, supporting/contradicting briefs, and nuances.

Request Body (JSON)

claimstringrequired

The claim to verify (10-1000 characters)

contextstring

Category to narrow the search (e.g. tech, policy, markets)

curl -X POST "https://api.thepolarisreport.com/api/v1/verify" \
  -H "Authorization: Bearer YOUR_API_KEY"\
  -H "Content-Type: application/json" \
  -d '{
  "claim": "AI companies are investing billions in new data centers"
}'

Example Response

{
  "status": "ok",
  "claim": "AI companies are investing billions in new data centers",
  "verdict": "supported",
  "confidence": 0.85,
  "summary": "Multiple briefs confirm substantial AI infrastructure investments...",
  "supporting_briefs": [
    { "id": "PR-xxx", "headline": "...", "confidence": 0.94, "relevance": 0.92 }
  ],
  "contradicting_briefs": [],
  "nuances": "Evidence focuses on specific companies rather than industry-wide totals.",
  "sources_analyzed": 12,
  "credits_used": 3,
  "processing_time_ms": 3200
}

Try It

Click Send Request to see response

POST/api/v1/research
Auth Required5 credits

Deep Research

Expands a query into sub-queries, searches existing briefs in parallel, aggregates entities with co-occurrence tracking, and synthesizes a comprehensive research report via LLM. Requires Growth plan or above.

Request Body (JSON)

querystringrequired

Research query (max 500 chars)

max_sourcesnumber

Maximum briefs to analyze (1-50, default: 20)

depthstring

Research depth: standard or deep (default: standard)

categorystring

Filter briefs by category slug

curl -X POST "https://api.thepolarisreport.com/api/v1/research" \
  -H "Authorization: Bearer YOUR_API_KEY"\
  -H "Content-Type: application/json" \
  -d '{
  "query": "Impact of EU AI Act on US tech companies",
  "max_sources": 20,
  "depth": "standard",
  "category": "ai_ml"
}'

Example Response

{
  "status": "ok",
  "query": "Impact of EU AI Act on US tech companies",
  "report": {
    "summary": "The EU AI Act represents...",
    "key_findings": ["Finding 1", "Finding 2"],
    "analysis": "Detailed analysis...",
    "confidence_assessment": "High confidence based on 15 sources",
    "information_gaps": ["Limited data on SME impact"]
  },
  "sources_used": [
    { "brief_id": "abc-123", "headline": "...", "confidence": 0.92 }
  ],
  "entity_map": [
    { "name": "European Union", "type": "organization", "mentions": 12 }
  ],
  "metadata": {
    "briefs_analyzed": 15,
    "processing_time_ms": 4200
  }
}

Try It

Click Send Request to see response

POST/api/v1/forecast
Auth Optional15-95 credits

Forecast

Generate structured predictions on any topic. Returns an executive summary, ranked predictions with confidence scores, key signals to watch, and wildcards. MPP-gated.

Request Body (JSON)

topicstringrequired

Topic to forecast (e.g. 'AI chip supply chain')

depthstring

Depth: standard ($0.15) or deep ($0.95)

periodstring

Historical lookback period (e.g. 30d, 90d)

timeframestring

Forecast horizon (e.g. '6 months', '1 year')

curl -X POST "https://api.thepolarisreport.com/api/v1/forecast" \
  -H "Authorization: Bearer YOUR_API_KEY"\
  -H "Content-Type: application/json" \
  -d '{
  "topic": "AI chip supply chain",
  "depth": "standard",
  "period": "30d",
  "timeframe": "6 months"
}'

Example Response

{
  "forecast": {
    "executive_summary": "AI chip demand will likely outpace supply through Q3...",
    "predictions": [
      {
        "prediction": "NVIDIA maintains 80%+ data center GPU share",
        "confidence": 0.85,
        "timeframe": "6 months"
      }
    ],
    "key_signals_to_watch": [
      "TSMC capacity announcements",
      "AMD MI400 benchmarks"
    ],
    "wildcards": ["Chinese export controls escalation"],
    "trend_direction": "accelerating",
    "depth": "standard"
  }
}

Try It

Click Send Request to see response

GET/api/v1/context
Auth Optional5 credits

Topic Context

Structured background intelligence on any topic. Returns an LLM-synthesized executive summary, supporting/opposing perspectives, timeline, entity network, key facts, and confidence scoring. The ultimate endpoint for giving an AI agent full context on any world event.

Query Parameters

topicstringrequired

The topic to get context on (min 2 chars)

periodstring

Time window: 7d, 30d, or 90d (default: 30d)

curl "https://api.thepolarisreport.com/api/v1/context?topic=AI%20chip%20supply%20chain&period=30d" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "topic": "Iran war",
  "summary": "A significant military conflict...",
  "perspectives": {
    "supporting": "Military escalation is accelerating...",
    "opposing": "Diplomatic channels remain open...",
    "neutral": "Analysts note the conflict's impact on global energy..."
  },
  "timeline": [
    { "date": "2026-03-18T19:00:00Z", "headline": "Fed holds rates...", "confidence": 0.85 }
  ],
  "key_entities": [
    { "name": "Iran", "type": "location", "mentions": 89, "sentiment_label": "negative" }
  ],
  "relationships": [
    { "from": "Iran", "to": "United States", "strength": 45 }
  ],
  "key_facts": [
    { "value": "$88", "context": "oil price per barrel", "type": "price" }
  ],
  "confidence": 0.7,
  "source_count": 30
}

Try It

Click Send Request to see response

GET/api/v1/intelligence
Auth Optional8 credits

Cross-Category Intelligence

Cross-category impact analysis. Shows how a topic ripples across verticals -- from a defense event to energy prices to market reactions. Includes causal chain analysis, entity networks, trend detection, and LLM-generated counter-narratives and predictions.

Query Parameters

topicstringrequired

The topic to analyze (min 2 chars)

periodstring

Time window: 7d, 30d, or 90d (default: 30d)

curl "https://api.thepolarisreport.com/api/v1/intelligence?topic=AI%20chip%20supply%20chain&period=30d" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "topic": "Iran war",
  "categories_affected": 6,
  "cross_category_impact": [
    { "category": "defense", "brief_count": 18, "dominant_sentiment": "negative" },
    { "category": "energy", "brief_count": 12, "dominant_sentiment": "negative" },
    { "category": "markets", "brief_count": 9, "dominant_sentiment": "negative" }
  ],
  "causal_chain": [
    { "date": "2026-03-15T...", "category": "defense", "headline": "Iran strike..." },
    { "date": "2026-03-16T...", "category": "energy", "headline": "Oil spikes..." }
  ],
  "causal_analysis": "Military strikes caused immediate oil price spikes...",
  "prediction": "Watch for OPEC emergency meeting responses...",
  "confidence": 0.72
}

Try It

Click Send Request to see response

// Trading

Featured Endpoint
POST/api/v1/screenerNEW
NEWAuth Required5 credits

Stock Screener

Find stocks matching multiple criteria -- combine technicals + sentiment + fundamentals in one query. Filter by RSI, MACD, sentiment score, P/E ratio, market cap, volume, and more. Returns ranked matches with reasons explaining why each stock qualified.

Request Body (JSON)

asset_typestring

Asset type filter: equity, etf, crypto (default: equity)

sectorstring

Sector filter (e.g. Semiconductors, Oil & Gas, Technology)

filtersobjectrequired

Filter criteria object. Combine any of: rsi_below, rsi_above, macd_bullish, macd_bearish, above_sma_20, below_sma_20, above_sma_50, below_sma_50, above_sma_200, below_sma_200, sentiment_above, sentiment_below, pe_below, pe_above, market_cap_above (in billions), volume_above (daily average)

sortstring

Sort results by: sentiment, rsi, pe_ratio, market_cap, volume (default: sentiment)

limitnumber

Max results (default: 20, max: 50)

Note

The filters parameter accepts any combination of the 15 filter options. All specified filters are AND-combined -- a stock must match every filter to be included. Numeric filters accept a threshold value (e.g. rsi_below: 30), while boolean filters like macd_bullish accept true/false.

curl -X POST "https://api.thepolarisreport.com/api/v1/screener" \
  -H "Authorization: Bearer YOUR_API_KEY"\
  -H "Content-Type: application/json" \
  -d '{
  "asset_type": "equity",
  "sector": "Semiconductors",
  "filters": {
    "rsi_below": 30,
    "sentiment_above": 0.6,
    "below_sma_50": true
  },
  "limit": 5
}'

Example Response

{
  "status": "ok",
  "matches": [
    {
      "ticker": "INTC",
      "entity_name": "Intel",
      "sector": "Semiconductors",
      "price": 24.85,
      "change_pct": -2.1,
      "rsi_14": 28.4,
      "sentiment_score": 0.72,
      "pe_ratio": 18.5,
      "market_cap_b": 105.2,
      "match_reasons": [
        "RSI 28.4 below 30 (oversold)",
        "Sentiment 0.72 above 0.6 (bullish)",
        "Below SMA 50 (pullback)"
      ]
    },
    {
      "ticker": "MU",
      "entity_name": "Micron Technology",
      "sector": "Semiconductors",
      "price": 88.10,
      "change_pct": -1.8,
      "rsi_14": 26.1,
      "sentiment_score": 0.68,
      "pe_ratio": 22.3,
      "market_cap_b": 97.8,
      "match_reasons": [
        "RSI 26.1 below 30 (oversold)",
        "Sentiment 0.68 above 0.6 (bullish)",
        "Below SMA 50 (pullback)"
      ]
    }
  ],
  "filters_applied": {
    "rsi_below": 30,
    "sentiment_above": 0.6,
    "below_sma_50": true
  },
  "total_scanned": 842,
  "total_matches": 7,
  "credits_used": 5
}

Try It

Click Send Request to see response

POST/api/v1/backtestNEW
NEWAuth Required10 credits

Backtest Strategy

Replay a screening strategy against historical data. Get total return, Sharpe ratio, equity curve, and per-trade breakdown.

Request Body (JSON)

strategy.entry_filtersobjectrequired

Entry criteria (same filter syntax as /screener, e.g. rsi_below, sentiment_above)

strategy.exit_filtersobjectrequired

Exit criteria (e.g. rsi_above, sentiment_below, stop_loss_pct)

strategy.asset_typestring

Asset type: equity, etf, crypto (default: equity)

strategy.sectorstring

Sector filter (e.g. Semiconductors, Technology)

periodstring

Backtest period: 6mo, 1y, 2y (default: 1y)

rebalancestring

Rebalance frequency: weekly, monthly (default: weekly)

initial_capitalnumber

Starting capital in USD (default: 100000)

max_positionsnumber

Max concurrent positions (default: 10)

curl -X POST "https://api.thepolarisreport.com/api/v1/backtest" \
  -H "Authorization: Bearer YOUR_API_KEY"\
  -H "Content-Type: application/json" \
  -d '{
  "strategy.entry_filters": {
    "rsi_below": 30,
    "sentiment_above": 0.6
  },
  "strategy.exit_filters": {
    "rsi_above": 65,
    "stop_loss_pct": 8
  },
  "strategy.asset_type": "equity",
  "strategy.sector": "Semiconductors",
  "period": "30d",
  "rebalance": "weekly",
  "initial_capital": 100000,
  "max_positions": 10
}'

Example Response

{
  "status": "ok",
  "performance": {
    "total_return_pct": 18.4,
    "annualized_return_pct": 18.4,
    "sharpe_ratio": 1.32,
    "max_drawdown_pct": -8.7,
    "win_rate": 0.64,
    "total_trades": 47,
    "avg_holding_days": 12.3,
    "profit_factor": 2.1
  },
  "equity_curve": [
    { "date": "2025-03-22", "value": 100000 },
    { "date": "2025-04-01", "value": 101250 },
    { "date": "2025-06-15", "value": 108400 },
    { "date": "2026-03-22", "value": 118400 }
  ],
  "trades": [
    {
      "ticker": "INTC",
      "entry_date": "2025-04-02",
      "entry_price": 22.40,
      "exit_date": "2025-04-18",
      "exit_price": 25.10,
      "return_pct": 12.05,
      "entry_reason": "RSI 26.1 below 30, sentiment 0.72 above 0.6",
      "exit_reason": "RSI 68.2 above 65"
    }
  ],
  "strategy": {
    "entry_filters": { "rsi_below": 30, "sentiment_above": 0.6 },
    "exit_filters": { "rsi_above": 65, "stop_loss_pct": 8 },
    "period": "1y",
    "rebalance": "weekly"
  },
  "credits_used": 10
}

Try It

Click Send Request to see response

POST/api/v1/correlationNEW
NEWAuth Required3 credits

Correlation Matrix

Compute Pearson correlation matrix for up to 10 tickers. Shows how assets move together.

Request Body (JSON)

tickersstring[]required

Array of ticker symbols (2-10 tickers, e.g. ["NVDA", "AMD", "INTC"])

daysnumber

Lookback period in days (default: 90, max: 365)

curl -X POST "https://api.thepolarisreport.com/api/v1/correlation" \
  -H "Authorization: Bearer YOUR_API_KEY"\
  -H "Content-Type: application/json" \
  -d '{
  "tickers": [
    "NVDA",
    "AMD",
    "INTC",
    "AAPL"
  ],
  "days": 30
}'

Example Response

{
  "status": "ok",
  "tickers": ["NVDA", "AMD", "INTC", "AAPL"],
  "days": 90,
  "matrix": {
    "NVDA": { "NVDA": 1.0, "AMD": 0.87, "INTC": 0.62, "AAPL": 0.45 },
    "AMD":  { "NVDA": 0.87, "AMD": 1.0, "INTC": 0.71, "AAPL": 0.39 },
    "INTC": { "NVDA": 0.62, "AMD": 0.71, "INTC": 1.0, "AAPL": 0.33 },
    "AAPL": { "NVDA": 0.45, "AMD": 0.39, "INTC": 0.33, "AAPL": 1.0 }
  },
  "pairs": [
    { "a": "NVDA", "b": "AMD", "correlation": 0.87, "label": "strong_positive" },
    { "a": "AMD", "b": "INTC", "correlation": 0.71, "label": "positive" },
    { "a": "NVDA", "b": "INTC", "correlation": 0.62, "label": "positive" },
    { "a": "NVDA", "b": "AAPL", "correlation": 0.45, "label": "moderate" },
    { "a": "AMD", "b": "AAPL", "correlation": 0.39, "label": "moderate" },
    { "a": "INTC", "b": "AAPL", "correlation": 0.33, "label": "weak" }
  ],
  "credits_used": 3
}

Try It

Click Send Request to see response

GET/api/v1/ticker/:symbol
Auth Optional1 credit

Ticker Lookup

Look up a stock ticker. Returns entity name, exchange, sector, asset type, 24h brief count, current sentiment, trending status, and real-time price data.

Path Parameters

symbolstringrequired

Ticker symbol (e.g. NVDA, AAPL, BTC)

curl "https://api.thepolarisreport.com/api/v1/ticker/NVDA" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "ticker": "NVDA",
  "entity_name": "Nvidia",
  "exchange": "NASDAQ",
  "asset_type": "equity",
  "sector": "Semiconductors",
  "briefs_24h": 7,
  "sentiment_score": 0.65,
  "trending": true,
  "price": {
    "current": 172.70,
    "change_pct": -4.19,
    "market_state": "CLOSED",
    "currency": "USD",
    "updated_at": "2026-03-21T20:00:00Z"
  }
}

Try It

Click Send Request to see response

GET/api/v1/ticker/:symbol/price
Auth Optional1 credit

Live Price

Lightweight price-only endpoint. Returns current price, change percentage, and market state. 15s cache on paid plans, 60s on free.

Path Parameters

symbolstringrequired

Ticker symbol (e.g. NVDA, AAPL)

curl "https://api.thepolarisreport.com/api/v1/ticker/NVDA/price" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "ticker": "NVDA",
  "price": 172.70,
  "change_pct": -4.19,
  "market_state": "CLOSED",
  "currency": "USD",
  "updated_at": "2026-03-21T20:00:00Z"
}

Try It

Click Send Request to see response

GET/api/v1/ticker/:symbol/score
Auth Required5 credits

Composite Score

Composite trading signal combining sentiment velocity, momentum, volume, and events. Returns a 0-1 score with component breakdown and signal label.

Path Parameters

symbolstringrequired

Ticker symbol (e.g. NVDA)

curl "https://api.thepolarisreport.com/api/v1/ticker/NVDA/score" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "ticker": "NVDA",
  "composite_score": 0.72,
  "signal": "bullish",
  "components": {
    "sentiment": { "current_24h": 0.8, "week_avg": 0.48, "weight": 0.4 },
    "momentum": { "value": 0.35, "direction": "accelerating", "weight": 0.25 },
    "volume": { "briefs_24h": 7, "velocity_change_pct": 40, "weight": 0.2 },
    "events": { "count_7d": 1, "latest_type": "earnings", "weight": 0.15 }
  }
}

Try It

Click Send Request to see response

GET/api/v1/ticker/:symbol/impactNEW
NEWAuth Required3 credits

News Impact

Measure how news moves the stock. Shows 1-day and 3-day price impact for each brief.

Path Parameters

symbolstringrequired

Ticker symbol (e.g. NVDA, AAPL)

Query Parameters

daysnumber

Lookback period in days (default: 30, max: 90)

curl "https://api.thepolarisreport.com/api/v1/ticker/NVDA/impact?days=30" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "ticker": "NVDA",
  "entity_name": "Nvidia",
  "period_days": 30,
  "summary": {
    "avg_impact_1d_pct": -0.82,
    "avg_impact_3d_pct": -1.15,
    "briefs_analyzed": 22,
    "positive_impact_count": 8,
    "negative_impact_count": 14
  },
  "best": {
    "brief_id": "PR-2026-0308-012",
    "headline": "Nvidia unveils next-gen B300 architecture",
    "impact_1d_pct": 4.2,
    "impact_3d_pct": 6.8,
    "published_at": "2026-03-08T14:00:00Z"
  },
  "worst": {
    "brief_id": "PR-2026-0318-005",
    "headline": "US expands chip export restrictions to Southeast Asia",
    "impact_1d_pct": -7.1,
    "impact_3d_pct": -9.3,
    "published_at": "2026-03-18T09:00:00Z"
  },
  "briefs": [
    {
      "brief_id": "PR-2026-0320-003",
      "headline": "Nvidia faces new antitrust probe in EU",
      "published_at": "2026-03-20T11:00:00Z",
      "price_at_publish": 178.50,
      "impact_1d_pct": -3.2,
      "impact_3d_pct": -4.1,
      "sentiment_score": 0.25
    }
  ],
  "credits_used": 3
}

Try It

Click Send Request to see response

GET/api/v1/ticker/:symbol/competitorsNEW
NEWAuth Required2 credits

Competitors

Same-sector peers with live price, RSI, sentiment, and news coverage.

Path Parameters

symbolstringrequired

Ticker symbol (e.g. NVDA, AAPL)

curl "https://api.thepolarisreport.com/api/v1/ticker/NVDA/competitors" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "ticker": "NVDA",
  "entity_name": "Nvidia",
  "sector": "Semiconductors",
  "competitors": [
    {
      "ticker": "AMD",
      "entity_name": "Advanced Micro Devices",
      "price": 102.30,
      "change_pct": -1.8,
      "rsi_14": 42.5,
      "sentiment_score": 0.58,
      "briefs_7d": 12,
      "market_cap_b": 165.2
    },
    {
      "ticker": "INTC",
      "entity_name": "Intel",
      "price": 24.85,
      "change_pct": -2.1,
      "rsi_14": 28.4,
      "sentiment_score": 0.72,
      "briefs_7d": 8,
      "market_cap_b": 105.2
    },
    {
      "ticker": "AVGO",
      "entity_name": "Broadcom",
      "price": 168.40,
      "change_pct": 0.5,
      "rsi_14": 55.2,
      "sentiment_score": 0.61,
      "briefs_7d": 6,
      "market_cap_b": 788.1
    },
    {
      "ticker": "QCOM",
      "entity_name": "Qualcomm",
      "price": 158.90,
      "change_pct": -0.9,
      "rsi_14": 48.1,
      "sentiment_score": 0.54,
      "briefs_7d": 4,
      "market_cap_b": 175.3
    },
    {
      "ticker": "MU",
      "entity_name": "Micron Technology",
      "price": 88.10,
      "change_pct": -1.5,
      "rsi_14": 35.8,
      "sentiment_score": 0.63,
      "briefs_7d": 5,
      "market_cap_b": 97.8
    },
    {
      "ticker": "MRVL",
      "entity_name": "Marvell Technology",
      "price": 62.40,
      "change_pct": -2.3,
      "rsi_14": 31.2,
      "sentiment_score": 0.49,
      "briefs_7d": 3,
      "market_cap_b": 54.1
    },
    {
      "ticker": "TXN",
      "entity_name": "Texas Instruments",
      "price": 172.50,
      "change_pct": 0.2,
      "rsi_14": 52.8,
      "sentiment_score": 0.57,
      "briefs_7d": 2,
      "market_cap_b": 157.9
    },
    {
      "ticker": "LRCX",
      "entity_name": "Lam Research",
      "price": 72.30,
      "change_pct": -1.1,
      "rsi_14": 38.9,
      "sentiment_score": 0.51,
      "briefs_7d": 2,
      "market_cap_b": 93.5
    },
    {
      "ticker": "KLAC",
      "entity_name": "KLA Corporation",
      "price": 620.10,
      "change_pct": -0.7,
      "rsi_14": 44.3,
      "sentiment_score": 0.55,
      "briefs_7d": 1,
      "market_cap_b": 82.7
    },
    {
      "ticker": "AMAT",
      "entity_name": "Applied Materials",
      "price": 155.80,
      "change_pct": -1.4,
      "rsi_14": 40.1,
      "sentiment_score": 0.52,
      "briefs_7d": 3,
      "market_cap_b": 127.4
    }
  ],
  "credits_used": 2
}

Try It

Click Send Request to see response

GET/api/v1/ticker/:symbol/history
Auth Required2 credits

Sentiment History

Daily sentiment timeseries for a ticker. Returns average, min, max sentiment per day with brief counts. Useful for charting sentiment trends over time.

Path Parameters

symbolstringrequired

Ticker symbol (e.g. NVDA)

Query Parameters

daysnumber

Lookback period in days (default: 30, max: 365)

curl "https://api.thepolarisreport.com/api/v1/ticker/NVDA/history?days=30" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "ticker": "NVDA",
  "entity_name": "Nvidia",
  "history": [
    {
      "date": "2026-03-20",
      "avg_sentiment": 0.65,
      "min_sentiment": 0.3,
      "max_sentiment": 0.9,
      "brief_count": 5,
      "avg_confidence": 0.82
    }
  ]
}

Try It

Click Send Request to see response

GET/api/v1/ticker/:symbol/signals
Auth Required2 credits

Sentiment Signals

Detect sentiment shifts for a ticker. Returns days where sentiment moved beyond a threshold, with streak tracking and trigger headlines.

Path Parameters

symbolstringrequired

Ticker symbol (e.g. NVDA)

Query Parameters

daysnumber

Lookback period (default: 30)

thresholdnumber

Minimum shift to flag (default: 0.3)

curl "https://api.thepolarisreport.com/api/v1/ticker/NVDA/signals?days=30&threshold=0.3" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "ticker": "NVDA",
  "signals": [
    {
      "date": "2026-03-18",
      "sentiment_shift": -0.85,
      "from": 0.65,
      "to": -0.2,
      "direction": "bearish",
      "brief_count": 5,
      "trigger_headline": "Nvidia faces export restrictions..."
    }
  ]
}

Try It

Click Send Request to see response

POST/api/v1/portfolio/feed
Auth Required17 credits

Portfolio Feed

Send portfolio holdings and get intelligence ranked by relevance to your positions. Returns briefs with portfolio-specific relevance scores and matched holdings.

Request Body (JSON)

holdingsarrayrequired

Array of { ticker, weight, direction } objects

per_pagenumber

Results per page (default: 20)

sincestring

Time window (e.g. 2h, 24h)

curl -X POST "https://api.thepolarisreport.com/api/v1/portfolio/feed" \
  -H "Authorization: Bearer YOUR_API_KEY"\
  -H "Content-Type: application/json" \
  -d '{
  "per_page": 5
}'

Example Response

{
  "status": "ok",
  "briefs": [
    {
      "id": "PR-12345",
      "headline": "Nvidia announces next-gen B300 GPU architecture",
      "portfolio_relevance": {
        "score": 0.95,
        "matched_holdings": [
          { "ticker": "NVDA", "weight": 0.15, "sentiment_score": 0.85, "impact": "direct_mention" }
        ]
      }
    }
  ],
  "portfolio_summary": {
    "holdings_with_activity": 8,
    "avg_portfolio_sentiment": 0.35
  }
}

Try It

Click Send Request to see response

GET/api/v1/sectors
Auth Optional1 credit

Sector Rankings

All sectors ranked by brief volume with average sentiment and signal labels. Useful for sector rotation analysis.

Query Parameters

daysnumber

Lookback period (default: 7)

curl "https://api.thepolarisreport.com/api/v1/sectors?days=30" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "sectors": [
    {
      "sector": "Semiconductors",
      "brief_count": 45,
      "avg_sentiment": 0.35,
      "signal": "bullish",
      "top_ticker": "NVDA"
    },
    {
      "sector": "Oil & Gas",
      "brief_count": 32,
      "avg_sentiment": -0.2,
      "signal": "bearish",
      "top_ticker": "XOM"
    }
  ]
}

Try It

Click Send Request to see response

// Alerts

POST/api/v1/alertsNEW
NEWAuth Required1 credit

Create Alert

Create a price or sentiment alert for any tracked ticker. Supports six alert types: price_above, price_below, sentiment_above, sentiment_below, volume_spike, and rsi_cross. Alerts fire once and transition to triggered status. Optionally receive webhook callbacks when triggered.

Request Body (JSON)

tickerstringrequired

Ticker symbol (e.g. NVDA, AAPL, BTC)

alert_typestringrequired

Alert type: price_above, price_below, sentiment_above, sentiment_below, volume_spike, rsi_cross

thresholdnumberrequired

Threshold value (price in USD, sentiment 0-1, RSI 0-100)

callback_urlstring

HTTPS URL to POST when alert triggers (optional)

curl -X POST "https://api.thepolarisreport.com/api/v1/alerts" \
  -H "Authorization: Bearer YOUR_API_KEY"\
  -H "Content-Type: application/json" \
  -d '{
  "ticker": "NVDA",
  "alert_type": "price_below",
  "threshold": 0.3
}'

Example Response

{
  "status": "ok",
  "alert": {
    "id": "alt_8f3a2b1c",
    "ticker": "NVDA",
    "alert_type": "price_below",
    "threshold": 170,
    "status": "active",
    "callback_url": "https://your-app.com/webhooks/alerts",
    "created_at": "2026-03-22T14:00:00Z"
  }
}

Try It

Click Send Request to see response

GET/api/v1/alertsNEW
NEWAuth Required1 credit

List Alerts

List all alerts for the authenticated user. Filter by status to see only active or triggered alerts.

Query Parameters

statusstring

Filter by status: active, triggered (default: all)

curl "https://api.thepolarisreport.com/api/v1/alerts" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "alerts": [
    {
      "id": "alt_8f3a2b1c",
      "ticker": "NVDA",
      "alert_type": "price_below",
      "threshold": 170,
      "status": "active",
      "created_at": "2026-03-22T14:00:00Z"
    },
    {
      "id": "alt_2d4e6f8a",
      "ticker": "AAPL",
      "alert_type": "sentiment_above",
      "threshold": 0.8,
      "status": "triggered",
      "triggered_at": "2026-03-22T16:30:00Z",
      "trigger_value": 0.85,
      "created_at": "2026-03-20T10:00:00Z"
    }
  ],
  "total": 2
}

Try It

Click Send Request to see response

DELETE/api/v1/alerts/:idNEW
NEWAuth Required1 credit

Delete Alert

Delete an alert by ID. Only the alert owner can delete their alerts.

Path Parameters

idstringrequired

Alert ID (e.g. alt_8f3a2b1c)

curl -X DELETE "https://api.thepolarisreport.com/api/v1/alerts/:id" \
  -H "Authorization: Bearer YOUR_API_KEY"\
  -H "Content-Type: application/json" \
  -d '{}'

Example Response

{
  "status": "ok",
  "message": "Alert alt_8f3a2b1c deleted"
}
GET/api/v1/alerts/triggeredNEW
NEWAuth Required1 credit

Triggered Alerts

Poll for recently triggered alerts. Returns alerts that fired since a given timestamp, useful for polling-based integrations that don't use webhook callbacks.

Query Parameters

sincestring

ISO timestamp to fetch triggers after (default: last 24h)

limitnumber

Max results (default: 20, max: 50)

curl "https://api.thepolarisreport.com/api/v1/alerts/triggered?limit=5" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "triggered": [
    {
      "id": "alt_2d4e6f8a",
      "ticker": "AAPL",
      "alert_type": "sentiment_above",
      "threshold": 0.8,
      "trigger_value": 0.85,
      "triggered_at": "2026-03-22T16:30:00Z",
      "context": {
        "headline": "Apple announces record services revenue",
        "brief_id": "PR-2026-0322-041"
      }
    }
  ],
  "total": 1
}

Try It

Click Send Request to see response

// Market Data

GET/api/v1/ticker/:symbol/candles
Auth Optional1 credit

Candlestick Data

OHLCV candlestick data for equities. Supports daily, weekly, and monthly intervals with configurable date ranges up to 5 years.

Path Parameters

symbolstringrequired

Ticker symbol (e.g. NVDA)

Query Parameters

intervalstring

Candle interval: 1d, 1wk, 1mo (default: 1d)

rangestring

Date range: 1mo, 3mo, 6mo, 1y, 2y, 5y (default: 6mo)

curl "https://api.thepolarisreport.com/api/v1/ticker/NVDA/candles?interval=1d&range=6mo" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "ticker": "NVDA",
  "candle_count": 21,
  "candles": [
    {
      "date": "2026-03-20",
      "open": 178.0,
      "high": 178.26,
      "low": 171.72,
      "close": 172.70,
      "volume": 239998000
    }
  ]
}

Try It

Click Send Request to see response

GET/api/v1/ticker/:symbol/technicals
Auth Optional2 credits

Technical Indicators

All 20 technical indicators at once with buy/sell/neutral signal summary. Includes SMA 20/50/200, EMA 12/26, RSI, MACD, Bollinger Bands, ATR, Stochastic, ADX, OBV, VWAP, Williams %R, Parabolic SAR, Ichimoku Cloud, CCI, MFI, ROC, Fibonacci Retracements, PPO, TRIX, and Donchian Channels.

Path Parameters

symbolstringrequired

Ticker symbol (e.g. NVDA)

Query Parameters

rangestring

Date range: 1mo, 3mo, 6mo, 1y (default: 6mo)

curl "https://api.thepolarisreport.com/api/v1/ticker/NVDA/technicals?range=6mo" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "ticker": "NVDA",
  "latest": {
    "price": 172.7,
    "sma_20": 182.18,
    "sma_50": 184.35,
    "sma_200": 178.92,
    "ema_12": 180.42,
    "ema_26": 181.05,
    "rsi_14": 37.82,
    "macd": { "macd": -2.7, "signal": -1.64, "histogram": -1.06 },
    "bollinger": { "upper": 192.9, "middle": 182.18, "lower": 171.46 },
    "stochastic": { "k": 5.71, "d": 8.42 },
    "atr_14": 6.82,
    "adx_14": 32.5,
    "obv": 1245678000,
    "vwap": 174.30,
    "williams_r_14": -88.2,
    "cci_20": -142.5,
    "mfi_14": 28.7,
    "roc_12": -8.45,
    "parabolic_sar": 185.20,
    "ichimoku": { "tenkan": 176.5, "kijun": 180.2, "senkou_a": 178.3, "senkou_b": 183.1 },
    "ppo": { "ppo": -1.48, "signal": -0.92, "histogram": -0.56 },
    "trix": -0.082,
    "donchian": { "upper": 195.4, "middle": 183.5, "lower": 171.6 },
    "fibonacci": { "r_0.236": 177.2, "r_0.382": 180.5, "r_0.5": 183.0, "r_0.618": 185.5, "r_0.786": 189.1 }
  },
  "signal_summary": {
    "overall": "sell",
    "buy": 4,
    "sell": 10,
    "neutral": 6,
    "total": 20
  }
}

Try It

Click Send Request to see response

GET/api/v1/ticker/:symbol/earnings
Auth Optional1 credit

Earnings Estimates

Next earnings date with EPS and revenue estimates for a specific ticker.

Path Parameters

symbolstringrequired

Ticker symbol (e.g. AAPL)

curl "https://api.thepolarisreport.com/api/v1/ticker/NVDA/earnings" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "ticker": "AAPL",
  "earnings_date": "2026-04-30",
  "eps_estimate": 1.96,
  "revenue_estimate": 109085000000,
  "revenue_estimate_formatted": "$109.1B",
  "fiscal_quarter": "1Q2026"
}

Try It

Click Send Request to see response

GET/api/v1/ticker/:symbol/financials
Auth Optional2 credits

Company Financials

Company fundamentals: income statements, balance sheets, key stats (PE, EPS, margins, debt). Equity only, 6hr cache.

Path Parameters

symbolstringrequired

Ticker symbol (e.g. AAPL)

curl "https://api.thepolarisreport.com/api/v1/ticker/NVDA/financials" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "ticker": "AAPL",
  "market_cap_formatted": "$3.72T",
  "pe_ratio": 31.42,
  "eps": 7.91,
  "dividend_yield": 0.0044,
  "revenue_formatted": "$435.62B",
  "profit_margin": 0.2639,
  "debt_to_equity": 151.86,
  "beta": 1.24,
  "fifty_two_week_high": 260.10,
  "fifty_two_week_low": 169.21
}

Try It

Click Send Request to see response

GET/api/v1/market/movers
Auth Optional1 credit

Market Movers

Top 10 gainers, losers, and most active stocks by volume.

curl "https://api.thepolarisreport.com/api/v1/market/movers" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "gainers": [
    { "symbol": "PL", "name": "Planet Labs", "price": 4.52, "change_pct": 28.41, "volume": 12345678 }
  ],
  "losers": [
    { "symbol": "SMCI", "name": "Super Micro", "price": 32.10, "change_pct": -12.5, "volume": 9876543 }
  ],
  "most_active": [
    { "symbol": "NVDA", "name": "Nvidia", "price": 172.70, "change_pct": -4.19, "volume": 239998000 }
  ]
}

Try It

Click Send Request to see response

GET/api/v1/market/summary
Auth Optional1 credit

Market Summary

Major indices snapshot: S&P 500, Nasdaq, Dow Jones, Russell 2000, and VIX.

curl "https://api.thepolarisreport.com/api/v1/market/summary" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "indices": [
    { "symbol": "^GSPC", "name": "S&P 500", "price": 6506.48, "change_pct": -1.90 },
    { "symbol": "^IXIC", "name": "Nasdaq", "price": 19523.40, "change_pct": -2.63 },
    { "symbol": "^DJI", "name": "Dow Jones", "price": 41583.90, "change_pct": -1.69 },
    { "symbol": "^VIX", "name": "VIX", "price": 26.78, "change_pct": 13.91 }
  ]
}

Try It

Click Send Request to see response

// Cross-Reference

GET/api/v1/ticker/:symbol/fullNew
NewAuth Required10 credits

Cross-Reference

Everything about a ticker in one call. Returns price, technicals, earnings, sentiment, news impact, insider trades, SEC filings, analyst ratings, and institutional holders. Saves 9+ API calls.

Path Parameters

symbolstringrequired

Stock ticker symbol (e.g. NVDA, AAPL, TSLA)

curl "https://api.thepolarisreport.com/api/v1/ticker/NVDA/full" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "symbol": "NVDA",
  "name": "NVIDIA Corporation",
  "price": {
    "current": 142.50,
    "change": 5.72,
    "change_pct": 4.18,
    "volume": 48200000,
    "market_cap": 3490000000000
  },
  "technicals": {
    "rsi": 62.4,
    "macd": { "value": 3.21, "signal": 2.85, "histogram": 0.36 },
    "sma_50": 134.20,
    "sma_200": 118.75,
    "signal": "buy",
    "signal_count": { "buy": 12, "neutral": 5, "sell": 3 }
  },
  "earnings": {
    "next_date": "2026-05-28",
    "eps_estimate": 0.89,
    "revenue_estimate": 44200000000,
    "surprise_history": [
      { "quarter": "Q4 2025", "eps_actual": 0.84, "eps_estimate": 0.78, "surprise_pct": 7.7 }
    ]
  },
  "sentiment": {
    "score": 0.72,
    "brief_count": 34,
    "shift_7d": 0.15,
    "top_themes": ["AI chips", "datacenter demand", "export controls"]
  },
  "news": [
    {
      "brief_id": "abc123",
      "headline": "NVIDIA unveils next-gen AI chip architecture",
      "impact_score": 0.88,
      "published_at": "2026-03-25T08:30:00Z"
    }
  ],
  "insider": [
    {
      "name": "Jensen Huang",
      "title": "CEO",
      "type": "sell",
      "shares": 100000,
      "price": 140.25,
      "date": "2026-03-20"
    }
  ],
  "filings": [
    {
      "type": "10-K",
      "filed_at": "2026-02-21",
      "url": "https://sec.gov/..."
    }
  ],
  "analysts": {
    "consensus": "strong_buy",
    "target_mean": 175.00,
    "target_high": 220.00,
    "target_low": 120.00,
    "count": 42
  },
  "institutions": {
    "holder_count": 3840,
    "ownership_pct": 65.2,
    "top_holders": [
      { "name": "Vanguard Group", "shares": 198000000, "pct": 4.8 },
      { "name": "BlackRock", "shares": 178000000, "pct": 4.3 }
    ]
  }
}

Try It

Click Send Request to see response

// Insider & Filings

GET/api/v1/ticker/:symbol/insider
Auth Required2 credits

Insider Trades

Recent Form 4 insider transactions for a ticker. Shows who bought/sold, share counts, dollar values, and filing dates.

Path Parameters

symbolstringrequired

Ticker symbol (e.g. AAPL, NVDA)

Query Parameters

limitnumber

Max results (default: 20)

daysnumber

Lookback window in days (default: 90)

curl "https://api.thepolarisreport.com/api/v1/ticker/NVDA/insider?limit=5&days=30" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "insider_trades": [
    {
      "name": "Jensen Huang",
      "title": "CEO",
      "transaction_type": "Sale",
      "shares": 100000,
      "value": 12500000,
      "date": "2026-03-15",
      "filing_url": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=..."
    }
  ]
}

Try It

Click Send Request to see response

GET/api/v1/insider/recent
Auth Required2 credits

Recent Insider Activity

Latest insider transactions across all tickers. Spot unusual buying or selling activity market-wide.

Query Parameters

limitnumber

Max results (default: 20)

typestring

Filter by transaction type: buy, sell, all (default: all)

min_valuenumber

Minimum dollar value filter

curl "https://api.thepolarisreport.com/api/v1/insider/recent?limit=5" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "trades": [
    {
      "symbol": "NVDA",
      "name": "Jensen Huang",
      "title": "CEO",
      "transaction_type": "Sale",
      "shares": 100000,
      "value": 12500000,
      "date": "2026-03-15"
    }
  ]
}

Try It

Click Send Request to see response

GET/api/v1/ticker/:symbol/filings
Auth Required2 credits

SEC Filings

SEC EDGAR filings for a ticker. Filter by form type (10-K, 10-Q, 8-K, S-1, etc.).

Path Parameters

symbolstringrequired

Ticker symbol (e.g. AAPL, NVDA)

Query Parameters

formstring

Filter by form type (e.g. 10-K, 10-Q, 8-K, S-1)

limitnumber

Max results (default: 20)

curl "https://api.thepolarisreport.com/api/v1/ticker/NVDA/filings?limit=5" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "filings": [
    {
      "form_type": "10-K",
      "filed_date": "2026-02-21",
      "period_of_report": "2025-12-31",
      "filing_url": "https://www.sec.gov/Archives/edgar/data/...",
      "description": "Annual report for fiscal year ending December 31, 2025"
    }
  ]
}

Try It

Click Send Request to see response

GET/api/v1/ticker/:symbol/analysts
Auth Required2 credits

Analyst Ratings

Wall Street analyst ratings and price targets for a ticker. Includes consensus rating, average/high/low targets, and recent rating changes.

Path Parameters

symbolstringrequired

Ticker symbol (e.g. AAPL, NVDA)

curl "https://api.thepolarisreport.com/api/v1/ticker/NVDA/analysts" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "consensus": "Buy",
  "avg_target": 210.50,
  "high_target": 260.00,
  "low_target": 175.00,
  "num_analysts": 38,
  "recent_ratings": [
    {
      "analyst": "Jane Smith",
      "firm": "Morgan Stanley",
      "rating": "Overweight",
      "target": 245.00,
      "date": "2026-03-18"
    }
  ]
}

Try It

Click Send Request to see response

GET/api/v1/congress/trades
Auth Required2 credits

Congressional Trades

Stock trades reported by members of US Congress under the STOCK Act.

Query Parameters

symbolstring

Filter by ticker symbol

chamberstring

Filter by chamber: house, senate, all (default: all)

limitnumber

Max results (default: 20)

curl "https://api.thepolarisreport.com/api/v1/congress/trades?symbol=NVDA&limit=5" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "trades": [
    {
      "member": "Nancy Pelosi",
      "party": "D",
      "chamber": "house",
      "symbol": "NVDA",
      "transaction_type": "Purchase",
      "amount_range": "$1,000,001 - $5,000,000",
      "disclosure_date": "2026-03-01"
    }
  ]
}

Try It

Click Send Request to see response

GET/api/v1/ticker/:symbol/institutions
Auth Required2 credits

Institutional Holders

Top institutional holders from 13F filings. Shows funds, share counts, portfolio weight, and quarter-over-quarter changes.

Path Parameters

symbolstringrequired

Ticker symbol (e.g. AAPL, NVDA)

Query Parameters

limitnumber

Max results (default: 20)

curl "https://api.thepolarisreport.com/api/v1/ticker/NVDA/institutions?limit=5" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "holders": [
    {
      "institution": "Vanguard Group Inc.",
      "shares": 194500000,
      "value": 24312500000,
      "portfolio_pct": 3.21,
      "change_pct": 1.5,
      "report_date": "2025-12-31"
    }
  ]
}

Try It

Click Send Request to see response

// Forex & Commodities

GET/api/v1/forex
Auth Optional1 credit

All Forex Pairs

All 7 major forex pairs with live rates and daily change percentages.

curl "https://api.thepolarisreport.com/api/v1/forex" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "pairs": [
    { "pair": "EURUSD", "label": "EUR/USD", "rate": 1.1575, "change_pct": 1.22 },
    { "pair": "USDJPY", "label": "USD/JPY", "rate": 149.32, "change_pct": -0.45 },
    { "pair": "GBPUSD", "label": "GBP/USD", "rate": 1.2940, "change_pct": 0.85 }
  ]
}

Try It

Click Send Request to see response

GET/api/v1/forex/:pair
Auth Optional1 credit

Single Forex Pair

Single forex pair rate. Supported pairs: EURUSD, GBPUSD, USDJPY, AUDUSD, USDCAD, USDCHF, NZDUSD.

Path Parameters

pairstringrequired

Forex pair (e.g. EURUSD, USDJPY)

curl "https://api.thepolarisreport.com/api/v1/forex/EURUSD" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "pair": "EURUSD",
  "label": "EUR/USD",
  "rate": 1.1575,
  "change_pct": 1.22
}

Try It

Click Send Request to see response

GET/api/v1/commodities
Auth Optional1 credit

All Commodities

All 10 tracked commodities with live prices and daily change.

curl "https://api.thepolarisreport.com/api/v1/commodities" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "commodities": [
    { "symbol": "gold", "name": "Gold", "price": 4574.90, "change_pct": -8.52, "currency": "USD" },
    { "symbol": "crude", "name": "WTI Crude Oil", "price": 98.23, "change_pct": 2.10, "currency": "USD" },
    { "symbol": "silver", "name": "Silver", "price": 33.80, "change_pct": -2.15, "currency": "USD" }
  ]
}

Try It

Click Send Request to see response

GET/api/v1/commodities/:symbol
Auth Optional1 credit

Single Commodity

Single commodity price. Supported: crude, gold, silver, copper, natgas, wheat, corn, coffee, cotton, sugar.

Path Parameters

symbolstringrequired

Commodity slug (e.g. gold, crude, silver)

curl "https://api.thepolarisreport.com/api/v1/commodities/NVDA" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "symbol": "gold",
  "name": "Gold",
  "price": 4574.90,
  "change_pct": -8.52,
  "currency": "USD"
}

Try It

Click Send Request to see response

// Economy

GET/api/v1/economy
Auth Optional2 credits

Economic Indicators

Summary of 12 key economic indicators including CPI, unemployment rate, Fed funds rate, treasury yields, GDP, retail sales, and more.

curl "https://api.thepolarisreport.com/api/v1/economy" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "indicators": [
    { "name": "Consumer Price Index", "series_id": "CPIAUCSL", "latest_value": 327.46, "latest_date": "2026-02-01" },
    { "name": "Unemployment Rate", "series_id": "UNRATE", "latest_value": 4.4, "latest_date": "2025-12-01" },
    { "name": "10-Year Treasury Yield", "series_id": "DGS10", "latest_value": 4.25, "latest_date": "2026-03-19" },
    { "name": "Fed Funds Rate", "series_id": "FEDFUNDS", "latest_value": 4.33, "latest_date": "2026-02-01" }
  ]
}

Try It

Click Send Request to see response

GET/api/v1/economy/:indicator
Auth Optional1 credit

Single Indicator

Specific economic indicator with historical observations. Slugs: gdp, cpi, core_cpi, unemployment, fed_funds, treasury_10y, treasury_2y, inflation, retail_sales, nonfarm_payroll, consumer_sentiment.

Path Parameters

indicatorstringrequired

Indicator slug (e.g. cpi, gdp, unemployment)

Query Parameters

limitnumber

Number of observations (default: 10)

curl "https://api.thepolarisreport.com/api/v1/economy/cpi?limit=5" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "name": "Consumer Price Index",
  "latest": { "date": "2026-02-01", "value": 327.46 },
  "observations": [
    { "date": "2026-02-01", "value": 327.46 },
    { "date": "2026-01-01", "value": 326.588 },
    { "date": "2025-12-01", "value": 325.712 }
  ]
}

Try It

Click Send Request to see response

GET/api/v1/economy/yields
Auth Optional1 credit

Yield Curve

Treasury yield curve with spread calculation and inversion detection. Returns 2Y, 5Y, 10Y, and 30Y yields with the 10Y-2Y spread.

curl "https://api.thepolarisreport.com/api/v1/economy/yields" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "yields": [
    { "maturity": "2y", "name": "2-Year Treasury", "yield_pct": 3.79, "date": "2026-03-19" },
    { "maturity": "5y", "name": "5-Year Treasury", "yield_pct": 4.02, "date": "2026-03-19" },
    { "maturity": "10y", "name": "10-Year Treasury", "yield_pct": 4.25, "date": "2026-03-19" },
    { "maturity": "30y", "name": "30-Year Treasury", "yield_pct": 4.83, "date": "2026-03-19" }
  ],
  "spread_10y_2y": 0.46,
  "inverted": false
}

Try It

Click Send Request to see response

// Crypto

GET/api/v1/crypto
Auth Optional1 credit

Crypto Overview

Crypto market overview: total market cap, 24h volume, BTC/ETH dominance, and active cryptocurrency count.

curl "https://api.thepolarisreport.com/api/v1/crypto" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "total_market_cap_formatted": "$2.44T",
  "total_volume_formatted": "$69.83B",
  "btc_dominance": 56.28,
  "eth_dominance": 10.28,
  "active_cryptocurrencies": 18050,
  "market_cap_change_24h": -1.97
}

Try It

Click Send Request to see response

GET/api/v1/crypto/top
Auth Optional1 credit

Top Tokens

Top tokens ranked by market cap. 200 tracked tokens available including BTC, ETH, SOL, BNB, XRP, ADA, AVAX, DOGE, DOT, LINK.

Query Parameters

limitnumber

Number of tokens (default: 20, max: 50)

curl "https://api.thepolarisreport.com/api/v1/crypto/top?limit=5" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "tokens": [
    {
      "symbol": "BTC",
      "name": "Bitcoin",
      "price": 68822,
      "market_cap_formatted": "$1.38T",
      "change_24h": -2.2,
      "change_7d": -4.1,
      "market_cap_rank": 1
    },
    {
      "symbol": "ETH",
      "name": "Ethereum",
      "price": 3420,
      "market_cap_formatted": "$412B",
      "change_24h": -1.8,
      "change_7d": -3.2,
      "market_cap_rank": 2
    }
  ]
}

Try It

Click Send Request to see response

GET/api/v1/crypto/:symbol
Auth Optional1 credit

Token Detail

Extended data for a single token including 1h/24h/7d/30d price changes, all-time high, and market cap ranking.

Path Parameters

symbolstringrequired

Token symbol (e.g. BTC, ETH, SOL)

curl "https://api.thepolarisreport.com/api/v1/crypto/NVDA" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "name": "Solana",
  "symbol": "SOL",
  "price": 87.32,
  "market_cap_formatted": "$49.94B",
  "volume_24h_formatted": "$2.46B",
  "change_1h": -0.3,
  "change_24h": -2.54,
  "change_7d": -0.17,
  "change_30d": 3.73,
  "ath": 293.31,
  "ath_change_pct": -70.23,
  "market_cap_rank": 7
}

Try It

Click Send Request to see response

GET/api/v1/crypto/:symbol/chart
Auth Optional1 credit

Token Price Chart

Price history for a token. Hourly resolution for periods under 2 days, daily for longer periods.

Path Parameters

symbolstringrequired

Token symbol (e.g. BTC, ETH)

Query Parameters

daysnumber

Lookback: 1, 7, 14, 30, 90, 180, 365 (default: 30)

curl "https://api.thepolarisreport.com/api/v1/crypto/NVDA/chart?days=30" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "symbol": "BTC",
  "prices": [
    { "date": "2026-03-15T18:03:04.172Z", "price": 71831.07 },
    { "date": "2026-03-16T18:00:00.000Z", "price": 70245.20 },
    { "date": "2026-03-22T17:29:02.000Z", "price": 68823.32 }
  ]
}

Try It

Click Send Request to see response

GET/api/v1/crypto/defi
Auth Optional2 credits

DeFi Overview

DeFi overview: total TVL, top protocols by TVL, and chain breakdown. Data sourced from DeFi Llama.

curl "https://api.thepolarisreport.com/api/v1/crypto/defi" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "total_tvl_formatted": "$522.28B",
  "top_protocols": [
    { "name": "Aave V3", "tvl_formatted": "$24.62B", "category": "Lending", "change_1d": -2.17 },
    { "name": "Lido", "tvl_formatted": "$18.30B", "category": "Liquid Staking", "change_1d": -1.05 }
  ],
  "chains": [
    { "name": "Ethereum", "tvl_formatted": "$55.06B" },
    { "name": "Solana", "tvl_formatted": "$6.75B" }
  ]
}

Try It

Click Send Request to see response

// Entities & Events

GET/api/v1/entities
Auth Optional1 credit

Search Entities

Search and list extracted entities across all published briefs. Returns entity names, types, tickers, and mention counts.

Query Parameters

qstring

Entity name search (case-insensitive)

typestring

Filter by type: person, organization, location, product, event

limitnumber

Max results (default: 20, max: 100)

curl "https://api.thepolarisreport.com/api/v1/entities?q=AI%20regulation&limit=5" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "entities": [
    { "name": "OpenAI", "type": "organization", "ticker": null, "brief_count": 34, "last_seen": "2026-03-11T08:00:00Z" },
    { "name": "Nvidia", "type": "organization", "ticker": "NVDA", "brief_count": 28, "last_seen": "2026-03-11T06:00:00Z" }
  ]
}

Try It

Click Send Request to see response

GET/api/v1/entities/:name/briefs
Auth Optional1 credit

Entity Briefs

Get all published briefs that mention a specific entity. Includes a 14-day mention timeline, trend direction, and peak mention count.

Path Parameters

namestringrequired

Entity name (e.g. OpenAI, Nvidia)

Query Parameters

rolestring

Filter by entity role: subject, related, mentioned

limitnumber

Results per page (default: 20, max: 50)

curl "https://api.thepolarisreport.com/api/v1/entities/OpenAI/briefs?limit=5" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "briefs": [
    { "id": "PR-2026-0305-001", "headline": "OpenAI Launches GPT-5", "category": "ai_ml" }
  ],
  "timeline": [
    { "date": "2026-03-15", "mentions": 5 },
    { "date": "2026-03-14", "mentions": 12 }
  ],
  "trend": "rising",
  "peak": 12,
  "meta": { "total": 34, "entity": "OpenAI" }
}

Try It

Click Send Request to see response

GET/api/v1/events
Auth Optional1 credit

Structured Events

Structured events extracted from briefs. Filter by event type (acquisition, funding, launch, partnership, regulation, lawsuit, IPO, bankruptcy), entity, or category.

Query Parameters

typestring

Event type: acquisition, funding, launch, partnership, regulation, lawsuit, ipo, bankruptcy

subjectstring

Entity name involved in the event

categorystring

Filter by category slug

periodstring

Time window: 24h, 7d, 30d (default: 7d)

curl "https://api.thepolarisreport.com/api/v1/events?category=ai_ml&period=30d" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "events": [
    {
      "type": "acquisition",
      "subject": "Google",
      "object": "Wiz",
      "value": "$32B",
      "date": "2026-03-15",
      "brief_id": "PR-xxx",
      "headline": "Google Closes $32B Wiz Acquisition",
      "confidence": 0.95
    }
  ],
  "total": 24
}

Try It

Click Send Request to see response

GET/api/v1/contradictions
Auth Optional1 credit

Contradictions

Briefs with cross-source disagreements. Surfaces stories where outlets report conflicting facts, filtered by severity.

Query Parameters

severitystring

Severity filter: minor, moderate, major

categorystring

Filter by category slug

curl "https://api.thepolarisreport.com/api/v1/contradictions?category=ai_ml" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "contradictions": [
    {
      "brief_id": "PR-xxx",
      "headline": "Conflicting Reports on Tesla Production Numbers",
      "severity": "major",
      "claims": [
        { "source": "Reuters", "claim": "Production up 12% YoY" },
        { "source": "Bloomberg", "claim": "Production flat vs last quarter" }
      ],
      "polaris_assessment": "Reuters figure refers to annual comparison while Bloomberg uses quarterly..."
    }
  ],
  "total": 8
}

Try It

Click Send Request to see response

// AI Reports

POST/api/v1/reports/generateNEW
NEWAuth Required10 credits

Generate Report

Start an AI-generated analysis report for any ticker. Returns a report ID to poll for completion. Three tiers: quick (~6s, executive summary), full (~65s, 5 Sonnet analysts), deep (~5min, 4 Opus + 8 Sonnet with bull/bear debate, forecast, bias audit).

Request Body (JSON)

tickerstringrequired

Ticker symbol (e.g. NVDA, AAPL, BTC)

tierstring

Report tier: quick (10 credits), full (250 credits), or deep (1,000 credits). Default: quick

curl -X POST "https://api.thepolarisreport.com/api/v1/reports/generate" \
  -H "Authorization: Bearer YOUR_API_KEY"\
  -H "Content-Type: application/json" \
  -d '{
  "ticker": "NVDA"
}'

Example Response

{
  "status": "ok",
  "report_id": "RPT-f671e30b",
  "tier": "quick",
  "credits_charged": 10,
  "estimated_time_seconds": 15,
  "poll_url": "/api/v1/reports/RPT-f671e30b"
}

Try It

Click Send Request to see response

GET/api/v1/reports/:idNEW
NEWAuth OptionalFREE

Get Report

Retrieve a generated report by ID. Public reports are accessible without authentication -- use this for shareable URLs. Poll this endpoint until status is 'complete'.

Path Parameters

idstringrequired

Report ID (e.g. RPT-f671e30b)

curl "https://api.thepolarisreport.com/api/v1/reports/:id" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "report": {
    "id": "RPT-f671e30b",
    "ticker": "NVDA",
    "entity_name": "Nvidia",
    "tier": "quick",
    "status": "complete",
    "markdown": "# Quick Scan: Nvidia (NVDA)\n\n## Executive Summary\n**Verdict:** HOLD | **Confidence:** 62%...",
    "credits_charged": 10,
    "processing_time_ms": 6378,
    "is_public": true,
    "url": "https://thepolarisreport.com/reports/RPT-f671e30b"
  }
}

Try It

Click Send Request to see response

GET/api/v1/reports/cached/:tickerNEW
NEWAuth OptionalFREE

Cached Quick Scan

Get a pre-generated Quick Scan for popular tickers. Returns instantly with no credit cost. Available for top 20 tickers (NVDA, AAPL, TSLA, MSFT, AMZN, GOOG, META, BTC, ETH, SPY, AMD, NFLX, JPM, V, AVGO, COIN, PLTR, SHOP, BABA, SOFI). Refreshed every 4 hours.

Path Parameters

tickerstringrequired

Ticker symbol (e.g. NVDA)

curl "https://api.thepolarisreport.com/api/v1/reports/cached/NVDA" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "report": {
    "id": "RPT-abc123",
    "ticker": "NVDA",
    "tier": "quick",
    "status": "complete",
    "markdown": "# Quick Scan: Nvidia (NVDA)\n...",
    "cached": true,
    "created_at": "2026-03-24T18:30:00Z"
  }
}

Try It

Click Send Request to see response

GET/api/v1/reportsNEW
NEWAuth RequiredFREE

List Reports

List all reports generated by the authenticated user. Returns most recent first.

Query Parameters

limitnumber

Max reports to return (default: 20, max: 50)

curl "https://api.thepolarisreport.com/api/v1/reports?limit=5" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "reports": [
    {
      "id": "RPT-f671e30b",
      "ticker": "NVDA",
      "tier": "quick",
      "status": "complete",
      "credits_charged": 10,
      "processing_time_ms": 6378,
      "created_at": "2026-03-24T18:15:00Z"
    }
  ],
  "total": 5
}

Try It

Click Send Request to see response

POST/api/v1/reports/uploadNEW
NEWAuth RequiredFREE

Upload Report

Upload an externally generated report (e.g. from TradingAgents-Pro CLI). Creates a shareable public URL. No credit cost.

Request Body (JSON)

tickerstringrequired

Ticker symbol

markdownstringrequired

Report content in markdown (max 500KB)

tierstring

Report tier label (default: cli)

curl -X POST "https://api.thepolarisreport.com/api/v1/reports/upload" \
  -H "Authorization: Bearer YOUR_API_KEY"\
  -H "Content-Type: application/json" \
  -d '{
  "ticker": "NVDA"
}'

Example Response

{
  "status": "ok",
  "report_id": "RPT-abc123",
  "url": "https://thepolarisreport.com/reports/RPT-abc123"
}

Try It

Click Send Request to see response

// Real-Time

GET/api/v1/subscribeSSE
SSEAuth Required1 credit

Real-Time Subscriptions

Subscribe to real-time events via Server-Sent Events. Get instant notifications when briefs publish, sentiment shifts, or prices move for your watched tickers.

Query Parameters

tickersstringrequired

Comma-separated ticker symbols to watch (e.g. NVDA,AAPL,BTC)

eventsstring

Comma-separated event types: brief, sentiment, price, alert (default: all)

curl "https://api.thepolarisreport.com/api/v1/subscribe?tickers=%5B%22NVDA%22%2C%20%22AMD%22%2C%20%22INTC%22%2C%20%22AAPL%22%5D" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

// SSE stream
event: brief
data: {"ticker": "NVDA", "brief_id": "abc123", "headline": "NVIDIA unveils next-gen AI chip architecture", "confidence": 0.94, "timestamp": "2026-03-25T14:22:00Z"}

event: sentiment
data: {"ticker": "NVDA", "score": 0.78, "previous": 0.72, "shift": 0.06, "timestamp": "2026-03-25T14:25:00Z"}

event: price
data: {"ticker": "AAPL", "price": 198.45, "change_pct": 1.2, "volume": 32100000, "timestamp": "2026-03-25T14:30:00Z"}

event: alert
data: {"ticker": "BTC", "alert_id": "xyz789", "type": "price_above", "threshold": 70000, "current": 70150, "timestamp": "2026-03-25T14:31:00Z"}

Try It

Click Send Request to see response

// Agents

GET/api/v1/agents
Auth OptionalFREE

List Agents

Browse the agent marketplace. Returns published agents with metadata, run counts, ratings, and creator info.

Query Parameters

categorystring

Filter by category: trading, research, intelligence, crypto, monitoring, analysis, economy

qstring

Search agents by name or description

sortstring

Sort by: runs, rating, newest (default: runs)

limitnumber

Max results (default: 20, max: 50)

curl "https://api.thepolarisreport.com/api/v1/agents?category=ai_ml&q=AI%20regulation&limit=5" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "agents": [
    {
      "slug": "sentiment-scanner",
      "name": "Sentiment Scanner",
      "description": "Scan any ticker for sentiment signals across the intelligence corpus.",
      "category": "trading",
      "credit_cost": 5,
      "run_count": 1240,
      "avg_rating": 4.6,
      "fork_count": 23,
      "creator_username": "john",
      "is_featured": true,
      "tags": ["sentiment", "trading", "signals"]
    }
  ]
}

Try It

Click Send Request to see response

GET/api/v1/agents/:slug
Auth OptionalFREE

Agent Detail

Full agent details including pipeline definition, input schema, reviews, and run statistics.

Path Parameters

slugstringrequired

Agent slug identifier

curl "https://api.thepolarisreport.com/api/v1/agents/:slug" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "agent": {
    "slug": "sentiment-scanner",
    "name": "Sentiment Scanner",
    "category": "trading",
    "credit_cost": 5,
    "input_schema": {
      "properties": {
        "ticker": { "type": "string", "description": "Stock ticker symbol" }
      },
      "required": ["ticker"]
    },
    "run_count": 1240,
    "avg_rating": 4.6,
    "fork_count": 23,
    "reviews": [
      { "username": "alice", "rating": 5, "comment": "Great for daily scans.", "created_at": "2026-03-20T10:00:00Z" }
    ]
  }
}

Try It

Click Send Request to see response

POST/api/v1/agents/run/:slugSSE
SSEAuth Requiredvaries credits

Run Agent

Execute an agent with the given inputs. Returns an SSE stream with step-by-step progress. Credit cost depends on the agent's pipeline.

Path Parameters

slugstringrequired

Agent slug identifier

Request Body (JSON)

inputsobjectrequired

Input values matching the agent's input_schema (e.g. {"ticker": "NVDA"})

delivery_target_idstring

Optional delivery target for Slack, Discord, or webhook

curl -X POST "https://api.thepolarisreport.com/api/v1/agents/run/:slug" \
  -H "Authorization: Bearer YOUR_API_KEY"\
  -H "Content-Type: application/json" \
  -d '{}'

Example Response

// SSE stream
event: step
data: {"step": 1, "name": "Ticker Lookup", "status": "complete", "result": {...}}

event: step
data: {"step": 2, "name": "Sentiment Analysis", "status": "complete", "result": {...}}

event: complete
data: {"run_id": "run_abc123", "output": {...}, "credits_used": 5, "duration_ms": 3200}

Try It

Click Send Request to see response

GET/api/v1/agents/runs/:id
Auth RequiredFREE

Get Run Output

Retrieve completed run results by run ID. Useful for fetching output after an SSE stream or scheduled run.

Path Parameters

idstringrequired

Run ID returned from the run endpoint

curl "https://api.thepolarisreport.com/api/v1/agents/runs/:id" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "run": {
    "id": "run_abc123",
    "agent_slug": "sentiment-scanner",
    "status": "complete",
    "inputs": { "ticker": "NVDA" },
    "output": {
      "ticker": "NVDA",
      "sentiment": 0.72,
      "signal": "bullish",
      "streak_days": 5
    },
    "credits_used": 5,
    "duration_ms": 3200,
    "created_at": "2026-03-25T14:30:00Z"
  }
}

Try It

Click Send Request to see response

GET/api/v1/agents/leaderboard
Auth OptionalFREE

Leaderboard

Top agents ranked by runs, rating, or forks. Includes creator info and tags.

Query Parameters

sortstring

Sort by: runs, rating, forks (default: runs)

limitnumber

Max results (default: 10, max: 50)

curl "https://api.thepolarisreport.com/api/v1/agents/leaderboard?limit=5" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "agents": [
    {
      "rank": 1,
      "slug": "sentiment-scanner",
      "name": "Sentiment Scanner",
      "category": "trading",
      "run_count": 1240,
      "avg_rating": 4.6,
      "fork_count": 23,
      "creator_username": "john",
      "tags": ["sentiment", "trading"]
    }
  ]
}

Try It

Click Send Request to see response

GET/api/v1/agents/collections
Auth OptionalFREE

Agent Collections

Curated themed collections of agents (e.g. "Morning Trading Stack", "Crypto Research Kit").

curl "https://api.thepolarisreport.com/api/v1/agents/collections" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "collections": [
    {
      "slug": "morning-trading-stack",
      "name": "Morning Trading Stack",
      "description": "Run these agents before market open for a complete trading briefing.",
      "agent_count": 4
    }
  ]
}

Try It

Click Send Request to see response

// User & Billing

GET/api/v1/watchlist/:id/technicalsNEW
NEWAuth Required3 credits

Watchlist Technicals

Live technical indicators for every ticker in your watchlist. Sorted by RSI (most oversold first).

Path Parameters

idstringrequired

Watchlist ID

curl "https://api.thepolarisreport.com/api/v1/watchlist/:id/technicals" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "watchlist_id": "wl_a1b2c3d4",
  "watchlist_name": "Semis Dip Watch",
  "ticker_count": 6,
  "technicals": [
    {
      "ticker": "INTC",
      "entity_name": "Intel",
      "price": 24.85,
      "change_pct": -2.1,
      "rsi_14": 28.4,
      "macd": { "macd": -0.82, "signal": -0.55, "histogram": -0.27 },
      "sma_20": 26.10,
      "sma_50": 27.40,
      "sma_200": 30.15,
      "bollinger": { "upper": 28.50, "middle": 26.10, "lower": 23.70 },
      "signal_summary": { "overall": "sell", "buy": 3, "sell": 8, "neutral": 4 }
    },
    {
      "ticker": "MU",
      "entity_name": "Micron Technology",
      "price": 88.10,
      "change_pct": -1.5,
      "rsi_14": 35.8,
      "macd": { "macd": -1.45, "signal": -0.98, "histogram": -0.47 },
      "sma_20": 92.30,
      "sma_50": 95.10,
      "sma_200": 89.80,
      "bollinger": { "upper": 98.20, "middle": 92.30, "lower": 86.40 },
      "signal_summary": { "overall": "sell", "buy": 5, "sell": 7, "neutral": 3 }
    },
    {
      "ticker": "NVDA",
      "entity_name": "Nvidia",
      "price": 172.70,
      "change_pct": -4.19,
      "rsi_14": 37.8,
      "macd": { "macd": -2.70, "signal": -1.64, "histogram": -1.06 },
      "sma_20": 182.18,
      "sma_50": 184.35,
      "sma_200": 178.92,
      "bollinger": { "upper": 192.90, "middle": 182.18, "lower": 171.46 },
      "signal_summary": { "overall": "sell", "buy": 4, "sell": 10, "neutral": 6 }
    },
    {
      "ticker": "AMD",
      "entity_name": "Advanced Micro Devices",
      "price": 102.30,
      "change_pct": -1.8,
      "rsi_14": 42.5,
      "macd": { "macd": -1.10, "signal": -0.72, "histogram": -0.38 },
      "sma_20": 108.50,
      "sma_50": 112.20,
      "sma_200": 105.40,
      "bollinger": { "upper": 115.80, "middle": 108.50, "lower": 101.20 },
      "signal_summary": { "overall": "neutral", "buy": 6, "sell": 6, "neutral": 3 }
    },
    {
      "ticker": "QCOM",
      "entity_name": "Qualcomm",
      "price": 158.90,
      "change_pct": -0.9,
      "rsi_14": 48.1,
      "macd": { "macd": -0.45, "signal": -0.28, "histogram": -0.17 },
      "sma_20": 162.40,
      "sma_50": 165.80,
      "sma_200": 160.10,
      "bollinger": { "upper": 170.30, "middle": 162.40, "lower": 154.50 },
      "signal_summary": { "overall": "neutral", "buy": 7, "sell": 5, "neutral": 3 }
    },
    {
      "ticker": "AVGO",
      "entity_name": "Broadcom",
      "price": 168.40,
      "change_pct": 0.5,
      "rsi_14": 55.2,
      "macd": { "macd": 0.85, "signal": 0.42, "histogram": 0.43 },
      "sma_20": 165.20,
      "sma_50": 162.80,
      "sma_200": 158.90,
      "bollinger": { "upper": 175.40, "middle": 165.20, "lower": 155.00 },
      "signal_summary": { "overall": "buy", "buy": 9, "sell": 3, "neutral": 3 }
    }
  ],
  "credits_used": 3
}

Try It

Click Send Request to see response

GET/api/v1/usage
Auth RequiredFREE

Usage Stats

Get usage statistics for the authenticated user. Returns credits used, remaining balance, per-endpoint breakdown, and spending data. Works with both API key and JWT authentication.

curl "https://api.thepolarisreport.com/api/v1/usage" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "plan": "usage",
  "billing_model": "usage",
  "calls_today": 1842,
  "monthly_limit": 1000,
  "calls_this_month": 14500,
  "spend_today_usd": 0.84,
  "spend_this_month_usd": 4.70,
  "spending_cap_usd": 50,
  "budget_remaining_usd": 45.30
}

Try It

Click Send Request to see response

POST/api/v1/keys/create
Auth RequiredFREE

Create API Key

Create a new API key. The raw key is returned only once -- store it securely. Requires JWT authentication. Keys can be scoped to specific endpoints or categories.

Request Body (JSON)

namestringrequired

Name for the key (e.g. production, staging)

allowed_endpointsstring[]

Restrict to specific endpoints

allowed_categoriesstring[]

Restrict to specific categories

curl -X POST "https://api.thepolarisreport.com/api/v1/keys/create" \
  -H "Authorization: Bearer YOUR_API_KEY"\
  -H "Content-Type: application/json" \
  -d '{
  "name": "OpenAI"
}'

Example Response

{
  "status": "ok",
  "key": "pr_live_aBcDeFgHiJkLmNoPqRsT...",
  "prefix": "pr_live_aBcD",
  "name": "production",
  "plan": "builder",
  "monthly_limit": 3000
}

Try It

Click Send Request to see response

GET/api/v1/keys
Auth RequiredFREE

List API Keys

List all API keys for the authenticated user. Never returns raw key values -- only prefixes and metadata.

curl "https://api.thepolarisreport.com/api/v1/keys" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "status": "ok",
  "keys": [
    {
      "id": "...",
      "key_prefix": "pr_live_aBcD",
      "name": "production",
      "created_at": "2026-03-09T10:00:00Z",
      "last_used_at": "2026-03-09T11:30:00Z",
      "calls_today": 142,
      "calls_month": 2340
    }
  ]
}

Try It

Click Send Request to see response

POST/api/v1/webhooks
Auth RequiredFREE

Create Webhook

Create a webhook subscription. Receive POST notifications when events occur. Supports raw JSON (HMAC-signed), Slack Block Kit, and Discord embed formats.

Request Body (JSON)

urlstringrequired

HTTPS URL to receive webhook POSTs

eventsstring[]required

Events: brief.published, brief.trending, brief.corrected

formatstring

Payload format: raw (default), slack, or discord

curl -X POST "https://api.thepolarisreport.com/api/v1/webhooks" \
  -H "Authorization: Bearer YOUR_API_KEY"\
  -H "Content-Type: application/json" \
  -d '{}'

Example Response

{
  "status": "ok",
  "webhook": {
    "id": "...",
    "url": "https://your-app.com/webhooks/polaris",
    "events": ["brief.published"],
    "secret": "whsec_aBcDeFgHiJkLmNoPqRsT..."
  }
}

Try It

Click Send Request to see response

// Error Reference

All errors return a JSON body with a message field and HTTP status code.

CodeMeaning
400Bad Request
401Unauthorized
402Payment Required
403Forbidden
404Not Found
429Too Many Requests
500Internal Error
{
  "status": "error",
  "message": "Descriptive error message",
  "code": 429
}

SDKs Available

Python, TypeScript, LangChain, Vercel AI, CrewAI, and MCP. Install with one command.