// 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 / Demo | 10 req/min |
| Builder | 120 req/min |
| Startup | 300 req/min |
| Growth | 600 req/min |
| Scale | 1,200 req/min |
Monthly Limits
| Free | 1,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 windowRateLimit-RemainingRequests remaining in the current windowRateLimit-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
| Endpoint | Credits |
|---|---|
| Feed, Search, Brief, Ticker, Price, Entities, Forex, Commodities | 1 |
| Alerts (create, list, delete, triggered) | 1 |
| Technicals, Financials, Economy, Sentiment History, Signals, DeFi, Earnings, Competitors | 2 |
| Verify, Correlation, News Impact, Watchlist Technicals | 3 |
| Context, Research | 5 |
| Screener, Composite Score | 5 |
| Backtest | 10 |
| Intelligence (cross-category) | 8 |
| Forecast (standard) | 15 |
| Portfolio Feed | 17 |
| 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
NewThe 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
/api/v1/askHeroUniversal 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)
questionstringrequiredYour question in plain English (max 500 chars)
| Name | Type | Required | Description |
|---|---|---|---|
| question | string | Yes | 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
/api/v1/askUniversal 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
qstringrequiredYour question in plain English
| Name | Type | Required | Description |
|---|---|---|---|
| q | string | Yes | 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
/api/v1/ask/popularPopular Queries
Returns the top 10 most-asked questions in the last hour. Updated every 5 minutes. Useful for displaying trending queries or pre-populating search suggestions.
curl "https://api.thepolarisreport.com/api/v1/ask/popular" \ -H "Authorization: Bearer YOUR_API_KEY"
Example Response
{
"status": "ok",
"queries": [
"what's happening with NVDA?",
"is Tesla overvalued?",
"low RSI semiconductors",
"bitcoin price",
"AAPL vs MSFT"
]
}Try It
Click Send Request to see response
// Intelligence
/api/v1/feedList 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
pagenumberPage number (default: 1)
per_pagenumberResults per page (default: 20, max: 50)
categorystringFilter by category slug (e.g. ai_ml, markets, crypto)
sortstringSort order: published (default) or updated
updates_onlybooleanOnly briefs updated with new sources since creation
| Name | Type | Required | Description |
|---|---|---|---|
| page | number | No | Page number (default: 1) |
| per_page | number | No | Results per page (default: 20, max: 50) |
| category | string | No | Filter by category slug (e.g. ai_ml, markets, crypto) |
| sort | string | No | Sort order: published (default) or updated |
| updates_only | boolean | No | 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
/api/v1/agent-feedAgent Feed
Optimized feed for AI agents. Returns structured briefs with confidence scores, bias analysis, and source provenance. Best endpoint for agent consumption.
Query Parameters
limitnumberMax results (default: 20, max: 50)
categorystringFilter by category
min_confidencenumberMinimum confidence score (0-1)
tagsstringComma-separated tags filter
| Name | Type | Required | Description |
|---|---|---|---|
| limit | number | No | Max results (default: 20, max: 50) |
| category | string | No | Filter by category |
| min_confidence | number | No | Minimum confidence score (0-1) |
| tags | string | No | 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
/api/v1/searchSearch Briefs
Intelligent full-text search with weighted ranking, highlights, facets, and related queries. Handles natural language queries and long phrases. Supports three speed tiers: fast (sub-100ms, no highlights), standard (default), and deep (entity cross-references + source verification).
Query Parameters
qstringrequiredSearch query (min 2 chars)
pagenumberPage number (default: 1)
per_pagenumberResults per page (default: 20, max: 50)
sortstringSort: relevance, newest, oldest, confidence, most_sources
categorystringFilter by category slug
min_confidencenumberMinimum confidence score (0-1)
depthstringSpeed tier: fast | standard | deep (default: standard)
fromstringStart date (YYYY-MM-DD)
tostringEnd date (YYYY-MM-DD)
| Name | Type | Required | Description |
|---|---|---|---|
| q | string | Yes | Search query (min 2 chars) |
| page | number | No | Page number (default: 1) |
| per_page | number | No | Results per page (default: 20, max: 50) |
| sort | string | No | Sort: relevance, newest, oldest, confidence, most_sources |
| category | string | No | Filter by category slug |
| min_confidence | number | No | Minimum confidence score (0-1) |
| depth | string | No | Speed tier: fast | standard | deep (default: standard) |
| from | string | No | Start date (YYYY-MM-DD) |
| to | string | No | End date (YYYY-MM-DD) |
curl "https://api.thepolarisreport.com/api/v1/search?q=AI%20regulation&page=1&per_page=5&category=ai_ml&depth=standard" \ -H "Authorization: Bearer YOUR_API_KEY"
Example Response
{
"status": "ok",
"query": "AI regulation",
"total": 847,
"took_ms": 47,
"briefs": [{
"id": "...",
"headline": "EU Enforces AI Act...",
"search_score": 0.82,
"highlights": {
"headline": "EU Enforces <mark>AI</mark> Act...",
"summary": "...new <mark>regulation</mark>s..."
}
}],
"facets": { "ai_ml": 124, "policy": 89, "markets": 45 },
"related_queries": ["AI Act enforcement", "GPT-5 regulation"],
"meta": { "total": 847, "page": 1, "per_page": 20, "sort": "relevance" }
}Try It
Click Send Request to see response
/api/v1/brief/:idGet Brief
Get a single brief by ID with full details including body, sources, bias analysis, counter-arguments, and living brief metadata.
Path Parameters
idstringrequiredBrief ID (e.g. PR-2026-0305-001)
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Brief ID (e.g. PR-2026-0305-001) |
Query Parameters
include_full_textbooleanInclude full extracted article text from raw sources
| Name | Type | Required | Description |
|---|---|---|---|
| include_full_text | boolean | No | 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
/api/v1/verifyVerify 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)
claimstringrequiredThe claim to verify (10-1000 characters)
contextstringCategory to narrow the search (e.g. tech, policy, markets)
| Name | Type | Required | Description |
|---|---|---|---|
| claim | string | Yes | The claim to verify (10-1000 characters) |
| context | string | No | 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
/api/v1/researchDeep 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)
querystringrequiredResearch query (max 500 chars)
max_sourcesnumberMaximum briefs to analyze (1-50, default: 20)
depthstringResearch depth: standard or deep (default: standard)
categorystringFilter briefs by category slug
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | Research query (max 500 chars) |
| max_sources | number | No | Maximum briefs to analyze (1-50, default: 20) |
| depth | string | No | Research depth: standard or deep (default: standard) |
| category | string | No | 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
/api/v1/forecastForecast
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)
topicstringrequiredTopic to forecast (e.g. 'AI chip supply chain')
depthstringDepth: standard ($0.15) or deep ($0.95)
periodstringHistorical lookback period (e.g. 30d, 90d)
timeframestringForecast horizon (e.g. '6 months', '1 year')
| Name | Type | Required | Description |
|---|---|---|---|
| topic | string | Yes | Topic to forecast (e.g. 'AI chip supply chain') |
| depth | string | No | Depth: standard ($0.15) or deep ($0.95) |
| period | string | No | Historical lookback period (e.g. 30d, 90d) |
| timeframe | string | No | 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
/api/v1/contextTopic 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
topicstringrequiredThe topic to get context on (min 2 chars)
periodstringTime window: 7d, 30d, or 90d (default: 30d)
| Name | Type | Required | Description |
|---|---|---|---|
| topic | string | Yes | The topic to get context on (min 2 chars) |
| period | string | No | 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
/api/v1/intelligenceCross-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
topicstringrequiredThe topic to analyze (min 2 chars)
periodstringTime window: 7d, 30d, or 90d (default: 30d)
| Name | Type | Required | Description |
|---|---|---|---|
| topic | string | Yes | The topic to analyze (min 2 chars) |
| period | string | No | 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
/api/v1/screenerNEWStock 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_typestringAsset type filter: equity, etf, crypto (default: equity)
sectorstringSector filter (e.g. Semiconductors, Oil & Gas, Technology)
filtersobjectrequiredFilter 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)
sortstringSort results by: sentiment, rsi, pe_ratio, market_cap, volume (default: sentiment)
limitnumberMax results (default: 20, max: 50)
| Name | Type | Required | Description |
|---|---|---|---|
| asset_type | string | No | Asset type filter: equity, etf, crypto (default: equity) |
| sector | string | No | Sector filter (e.g. Semiconductors, Oil & Gas, Technology) |
| filters | object | Yes | 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) |
| sort | string | No | Sort results by: sentiment, rsi, pe_ratio, market_cap, volume (default: sentiment) |
| limit | number | No | 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
/api/v1/backtestNEWBacktest Strategy
Replay a screening strategy against historical data. Get total return, Sharpe ratio, equity curve, and per-trade breakdown.
Request Body (JSON)
strategy.entry_filtersobjectrequiredEntry criteria (same filter syntax as /screener, e.g. rsi_below, sentiment_above)
strategy.exit_filtersobjectrequiredExit criteria (e.g. rsi_above, sentiment_below, stop_loss_pct)
strategy.asset_typestringAsset type: equity, etf, crypto (default: equity)
strategy.sectorstringSector filter (e.g. Semiconductors, Technology)
periodstringBacktest period: 6mo, 1y, 2y (default: 1y)
rebalancestringRebalance frequency: weekly, monthly (default: weekly)
initial_capitalnumberStarting capital in USD (default: 100000)
max_positionsnumberMax concurrent positions (default: 10)
| Name | Type | Required | Description |
|---|---|---|---|
| strategy.entry_filters | object | Yes | Entry criteria (same filter syntax as /screener, e.g. rsi_below, sentiment_above) |
| strategy.exit_filters | object | Yes | Exit criteria (e.g. rsi_above, sentiment_below, stop_loss_pct) |
| strategy.asset_type | string | No | Asset type: equity, etf, crypto (default: equity) |
| strategy.sector | string | No | Sector filter (e.g. Semiconductors, Technology) |
| period | string | No | Backtest period: 6mo, 1y, 2y (default: 1y) |
| rebalance | string | No | Rebalance frequency: weekly, monthly (default: weekly) |
| initial_capital | number | No | Starting capital in USD (default: 100000) |
| max_positions | number | No | 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
/api/v1/correlationNEWCorrelation Matrix
Compute Pearson correlation matrix for up to 10 tickers. Shows how assets move together.
Request Body (JSON)
tickersstring[]requiredArray of ticker symbols (2-10 tickers, e.g. ["NVDA", "AMD", "INTC"])
daysnumberLookback period in days (default: 90, max: 365)
| Name | Type | Required | Description |
|---|---|---|---|
| tickers | string[] | Yes | Array of ticker symbols (2-10 tickers, e.g. ["NVDA", "AMD", "INTC"]) |
| days | number | No | 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
/api/v1/ticker/:symbolTicker 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
symbolstringrequiredTicker symbol (e.g. NVDA, AAPL, BTC)
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | 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
/api/v1/ticker/:symbol/priceLive Price
Lightweight price-only endpoint. Returns current price, change percentage, and market state. 15s cache on paid plans, 60s on free.
Path Parameters
symbolstringrequiredTicker symbol (e.g. NVDA, AAPL)
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | 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
/api/v1/ticker/:symbol/scoreComposite Score
Composite trading signal combining sentiment velocity, momentum, volume, and events. Returns a 0-1 score with component breakdown and signal label.
Path Parameters
symbolstringrequiredTicker symbol (e.g. NVDA)
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | 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
/api/v1/ticker/:symbol/impactNEWNews Impact
Measure how news moves the stock. Shows 1-day and 3-day price impact for each brief.
Path Parameters
symbolstringrequiredTicker symbol (e.g. NVDA, AAPL)
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | Ticker symbol (e.g. NVDA, AAPL) |
Query Parameters
daysnumberLookback period in days (default: 30, max: 90)
| Name | Type | Required | Description |
|---|---|---|---|
| days | number | No | 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
/api/v1/ticker/:symbol/competitorsNEWCompetitors
Same-sector peers with live price, RSI, sentiment, and news coverage.
Path Parameters
symbolstringrequiredTicker symbol (e.g. NVDA, AAPL)
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | 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
/api/v1/ticker/:symbol/historySentiment 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
symbolstringrequiredTicker symbol (e.g. NVDA)
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | Ticker symbol (e.g. NVDA) |
Query Parameters
daysnumberLookback period in days (default: 30, max: 365)
| Name | Type | Required | Description |
|---|---|---|---|
| days | number | No | 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
/api/v1/ticker/:symbol/signalsSentiment Signals
Detect sentiment shifts for a ticker. Returns days where sentiment moved beyond a threshold, with streak tracking and trigger headlines.
Path Parameters
symbolstringrequiredTicker symbol (e.g. NVDA)
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | Ticker symbol (e.g. NVDA) |
Query Parameters
daysnumberLookback period (default: 30)
thresholdnumberMinimum shift to flag (default: 0.3)
| Name | Type | Required | Description |
|---|---|---|---|
| days | number | No | Lookback period (default: 30) |
| threshold | number | No | 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
/api/v1/portfolio/feedPortfolio 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)
holdingsarrayrequiredArray of { ticker, weight, direction } objects
per_pagenumberResults per page (default: 20)
sincestringTime window (e.g. 2h, 24h)
| Name | Type | Required | Description |
|---|---|---|---|
| holdings | array | Yes | Array of { ticker, weight, direction } objects |
| per_page | number | No | Results per page (default: 20) |
| since | string | No | 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
/api/v1/sectorsSector Rankings
All sectors ranked by brief volume with average sentiment and signal labels. Useful for sector rotation analysis.
Query Parameters
daysnumberLookback period (default: 7)
| Name | Type | Required | Description |
|---|---|---|---|
| days | number | No | 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
/api/v1/alertsNEWCreate 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)
tickerstringrequiredTicker symbol (e.g. NVDA, AAPL, BTC)
alert_typestringrequiredAlert type: price_above, price_below, sentiment_above, sentiment_below, volume_spike, rsi_cross
thresholdnumberrequiredThreshold value (price in USD, sentiment 0-1, RSI 0-100)
callback_urlstringHTTPS URL to POST when alert triggers (optional)
| Name | Type | Required | Description |
|---|---|---|---|
| ticker | string | Yes | Ticker symbol (e.g. NVDA, AAPL, BTC) |
| alert_type | string | Yes | Alert type: price_above, price_below, sentiment_above, sentiment_below, volume_spike, rsi_cross |
| threshold | number | Yes | Threshold value (price in USD, sentiment 0-1, RSI 0-100) |
| callback_url | string | No | 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
/api/v1/alertsNEWList Alerts
List all alerts for the authenticated user. Filter by status to see only active or triggered alerts.
Query Parameters
statusstringFilter by status: active, triggered (default: all)
| Name | Type | Required | Description |
|---|---|---|---|
| status | string | No | 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
/api/v1/alerts/:idNEWDelete Alert
Delete an alert by ID. Only the alert owner can delete their alerts.
Path Parameters
idstringrequiredAlert ID (e.g. alt_8f3a2b1c)
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | 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"
}/api/v1/alerts/triggeredNEWTriggered 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
sincestringISO timestamp to fetch triggers after (default: last 24h)
limitnumberMax results (default: 20, max: 50)
| Name | Type | Required | Description |
|---|---|---|---|
| since | string | No | ISO timestamp to fetch triggers after (default: last 24h) |
| limit | number | No | 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
/api/v1/ticker/:symbol/candlesCandlestick Data
OHLCV candlestick data for equities. Supports daily, weekly, and monthly intervals with configurable date ranges up to 5 years.
Path Parameters
symbolstringrequiredTicker symbol (e.g. NVDA)
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | Ticker symbol (e.g. NVDA) |
Query Parameters
intervalstringCandle interval: 1d, 1wk, 1mo (default: 1d)
rangestringDate range: 1mo, 3mo, 6mo, 1y, 2y, 5y (default: 6mo)
| Name | Type | Required | Description |
|---|---|---|---|
| interval | string | No | Candle interval: 1d, 1wk, 1mo (default: 1d) |
| range | string | No | 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
/api/v1/ticker/:symbol/technicalsTechnical 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
symbolstringrequiredTicker symbol (e.g. NVDA)
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | Ticker symbol (e.g. NVDA) |
Query Parameters
rangestringDate range: 1mo, 3mo, 6mo, 1y (default: 6mo)
| Name | Type | Required | Description |
|---|---|---|---|
| range | string | No | 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
/api/v1/ticker/:symbol/earningsEarnings Estimates
Next earnings date with EPS and revenue estimates for a specific ticker.
Path Parameters
symbolstringrequiredTicker symbol (e.g. AAPL)
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | 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
/api/v1/ticker/:symbol/financialsCompany Financials
Company fundamentals: income statements, balance sheets, key stats (PE, EPS, margins, debt). Equity only, 6hr cache.
Path Parameters
symbolstringrequiredTicker symbol (e.g. AAPL)
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | 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
/api/v1/market/moversMarket 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
/api/v1/market/summaryMarket 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
/api/v1/ticker/:symbol/fullNewCross-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
symbolstringrequiredStock ticker symbol (e.g. NVDA, AAPL, TSLA)
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | 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
/api/v1/ticker/:symbol/insiderInsider Trades
Recent Form 4 insider transactions for a ticker. Shows who bought/sold, share counts, dollar values, and filing dates.
Path Parameters
symbolstringrequiredTicker symbol (e.g. AAPL, NVDA)
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | Ticker symbol (e.g. AAPL, NVDA) |
Query Parameters
limitnumberMax results (default: 20)
daysnumberLookback window in days (default: 90)
| Name | Type | Required | Description |
|---|---|---|---|
| limit | number | No | Max results (default: 20) |
| days | number | No | 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
/api/v1/insider/recentRecent Insider Activity
Latest insider transactions across all tickers. Spot unusual buying or selling activity market-wide.
Query Parameters
limitnumberMax results (default: 20)
typestringFilter by transaction type: buy, sell, all (default: all)
min_valuenumberMinimum dollar value filter
| Name | Type | Required | Description |
|---|---|---|---|
| limit | number | No | Max results (default: 20) |
| type | string | No | Filter by transaction type: buy, sell, all (default: all) |
| min_value | number | No | 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
/api/v1/ticker/:symbol/filingsSEC Filings
SEC EDGAR filings for a ticker. Filter by form type (10-K, 10-Q, 8-K, S-1, etc.).
Path Parameters
symbolstringrequiredTicker symbol (e.g. AAPL, NVDA)
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | Ticker symbol (e.g. AAPL, NVDA) |
Query Parameters
formstringFilter by form type (e.g. 10-K, 10-Q, 8-K, S-1)
limitnumberMax results (default: 20)
| Name | Type | Required | Description |
|---|---|---|---|
| form | string | No | Filter by form type (e.g. 10-K, 10-Q, 8-K, S-1) |
| limit | number | No | 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
/api/v1/filings/searchSearch Filings
Search SEC filings across all companies by keyword.
Query Parameters
qstringrequiredSearch query
formstringFilter by form type (e.g. 10-K, 8-K)
limitnumberMax results (default: 20)
| Name | Type | Required | Description |
|---|---|---|---|
| q | string | Yes | Search query |
| form | string | No | Filter by form type (e.g. 10-K, 8-K) |
| limit | number | No | Max results (default: 20) |
curl "https://api.thepolarisreport.com/api/v1/filings/search?q=AI%20regulation&limit=5" \ -H "Authorization: Bearer YOUR_API_KEY"
Example Response
{
"filings": [
{
"symbol": "AAPL",
"company_name": "Apple Inc.",
"form_type": "8-K",
"filed_date": "2026-03-10",
"filing_url": "https://www.sec.gov/Archives/edgar/data/...",
"description": "Current report — material event disclosure"
}
]
}Try It
Click Send Request to see response
/api/v1/ticker/:symbol/analystsAnalyst Ratings
Wall Street analyst ratings and price targets for a ticker. Includes consensus rating, average/high/low targets, and recent rating changes.
Path Parameters
symbolstringrequiredTicker symbol (e.g. AAPL, NVDA)
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | 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
/api/v1/congress/tradesCongressional Trades
Stock trades reported by members of US Congress under the STOCK Act.
Query Parameters
symbolstringFilter by ticker symbol
chamberstringFilter by chamber: house, senate, all (default: all)
limitnumberMax results (default: 20)
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | No | Filter by ticker symbol |
| chamber | string | No | Filter by chamber: house, senate, all (default: all) |
| limit | number | No | 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
/api/v1/ticker/:symbol/institutionsInstitutional Holders
Top institutional holders from 13F filings. Shows funds, share counts, portfolio weight, and quarter-over-quarter changes.
Path Parameters
symbolstringrequiredTicker symbol (e.g. AAPL, NVDA)
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | Ticker symbol (e.g. AAPL, NVDA) |
Query Parameters
limitnumberMax results (default: 20)
| Name | Type | Required | Description |
|---|---|---|---|
| limit | number | No | 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
/api/v1/forexAll 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
/api/v1/forex/:pairSingle Forex Pair
Single forex pair rate. Supported pairs: EURUSD, GBPUSD, USDJPY, AUDUSD, USDCAD, USDCHF, NZDUSD.
Path Parameters
pairstringrequiredForex pair (e.g. EURUSD, USDJPY)
| Name | Type | Required | Description |
|---|---|---|---|
| pair | string | Yes | 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
/api/v1/commoditiesAll 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
/api/v1/commodities/:symbolSingle Commodity
Single commodity price. Supported: crude, gold, silver, copper, natgas, wheat, corn, coffee, cotton, sugar.
Path Parameters
symbolstringrequiredCommodity slug (e.g. gold, crude, silver)
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | 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
/api/v1/economyEconomic 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
/api/v1/economy/:indicatorSingle 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
indicatorstringrequiredIndicator slug (e.g. cpi, gdp, unemployment)
| Name | Type | Required | Description |
|---|---|---|---|
| indicator | string | Yes | Indicator slug (e.g. cpi, gdp, unemployment) |
Query Parameters
limitnumberNumber of observations (default: 10)
| Name | Type | Required | Description |
|---|---|---|---|
| limit | number | No | 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
/api/v1/economy/yieldsYield 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
/api/v1/cryptoCrypto 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
/api/v1/crypto/topTop Tokens
Top tokens ranked by market cap. 200 tracked tokens available including BTC, ETH, SOL, BNB, XRP, ADA, AVAX, DOGE, DOT, LINK.
Query Parameters
limitnumberNumber of tokens (default: 20, max: 50)
| Name | Type | Required | Description |
|---|---|---|---|
| limit | number | No | 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
/api/v1/crypto/:symbolToken Detail
Extended data for a single token including 1h/24h/7d/30d price changes, all-time high, and market cap ranking.
Path Parameters
symbolstringrequiredToken symbol (e.g. BTC, ETH, SOL)
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | 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
/api/v1/crypto/:symbol/chartToken Price Chart
Price history for a token. Hourly resolution for periods under 2 days, daily for longer periods.
Path Parameters
symbolstringrequiredToken symbol (e.g. BTC, ETH)
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | Token symbol (e.g. BTC, ETH) |
Query Parameters
daysnumberLookback: 1, 7, 14, 30, 90, 180, 365 (default: 30)
| Name | Type | Required | Description |
|---|---|---|---|
| days | number | No | 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
/api/v1/crypto/defiDeFi 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
/api/v1/entitiesSearch Entities
Search and list extracted entities across all published briefs. Returns entity names, types, tickers, and mention counts.
Query Parameters
qstringEntity name search (case-insensitive)
typestringFilter by type: person, organization, location, product, event
limitnumberMax results (default: 20, max: 100)
| Name | Type | Required | Description |
|---|---|---|---|
| q | string | No | Entity name search (case-insensitive) |
| type | string | No | Filter by type: person, organization, location, product, event |
| limit | number | No | 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
/api/v1/entities/:name/briefsEntity Briefs
Get all published briefs that mention a specific entity. Includes a 14-day mention timeline, trend direction, and peak mention count.
Path Parameters
namestringrequiredEntity name (e.g. OpenAI, Nvidia)
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Entity name (e.g. OpenAI, Nvidia) |
Query Parameters
rolestringFilter by entity role: subject, related, mentioned
limitnumberResults per page (default: 20, max: 50)
| Name | Type | Required | Description |
|---|---|---|---|
| role | string | No | Filter by entity role: subject, related, mentioned |
| limit | number | No | 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
/api/v1/eventsStructured Events
Structured events extracted from briefs. Filter by event type (acquisition, funding, launch, partnership, regulation, lawsuit, IPO, bankruptcy), entity, or category.
Query Parameters
typestringEvent type: acquisition, funding, launch, partnership, regulation, lawsuit, ipo, bankruptcy
subjectstringEntity name involved in the event
categorystringFilter by category slug
periodstringTime window: 24h, 7d, 30d (default: 7d)
| Name | Type | Required | Description |
|---|---|---|---|
| type | string | No | Event type: acquisition, funding, launch, partnership, regulation, lawsuit, ipo, bankruptcy |
| subject | string | No | Entity name involved in the event |
| category | string | No | Filter by category slug |
| period | string | No | 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
/api/v1/contradictionsContradictions
Briefs with cross-source disagreements. Surfaces stories where outlets report conflicting facts, filtered by severity.
Query Parameters
severitystringSeverity filter: minor, moderate, major
categorystringFilter by category slug
| Name | Type | Required | Description |
|---|---|---|---|
| severity | string | No | Severity filter: minor, moderate, major |
| category | string | No | 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
/api/v1/reports/generateNEWGenerate 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)
tickerstringrequiredTicker symbol (e.g. NVDA, AAPL, BTC)
tierstringReport tier: quick (10 credits), full (250 credits), or deep (1,000 credits). Default: quick
| Name | Type | Required | Description |
|---|---|---|---|
| ticker | string | Yes | Ticker symbol (e.g. NVDA, AAPL, BTC) |
| tier | string | No | 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
/api/v1/reports/:idNEWGet 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
idstringrequiredReport ID (e.g. RPT-f671e30b)
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | 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
/api/v1/reports/cached/:tickerNEWCached 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
tickerstringrequiredTicker symbol (e.g. NVDA)
| Name | Type | Required | Description |
|---|---|---|---|
| ticker | string | Yes | 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
/api/v1/reportsNEWList Reports
List all reports generated by the authenticated user. Returns most recent first.
Query Parameters
limitnumberMax reports to return (default: 20, max: 50)
| Name | Type | Required | Description |
|---|---|---|---|
| limit | number | No | 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
/api/v1/reports/uploadNEWUpload Report
Upload an externally generated report (e.g. from TradingAgents-Pro CLI). Creates a shareable public URL. No credit cost.
Request Body (JSON)
tickerstringrequiredTicker symbol
markdownstringrequiredReport content in markdown (max 500KB)
tierstringReport tier label (default: cli)
| Name | Type | Required | Description |
|---|---|---|---|
| ticker | string | Yes | Ticker symbol |
| markdown | string | Yes | Report content in markdown (max 500KB) |
| tier | string | No | 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
/api/v1/subscribeSSEReal-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
tickersstringrequiredComma-separated ticker symbols to watch (e.g. NVDA,AAPL,BTC)
eventsstringComma-separated event types: brief, sentiment, price, alert (default: all)
| Name | Type | Required | Description |
|---|---|---|---|
| tickers | string | Yes | Comma-separated ticker symbols to watch (e.g. NVDA,AAPL,BTC) |
| events | string | No | 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
/api/v1/agentsList Agents
Browse the agent marketplace. Returns published agents with metadata, run counts, ratings, and creator info.
Query Parameters
categorystringFilter by category: trading, research, intelligence, crypto, monitoring, analysis, economy
qstringSearch agents by name or description
sortstringSort by: runs, rating, newest (default: runs)
limitnumberMax results (default: 20, max: 50)
| Name | Type | Required | Description |
|---|---|---|---|
| category | string | No | Filter by category: trading, research, intelligence, crypto, monitoring, analysis, economy |
| q | string | No | Search agents by name or description |
| sort | string | No | Sort by: runs, rating, newest (default: runs) |
| limit | number | No | 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
/api/v1/agents/:slugAgent Detail
Full agent details including pipeline definition, input schema, reviews, and run statistics.
Path Parameters
slugstringrequiredAgent slug identifier
| Name | Type | Required | Description |
|---|---|---|---|
| slug | string | Yes | 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
/api/v1/agents/run/:slugSSERun 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
slugstringrequiredAgent slug identifier
| Name | Type | Required | Description |
|---|---|---|---|
| slug | string | Yes | Agent slug identifier |
Request Body (JSON)
inputsobjectrequiredInput values matching the agent's input_schema (e.g. {"ticker": "NVDA"})
delivery_target_idstringOptional delivery target for Slack, Discord, or webhook
| Name | Type | Required | Description |
|---|---|---|---|
| inputs | object | Yes | Input values matching the agent's input_schema (e.g. {"ticker": "NVDA"}) |
| delivery_target_id | string | No | 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
/api/v1/agents/runs/:idGet Run Output
Retrieve completed run results by run ID. Useful for fetching output after an SSE stream or scheduled run.
Path Parameters
idstringrequiredRun ID returned from the run endpoint
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | 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
/api/v1/agents/leaderboardLeaderboard
Top agents ranked by runs, rating, or forks. Includes creator info and tags.
Query Parameters
sortstringSort by: runs, rating, forks (default: runs)
limitnumberMax results (default: 10, max: 50)
| Name | Type | Required | Description |
|---|---|---|---|
| sort | string | No | Sort by: runs, rating, forks (default: runs) |
| limit | number | No | 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
/api/v1/agents/featuredFeatured Agents
Curated list of featured agents hand-picked by the Polaris team.
curl "https://api.thepolarisreport.com/api/v1/agents/featured" \ -H "Authorization: Bearer YOUR_API_KEY"
Example Response
{
"agents": [
{
"slug": "sentiment-scanner",
"name": "Sentiment Scanner",
"category": "trading",
"credit_cost": 5,
"run_count": 1240,
"avg_rating": 4.6,
"creator_username": "john",
"is_featured": true
}
]
}Try It
Click Send Request to see response
/api/v1/agents/collectionsAgent 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
/api/v1/watchlist/:id/technicalsNEWWatchlist Technicals
Live technical indicators for every ticker in your watchlist. Sorted by RSI (most oversold first).
Path Parameters
idstringrequiredWatchlist ID
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | 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
/api/v1/usageUsage 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
/api/v1/keys/createCreate 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)
namestringrequiredName for the key (e.g. production, staging)
allowed_endpointsstring[]Restrict to specific endpoints
allowed_categoriesstring[]Restrict to specific categories
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Name for the key (e.g. production, staging) |
| allowed_endpoints | string[] | No | Restrict to specific endpoints |
| allowed_categories | string[] | No | 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
/api/v1/keysList 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
/api/v1/webhooksCreate 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)
urlstringrequiredHTTPS URL to receive webhook POSTs
eventsstring[]requiredEvents: brief.published, brief.trending, brief.corrected
formatstringPayload format: raw (default), slack, or discord
| Name | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | HTTPS URL to receive webhook POSTs |
| events | string[] | Yes | Events: brief.published, brief.trending, brief.corrected |
| format | string | No | 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.
| Code | Meaning | Common Causes | Fix |
|---|---|---|---|
| 400 | Bad Request | Missing required params, invalid JSON | Check parameters and body format |
| 401 | Unauthorized | Missing or invalid API key / JWT | Verify your API key is correct |
| 402 | Payment Required | MPP-gated endpoint, no payment | Follow the 402 payment challenge or use a plan key |
| 403 | Forbidden | Key lacks endpoint/category access | Check key scopes in developer portal |
| 404 | Not Found | Invalid endpoint path or resource ID | Verify the URL and resource exist |
| 429 | Too Many Requests | Rate or spending limit exceeded | Back off; check RateLimit-* headers |
| 500 | Internal Error | Server-side issue | Retry after a short delay |
{
"status": "error",
"message": "Descriptive error message",
"code": 429
}SDKs Available
Python, TypeScript, LangChain, Vercel AI, CrewAI, and MCP. Install with one command.