
Funda Data
- 1.1k installs
- 3.1k repo stars
- Updated July 21, 2026
- himself65/finance-skills
funda-data is an agent skill that queries Funda AI analyst-grade financial synthesis and 60+ REST data endpoints for developers who need market research and structured quotes inside Claude or Cursor.
About
funda-data is a Claude and Cursor agent skill that routes financial research to Funda AI through MCP synthesis and REST data fallbacks. The skill prefers Funda AI's MCP server at https://funda.ai/api/mcp, which exposes a single agent_chat tool for earnings previews, beat-miss decomposition, analyst estimate-revision trends, and SEC filing analysis. When the MCP path declines raw feeds, funda-data falls back to Funda's REST API at https://api.funda.ai/v1 with FUNDA_API_KEY bearer auth across 60+ endpoints covering real-time quotes, intraday candles, options chains, single line items, and bulk downloads. OAuth for the MCP path is automated via claude mcp add. Reach for funda-data when building fintech features, equity research automations, or agent workflows that need analyst synthesis plus deterministic market data without hand-rolling API clients.
- MCP server at https://funda.ai/api/mcp with single agent_chat tool for research synthesis
- 60+ REST API endpoints at https://api.funda.ai/v1 for raw structured financial data
- Prefers MCP for synthesis and falls back to REST for real-time quotes, intraday candles, options chains and bulk data
- OAuth auto-setup via claude mcp add for MCP path
- Bearer token auth with FUNDA_API_KEY for REST path
Funda Data by the numbers
- 1,071 all-time installs (skills.sh)
- +29 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #134 of 1,106 Finance & Trading skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/himself65/finance-skills --skill funda-dataAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1.1k |
|---|---|
| repo stars | ★ 3.1k |
| Security audit | 0 / 3 scanners passed |
| Last updated | July 21, 2026 |
| Repository | himself65/finance-skills ↗ |
How do you query Funda AI financial data in Claude?
Query analyst-grade financial data and synthesis from Funda AI directly inside Claude or Cursor.
Who is it for?
Developers building fintech agents, equity research automations, or market-data integrations who already use Claude, Cursor, or bearer-authenticated REST pipelines.
Skip if: Developers who need free public market APIs only, offline spreadsheets, or trading execution without a Funda AI account and API credentials.
When should I use this skill?
A developer asks for earnings previews, estimate revisions, SEC filing analysis, real-time quotes, or options data and mentions Funda AI, MCP, or financial API integration.
What you get
Analyst synthesis responses, structured quote payloads, options chain data, and SEC filing insights from Funda AI MCP or REST calls.
- MCP research synthesis
- REST quote and options payloads
- SEC and earnings analysis responses
By the numbers
- Exposes 60+ REST API endpoints at https://api.funda.ai/v1
- Uses a single agent_chat MCP tool at https://funda.ai/api/mcp
Files
Funda AI Skill
Funda AI exposes two complementary surfaces backed by the same data:
| Surface | Best for | Auth | Output |
|---|---|---|---|
MCP agent_chat at https://funda.ai/api/mcp | Research, analysis, synthesis | OAuth (auto via claude mcp add) | Synthesized text with disclaimer |
REST /v1/* at https://api.funda.ai | Raw structured data | FUNDA_API_KEY Bearer | JSON |
Both require an active Funda AI subscription.
---
Step 1: Decide Which Surface
| User wants | Surface |
|---|---|
| DCF / comps walkthrough, sector view, transcript synthesis, company primer | MCP |
| Earnings preview/recap with judgment, beat-miss decomposition, narrative framing | MCP |
| Real-time or intraday quote, EOD price history | REST |
| Raw options chain snapshot, greeks, GEX time series | REST |
| Specific line item from a financial statement (single number, JSON) | REST |
| 13F filings, insider trades, congressional trades as rows | REST |
| News with structured sentiment / event timeline (JSON) | REST |
| Bulk dataset downloads | REST |
| AI-company hiring signals (OpenAI, Anthropic, Google, xAI) | REST |
Default to MCP for ambiguous research-style questions. Use REST when the user wants machine-readable structured data — or when the MCP refuses (real-time prices, raw quotes).
The MCP also refuses buy/sell calls, price targets, personalized portfolio advice, tax/legal advice, and trade execution. Those are out of scope for both surfaces — decline politely and don't fall through to REST hoping for a different answer.
---
Step 2: MCP Flow (Research)
2a. Verify the MCP is connected
!`claude mcp list 2>/dev/null | grep -iE "^funda:" || echo "FUNDA_MCP_NOT_CONNECTED"`- A line starting with
funda:→ registered. The tool is callable asmcp__funda__agent_chat. Continue. FUNDA_MCP_NOT_CONNECTED→ ask the user to install:
claude mcp add --transport http funda https://funda.ai/api/mcpA browser tab opens for OAuth approval (1-hour token + 30-day refresh, auto-managed). The Claude Code session may need to be restarted before the tool registers.
2b. Frame the question
agent_chat is a fresh research turn with no cross-call memory — bake the ticker, time horizon, and assumptions into the question text itself.
| User wants | Question shape |
|---|---|
| Earnings preview | "Preview MSFT's Q3 print Thursday — segment trends, where consensus is aggressive/conservative, beat/miss pattern." |
| Earnings recap | "Walk through NVDA Q2: beat/miss by segment, guide vs consensus, transcript Q&A on data-center demand." |
| Sector deep-dive | "Summarize the 2026 hyperscaler capex cycle — spending tiers by name, supplier exposure, gross-margin implications." |
| Supply chain | "Map TSMC's customer concentration and N2 ramp risks — top three exposures by revenue." |
| Filing summary | "Diff the new risk factors in PLTR's latest 10-K versus the prior year." |
| DCF | "Walk through a DCF for NVDA assuming 25% data-center growth, 10% terminal margin, 9% WACC — surface the sensitivity table." |
| Macro | "Where in the Dalio long-term debt cycle is the US, and what does that imply for duration positioning?" |
| Ownership | "Has institutional ownership of CRWD shifted in the latest 13F filings — net buyers vs sellers?" |
If the user gave only a ticker, ask one clarifying question to scope the turn (preview? recap? primer? DCF?) before calling — vague questions burn a turn and return vague answers.
If the user is following up on a prior Funda response, quote the relevant paragraph back inside the new question; the agent has no memory of prior calls.
For more example questions per topic, see references/research-topics.md.
2c. Call the tool
mcp__funda__agent_chat(question: "<full research question>")Typical run is 15–60 seconds; the server streams progress notifications throughout, so the client doesn't time out.
Response shape:
content[0].text— answer prefixed with[Funda research output — fundamental analysis, informational only…]. Keep the prefix._meta["funda.io/conversation_id"]— UUID. The in-app history page ishttps://funda.ai/agent-chat?c=<id>(the/agent-chatroute redirects to/agent-chat-v2?c=<id>)._meta["funda.io/timed_out"]—trueif the agent hit its run budget. Answer is partial; offer to retry with a tighter scope.
If the call returns 403 subscription_required, the MCP is registered but the account isn't subscribed — direct the user to https://funda.ai to activate.
Each call costs a research turn. Don't speculatively re-call with a rephrased question if the first answer was reasonable.
---
Step 3: REST Flow (Raw Data)
3a. Resolve FUNDA_API_KEY
The skill resolves FUNDA_API_KEY in this order: 1. FUNDA_API_KEY environment variable 2. FUNDA_API_KEY in .env in the current directory 3. FUNDA_API_KEY in .env at the git repo root (so a worktree inherits the key from the main checkout)
!`if [ -n "$FUNDA_API_KEY" ]; then echo "KEY_FROM_ENV_VAR"; elif [ -f .env ] && grep -qE "^FUNDA_API_KEY=" .env; then echo "KEY_FROM_LOCAL_DOTENV:$(pwd)/.env"; else GIT_COMMON=$(git rev-parse --path-format=absolute --git-common-dir 2>/dev/null); if [ -n "$GIT_COMMON" ]; then ROOT=$(dirname "$GIT_COMMON"); if [ -f "$ROOT/.env" ] && grep -qE "^FUNDA_API_KEY=" "$ROOT/.env"; then echo "KEY_FROM_ROOT_DOTENV:$ROOT/.env"; else echo "KEY_NOT_SET"; fi; else echo "KEY_NOT_SET"; fi; fi`Then act on the result:
KEY_FROM_ENV_VAR— use$FUNDA_API_KEYdirectly in curl calls.KEY_FROM_LOCAL_DOTENV:<path>/KEY_FROM_ROOT_DOTENV:<path>— load once before calling:
export FUNDA_API_KEY=$(grep -E "^FUNDA_API_KEY=" <path> | head -1 | cut -d= -f2- | sed 's/^["'\'']//;s/["'\'']$//')KEY_NOT_SET— ask the user for their key. They can eitherexport FUNDA_API_KEY="..."or addFUNDA_API_KEY=...to.envat the repo root (preferred for worktrees).
3b. Find the right endpoint
Match the user's request to a category and read the corresponding reference file for full parameters and response schemas.
| Category | Endpoint family | Reference |
|---|---|---|
| Real-time / batch / aftermarket quotes | /v1/quotes?type=... | references/market-data.md |
| Historical EOD, intraday candles, technical indicators | /v1/stock-price, /v1/charts | references/market-data.md |
| Commodity / forex / crypto quotes | /v1/quotes?type=commodity-quotes | references/market-data.md |
| Income / balance / cash flow / metrics / ratios | /v1/financial-statements | references/fundamentals.md |
| Company profile, peers, shares float, search, screener, list | /v1/company-profile, /v1/company-details, /v1/search, /v1/companies | references/fundamentals.md |
| Analyst estimates, price targets, grades, DCF, ratings | /v1/analyst?type=... | references/fundamentals.md |
| Options chain, greeks, GEX, IV, max pain, flow, screener | /v1/options/... | references/options.md |
| Supply-chain KG: suppliers, customers, competitors, partners | /v1/supply-chain/... | references/supply-chain.md |
| Twitter, Reddit, Polymarket, government trading, ownership | /v1/twitter-posts, /v1/reddit-posts, /v1/polymarket/..., /v1/government-trading, /v1/ownership | references/alternative-data.md |
| AI-enriched news + aggregated sentiment + event timeline | /v1/news/ticker, /v1/news/timeline, /v1/news/sentiment | references/news-enriched.md |
| SEC filings, earnings/podcast transcripts, research reports | /v1/sec-filings, /v1/transcripts, /v1/investment-research-reports | references/filings-transcripts.md |
| Earnings / dividend / IPO / splits / economic calendar | /v1/calendar?type=... | references/calendar-economics.md |
| Treasury rates, GDP/CPI indicators, FRED, risk premium | /v1/economics, /v1/fred | references/calendar-economics.md |
| Stock news, gainers/losers, ETF holdings, ESG, COT, bulk, market hours | /v1/news, /v1/market-performance, /v1/funds, /v1/esg, /v1/cot-report, /v1/bulk, /v1/market-hours | references/other-data.md |
| AI-company hiring signals (OpenAI, Anthropic, Google, xAI, Mercor, SurgeAI) | /v1/recruit-... | references/recruit.md |
| Claude API proxy via Bedrock | /v1/claude/v1/messages | references/claude-proxy.md |
3c. Call the endpoint
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/<endpoint>?<params>" | python3 -m json.toolAll responses are {"code": "0", "message": "", "data": ...}. A non-zero code is an error — read message.
List endpoints paginate: {"items": [...], "page": 0, "page_size": 20, "next_page": 1, "total_count": N}. Pages are 0-based; next_page is -1 when exhausted.
For broad ticker overviews ("tell me about AAPL"), combine a few REST calls: /v1/company-profile for sector/CEO/mcap/price + /v1/financial-statements?type=key-metrics-ttm + /v1/analyst?type=price-target-summary.
---
Step 4: Respond to the User
- For MCP synthesis: surface with structure (tables, bullets, headings) — don't dump the raw blob. Preserve the Funda disclaimer; never repackage analysis as a recommendation, price target, or trade signal.
- For MCP responses, cite
https://funda.ai/agent-chat?c={conversation_id}so the user can inspect the agent's full timeline. - For REST responses, format numbers cleanly (prices to 2 decimals, ratios to 2-4, large numbers with commas or abbreviations like
$2.8T). Use tables for comparative data; summarize trends rather than dumping time series. - For DCF / valuation work, surface the assumptions Funda used so the user can adjust them.
- Note the source: "Funda AI" (whether MCP or REST).
- Never provide trading recommendations — present the data and let the user draw conclusions.
---
Reference Files
MCP path:
references/research-topics.md— categorized example questions and tips for framingagent_chatqueries.
REST path:
references/market-data.md— quotes, historical prices, charts, technical indicatorsreferences/fundamentals.md— financial statements, company profile/details, search/screener, analyst, companies listreferences/options.md— chains, greeks, GEX, flow, IV, screener, contract-level datareferences/supply-chain.md— supply-chain KG, relationships, graph traversalreferences/alternative-data.md— Twitter, Reddit, Polymarket, government trading, ownershipreferences/news-enriched.md— AI-enriched news, event timeline, aggregated sentimentreferences/filings-transcripts.md— SEC filings, earnings/podcast transcripts, research reportsreferences/calendar-economics.md— calendars, economics, treasury, FREDreferences/other-data.md— news, market performance, funds, ESG, COT, bulk, market hoursreferences/recruit.md— AI-company hiring signals, JD classifications, product clusters, launch probabilitiesreferences/claude-proxy.md— Claude API proxy via Bedrock
Funda Data
Query Funda AI financial data via two complementary surfaces:
- MCP server at
https://funda.ai/api/mcp— singleagent_chattool for analyst-grade research synthesis. OAuth (auto viaclaude mcp add). - REST API at
https://api.funda.ai/v1— 60+ endpoints for raw structured data.FUNDA_API_KEYBearer auth.
The skill prefers the MCP for research/analysis questions and falls back to REST for raw data the MCP declines (real-time quotes, intraday candles, raw options chains, single line items, bulk downloads).
Triggers
MCP path (synthesis):
- Earnings previews/recaps, beat-miss decomposition
- Analyst estimate-revision trends
- SEC filing summaries (10-K, 10-Q, 8-K, S-1)
- Earnings call transcript digestion
- Company primers, competitive positioning, supply-chain mapping
- Sector deep-dives (semis, pharma, banks, retail, energy, mining, housing)
- DCF and comps modelling against caller-supplied assumptions
- Macro framing (Fed stance, Dalio quadrant, sector rotation)
REST path (raw data):
- Real-time / intraday / EOD prices and quotes
- Financial statements (income, balance sheet, cash flow) as structured JSON
- Options chains, greeks, GEX, IV, max pain, flow alerts
- Supply-chain knowledge graph (raw edges)
- Twitter, Reddit, Polymarket, congressional trades, ownership (13F)
- News, calendars, FRED, ESG, COT, AI-company hiring signals
Triggers on any mention of "funda", "funda.ai", or specific endpoints/topics above.
Out of Scope (Both Surfaces)
The Funda agent (and this skill) will not:
- Issue buy / sell / hold recommendations or price targets
- Provide personalized investment advice or portfolio allocation
- Give tax, legal, or regulatory advice
- Execute trades
Platform
CLI only — requires Claude Code (or another MCP-aware client with shell access) so claude mcp add and the curl-based REST flow both work.
Setup
Paid service — A Funda AI subscription is required. The MCP returns 403 subscription_required and the REST API rejects unsubscribed keys.MCP
claude mcp add --transport http funda https://funda.ai/api/mcpA browser tab opens for OAuth. The access token lasts 1 hour and auto-refreshes via a 30-day refresh token. Restart your Claude Code session after approval so the tool registers.
To remove later: claude mcp remove funda.
REST
Get an API key from Funda AI, then either:
export FUNDA_API_KEY="your-api-key-here"…or add FUNDA_API_KEY=... to .env at the repo root (preferred when working across worktrees — the skill resolves the key from env, local .env, then the repo-root .env).
Reference Files
| File | Path | Description |
|---|---|---|
references/research-topics.md | MCP | Example research questions per topic and framing tips for agent_chat |
references/market-data.md | REST | Quotes, historical prices, charts, technical indicators |
references/fundamentals.md | REST | Financial statements, company details, search/screener, analyst data |
references/options.md | REST | Chains, greeks, GEX, flow, IV, screener, contracts |
references/supply-chain.md | REST | Supply-chain KG, relationships, graph traversal |
references/alternative-data.md | REST | Twitter, Reddit, Polymarket, government trading, ownership |
references/news-enriched.md | REST | AI-enriched news, event timeline, aggregated sentiment |
references/filings-transcripts.md | REST | SEC filings, earnings/podcast transcripts, research reports |
references/calendar-economics.md | REST | Calendars, economics, treasury, FRED |
references/other-data.md | REST | News, market performance, funds, ESG, COT, bulk |
references/recruit.md | REST | AI-company hiring signals |
references/claude-proxy.md | REST | Claude API proxy via Bedrock |
Alternative Data Reference
Social sentiment (Twitter, Reddit), prediction markets (Polymarket), government trading, and ownership data.
---
GET /v1/twitter-posts
Tweets from financial KOLs (key opinion leaders).
Parameters
| Param | Type | Default | Description |
|---|---|---|---|
author_username | string | - | Filter by username (exact match) |
ticker | string | - | Filter by ticker |
lang | string | - | Language code (e.g., en, zh) |
is_reply | bool | - | Filter replies |
is_retweet | bool | - | Filter retweets |
is_quote | bool | - | Filter quote tweets |
search | string | - | Search tweet text (case-insensitive) |
tweeted_after | datetime | - | ISO 8601 datetime |
tweeted_before | datetime | - | ISO 8601 datetime |
order | string | -tweeted_at | Sort field |
page | int | 0 | Page (0-based) |
page_size | int | 20 | Items per page (max: 1000) |
Response fields: tweet_id, url, author_username, author_name, text, lang, retweet_count, reply_count, like_count, view_count, tickers, tweeted_at.
GET /v1/twitter-posts/{id}
Full details including entities, quoted_tweet, author profile.
# Tweets mentioning AAPL
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/twitter-posts?ticker=AAPL&page_size=10"
# Search tweets
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/twitter-posts?search=nvidia+earnings&page_size=10"---
GET /v1/reddit-posts
Reddit posts from finance subreddits (wallstreetbets, stocks, etc.).
Parameters
| Param | Type | Default | Description |
|---|---|---|---|
subreddit | string | - | Filter by subreddit |
author | string | - | Filter by author |
ticker | string | - | Filter by ticker |
is_self | bool | - | Text post (true) or link post (false) |
link_flair_text | string | - | Filter by flair (e.g., DD, Discussion, YOLO) |
search | string | - | Search post title (case-insensitive) |
posted_after | datetime | - | ISO 8601 datetime |
posted_before | datetime | - | ISO 8601 datetime |
order | string | -posted_at | Sort field |
page | int | 0 | Page (0-based) |
page_size | int | 20 | Max: 1000 |
Response fields: post_id, subreddit, author, title, selftext, link_flair_text, score, upvote_ratio, num_comments, tickers, posted_at.
GET /v1/reddit-comments
Reddit comments from finance subreddits.
Parameters
| Param | Type | Default | Description |
|---|---|---|---|
subreddit | string | - | Filter by subreddit |
post_id | string | - | Filter by post ID |
author | string | - | Filter by author |
ticker | string | - | Filter by ticker |
search | string | - | Search comment body |
commented_after | datetime | - | ISO 8601 |
commented_before | datetime | - | ISO 8601 |
order | string | -commented_at | Sort |
page | int | 0 | Page |
page_size | int | 20 | Max: 1000 |
# WSB posts about TSLA
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/reddit-posts?subreddit=wallstreetbets&ticker=TSLA&page_size=10"
# DD posts on r/stocks
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/reddit-posts?subreddit=stocks&link_flair_text=DD&page_size=10"---
GET /v1/polymarket/markets
Search prediction markets from Polymarket.
Parameters
| Param | Type | Default | Description |
|---|---|---|---|
keyword | string | - | Search in question/description |
active | bool | - | Filter active markets |
closed | bool | - | Filter closed markets |
tag | string | - | Filter by tag (crypto, sports, politics) |
order | string | - | Sort (volume24hr, liquidity, createdAt) |
ascending | bool | false | Sort direction |
limit | int | 20 | Max: 100 |
offset | int | 0 | Pagination offset |
Response fields: id, question, outcomes, outcome_prices, volume, volume_24hr, liquidity, active, closed, end_date.
GET /v1/polymarket/events
Search prediction market events (groups of related markets).
Same parameters as /markets. Response additionally includes a markets array with nested market details.
# Bitcoin prediction markets
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/polymarket/markets?keyword=bitcoin&active=true&order=volume24hr"
# Political events
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/polymarket/events?tag=politics&active=true"---
GET /v1/government-trading
Congressional stock trades (Senate & House).
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Data type (see below) |
ticker | string | No | Stock ticker |
name | string | No | Member name (for by-name types) |
page | int | No | Page (0-based) |
limit | int | No | Max results (default: 20) |
Types
| Type | Description |
|---|---|
senate-latest | Latest Senate trades |
house-latest | Latest House trades |
senate-trades | Senate trades for a ticker |
senate-trades-by-name | Senate trades by member name |
house-trades | House trades for a ticker |
house-trades-by-name | House trades by member name |
Response fields: disclosureDate, transactionDate, ticker, name, assetDescription, type (Purchase/Sale), amount, representative, district.
# Latest Senate trades
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/government-trading?type=senate-latest&limit=20"
# Congressional trades in NVDA
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/government-trading?type=senate-trades&ticker=NVDA"---
GET /v1/ownership
Institutional ownership (13F) and insider trades (Form 4).
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Data type (see below) |
ticker | string | No | Stock ticker |
cik | string | No | CIK (for institutional types) |
name | string | No | Insider name (for insider-by-name) |
year | int | No | Year filter |
quarter | int | No | Quarter (1-4) |
page | int | No | Page (0-based) |
limit | int | No | Max results (default: 20) |
Institutional Types (13F)
| Type | Description |
|---|---|
institutional-latest | Latest institutional holders for a ticker |
institutional-extract | Holdings by CIK or ticker |
institutional-filing-dates | 13F filing dates for a holder |
institutional-analytics | Portfolio analytics for an institution |
institutional-holder-performance | Holder performance summary |
institutional-holder-industry | Industry breakdown |
institutional-positions | Position summary for a ticker |
institutional-industry-summary | Industry-level ownership summary |
Insider Types (Form 4)
| Type | Description |
|---|---|
insider-latest | Latest insider trades (all tickers) |
insider-search | Insider trades for a ticker |
insider-by-name | Trades by person name |
insider-transaction-types | Transaction type codes |
insider-statistics | Insider trading statistics |
insider-acquisition-ownership | Acquisition of ownership filings |
# Top institutional holders of AAPL
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/ownership?type=institutional-latest&ticker=AAPL&limit=10"
# Recent insider trades in TSLA
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/ownership?type=insider-search&ticker=TSLA&limit=10"
# Latest insider trades across all stocks
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/ownership?type=insider-latest&limit=20"Calendar & Economics Reference
---
GET /v1/calendar
Corporate event calendars and earnings transcripts.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Data type (see below) |
ticker | string | No | Stock ticker |
date_after | string | No | Start date (YYYY-MM-DD) |
date_before | string | No | End date (YYYY-MM-DD) |
year | int | No | Year (for transcripts) |
quarter | int | No | Quarter 1-4 (for transcripts) |
page | int | No | Page (0-based) |
limit | int | No | Max results (default: 20) |
Calendar Types
| Type | Description |
|---|---|
earnings | Historical earnings (EPS actual vs estimate, revenue) |
earnings-calendar | Upcoming earnings announcements |
dividends | Historical dividend payments |
dividends-calendar | Upcoming dividend dates |
ipos-calendar | Upcoming IPOs |
ipos-disclosure | IPO disclosure documents |
ipos-prospectus | IPO prospectus filings |
splits | Historical stock splits |
splits-calendar | Upcoming stock splits |
economic-calendar | Economic events (Fed, GDP, CPI, etc.) |
Transcript Types
| Type | Description |
|---|---|
transcript-latest | Latest earnings transcript for a ticker |
transcript | Transcript for specific quarter/year |
transcript-dates | Available transcript dates |
transcript-symbols | Tickers with available transcripts |
Examples
# Upcoming earnings this week
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/calendar?type=earnings-calendar&date_after=2026-03-31&date_before=2026-04-04"
# Historical earnings for AAPL
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/calendar?type=earnings&ticker=AAPL&limit=8"
# Dividend calendar
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/calendar?type=dividends-calendar&date_after=2026-04-01&date_before=2026-04-30"
# Economic calendar
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/calendar?type=economic-calendar&date_after=2026-03-31&date_before=2026-04-07"
# Latest earnings transcript
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/calendar?type=transcript-latest&ticker=AAPL"Earnings calendar response fields: date, ticker, eps, epsEstimated, time (amc/bmo), revenue, revenueEstimated, fiscalDateEnding.
---
GET /v1/economics
Economic indicators, treasury rates, and market risk premium.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Data type (see below) |
indicator | string | No | Indicator name (for indicators type) |
date_after | string | No | Start date (YYYY-MM-DD) |
date_before | string | No | End date (YYYY-MM-DD) |
Types
| Type | Description |
|---|---|
treasury-rates | U.S. Treasury rates (1M–30Y) |
indicators | Economic indicators (requires indicator param) |
market-risk-premium | Market risk premium by country |
Available Indicators
| Indicator | Description |
|---|---|
GDP | Gross Domestic Product |
realGDP | Real GDP |
realGDPPerCapita | Real GDP per Capita |
federalFunds | Federal Funds Rate |
CPI | Consumer Price Index |
inflationRate | Inflation Rate |
retailSales | Retail Sales |
consumerSentiment | Consumer Sentiment |
durableGoods | Durable Goods Orders |
unemploymentRate | Unemployment Rate |
totalNonfarmPayroll | Nonfarm Payroll |
initialClaims | Initial Jobless Claims |
industrialProductionTotalIndex | Industrial Production Index |
newPrivatelyOwnedHousingUnitsStartedTotalUnits | Housing Starts |
totalVehicleSales | Total Vehicle Sales |
smoothedUSRecessionProbabilities | Recession Probability |
30YearFixedRateMortgageAverage | 30-Year Mortgage Rate |
15YearFixedRateMortgageAverage | 15-Year Mortgage Rate |
Examples
# Treasury rates
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/economics?type=treasury-rates&date_after=2026-01-01"
# GDP data
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/economics?type=indicators&indicator=GDP&date_after=2023-01-01"
# Unemployment rate
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/economics?type=indicators&indicator=unemploymentRate"
# CPI
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/economics?type=indicators&indicator=CPI"
# Market risk premium
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/economics?type=market-risk-premium"Treasury rates response fields: date, month1, month2, month3, month6, year1, year2, year3, year5, year7, year10, year20, year30.
---
GET /v1/fred
FRED series data: sector indices, money supply, PCE, trade balance.
Uses type parameter. See full docs at https://api.funda.ai/docs/fred.md.
Claude API Proxy (Bedrock) Reference
Proxy for the Anthropic Messages API via AWS Bedrock. Lets team members use Claude Code (and any Anthropic SDK) without individual AWS credentials.
Endpoint
POST https://api.funda.ai/v1/claude/v1/messagesBase URL (for Anthropic SDK configuration): https://api.funda.ai/v1/claude
Authentication
Standard Funda auth: Authorization: Bearer <FUNDA_API_KEY>. The Anthropic SDK's x-api-key header is automatically converted to Authorization: Bearer by the proxy middleware.
Response format
Responses follow the standard Anthropic Messages API format — they are not wrapped in {"code","message","data"}. Streaming (SSE) is fully supported.
Model mapping
| Anthropic model ID | Bedrock inference profile |
|---|---|
claude-opus-4-6 | us.anthropic.claude-opus-4-6-v1 |
claude-sonnet-4-6 | us.anthropic.claude-sonnet-4-6 |
claude-opus-4-5-20251101 | us.anthropic.claude-opus-4-5-20251101-v1:0 |
claude-sonnet-4-5-20250929 | us.anthropic.claude-sonnet-4-5-20250929-v1:0 |
claude-haiku-4-5-20251001 | us.anthropic.claude-haiku-4-5-20251001-v1:0 |
Unrecognized model IDs are rejected by Bedrock.
SDK usage
from anthropic import Anthropic
client = Anthropic(
base_url="https://api.funda.ai/v1/claude",
api_key="<FUNDA_API_KEY>",
)
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello"}],
)Streaming:
with client.messages.stream(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)Refer to the Anthropic Messages API docs for full request/response schemas.
SEC Filings, Transcripts & Research Reports Reference
---
GET /v1/sec-filings
SEC filings with filtering and pagination.
Parameters
| Param | Type | Default | Description |
|---|---|---|---|
ticker | string | - | Filter by ticker |
cik | string | - | Filter by CIK |
form_type | string | - | Filter by type (10-K, 10-Q, 8-K, etc.) |
filing_date_after | date | - | Filed on or after (YYYY-MM-DD) |
filing_date_before | date | - | Filed on or before (YYYY-MM-DD) |
accepted_date_after | datetime | - | Accepted on or after (ISO 8601) |
accepted_date_before | datetime | - | Accepted on or before (ISO 8601) |
order | string | -filing_date | Sort field |
page | int | 0 | Page (0-based) |
page_size | int | 20 | Items per page (max: 500) |
Response fields: id, accession_number, ticker, cik, filing_date, accepted_date, form_type, fiscal_year, fiscal_quarter, filing_index_url, primary_doc_url.
GET /v1/sec-filings/{filing_id}
Single filing by UUID.
# AAPL 10-K filings
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/sec-filings?ticker=AAPL&form_type=10-K&page_size=5"
# Recent 8-K filings for any company
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/sec-filings?form_type=8-K&page_size=10"---
GET /v1/sec-filings-search
Search SEC filings. Uses type parameter for filing type. See full docs at https://api.funda.ai/docs/sec-filings-search.md.
---
GET /v1/transcripts
Earnings call and podcast transcripts.
Parameters
| Param | Type | Default | Description |
|---|---|---|---|
ticker | string | - | Filter by ticker (earnings only) |
year | int | - | Filter by year (earnings only) |
quarter | int | - | Filter by quarter 1-4 (earnings only) |
type | string | - | earning_call or podcast |
date_after | date | - | On or after (YYYY-MM-DD) |
date_before | date | - | On or before (YYYY-MM-DD) |
order | string | -date | Sort field |
page | int | 0 | Page (0-based) |
page_size | int | 20 | Items per page (max: 1000) |
Earnings call response fields
id, ticker, date, year, quarter, type, content (full text), content_json (array of {speaker, title, text} objects).
Podcast response fields
id, type, title, source_url, content, content_json with nested: podcast, episode_title, youtube_id, url, published_at, channel_handle, segments (array of {text, start, duration}).
GET /v1/transcripts/{transcript_id}
Single transcript by UUID.
# AAPL earnings call Q1 2025
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/transcripts?ticker=AAPL&year=2025&quarter=1&type=earning_call"
# Latest podcast transcripts
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/transcripts?type=podcast&page_size=5"
# All transcripts from last month
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/transcripts?date_after=2026-03-01&date_before=2026-03-31"---
GET /v1/investment-research-reports
Investment research reports with filtering.
Parameters
| Param | Type | Description |
|---|---|---|
ticker | string | Filter by ticker |
GET /v1/investment-research-reports/{report_id}
Single report by UUID.
See full docs at https://api.funda.ai/docs/investment-research-reports.md.
---
GET /v1/emails
Research emails ingested from the research inbox (UBS, JPMorgan, expert interviews, conference invites, etc.).
Parameters
| Param | Type | Default | Description |
|---|---|---|---|
author | string | - | Filter by author (e.g. UBS, JPMorgan) |
type | string | - | research_report, expert_interview, news, conference, marketing, other |
ticker | string | - | Filter by ticker (searches in tickers array) |
received_after | datetime | - | ISO 8601 |
received_before | datetime | - | ISO 8601 |
search | string | - | Search subject (case-insensitive) |
order | string | -received_at | Sort field |
page | int | 0 | Page (0-based) |
page_size | int | 20 | Max: 1000 |
List response excludes heavy/PII fields (content_html, content_text, attachments, extra, sender_email, recipient, cc, email_account); sender_name and subject are redacted against PII keywords.
GET /v1/emails/{email_id}
Single email with full content.
GET /v1/emails/max-date
Max value of a date field for incremental sync. Used by the ingestion pipeline.
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/emails?author=UBS&type=research_report&ticker=AAPL"Fundamentals, Analyst & Search Reference
GET /v1/financial-statements
Financial statements, ratios, key metrics, and growth statistics.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Data type (see below) |
ticker | string | Yes | Stock ticker |
period | string | No | annual (default) or quarter |
limit | int | No | Max results (default: 20) |
page | int | No | Page number (0-based) |
year | int | No | Year filter (for financial-reports-json) |
Types
| Type | Description |
|---|---|
income-statement | Revenue, expenses, net income |
balance-sheet | Assets, liabilities, equity |
cash-flow | Operating, investing, financing cash flows |
latest-financial-statements | Latest combined financial statements |
income-statement-ttm | Trailing twelve months income statement |
balance-sheet-ttm | TTM balance sheet |
cash-flow-ttm | TTM cash flow |
key-metrics | Key metrics (P/E, P/B, ROE, ROA, etc.) |
ratios | Financial ratios (liquidity, profitability, efficiency) |
key-metrics-ttm | TTM key metrics |
ratios-ttm | TTM ratios |
financial-scores | Piotroski score, Altman Z-score |
owner-earnings | Owner earnings calculation |
enterprise-values | Enterprise value calculations |
income-statement-growth | YoY income statement growth rates |
balance-sheet-growth | YoY balance sheet growth rates |
cash-flow-growth | YoY cash flow growth rates |
financial-growth | Combined financial growth metrics |
financial-reports-dates | Available report dates |
financial-reports-json | Complete report in JSON (specify year, period) |
revenue-product-segmentation | Revenue by product/service line |
revenue-geographic-segmentation | Revenue by geographic region |
income-statement-as-reported | As-reported income statement (GAAP/IFRS) |
balance-sheet-as-reported | As-reported balance sheet |
cash-flow-as-reported | As-reported cash flow |
full-as-reported | Complete as-reported financials |
Examples
# Annual income statement (last 5 years)
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/financial-statements?type=income-statement&ticker=AAPL&period=annual&limit=5"
# Quarterly balance sheet
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/financial-statements?type=balance-sheet&ticker=AAPL&period=quarter&limit=4"
# Key metrics TTM
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/financial-statements?type=key-metrics-ttm&ticker=AAPL"
# Revenue by product segment
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/financial-statements?type=revenue-product-segmentation&ticker=AAPL"Key fields in income statement response: date, ticker, revenue, costOfRevenue, grossProfit, grossProfitRatio, operatingExpenses, operatingIncome, ebitda, netIncome, eps, epsdiluted, weightedAverageShsOutDil.
Key fields in key-metrics-ttm: peRatioTTM, priceToSalesRatioTTM, pbRatioTTM, evToSalesTTM, enterpriseValueOverEBITDATTM, roeTTM, roicTTM, debtToEquityTTM, currentRatioTTM, dividendYieldTTM, freeCashFlowYieldTTM.
---
GET /v1/company-profile
Quick company profile (price, market cap, beta, description, sector, CEO, trading flags). Single-ticker convenience endpoint.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
ticker | string | Yes | Ticker (e.g., AAPL, NVO) |
Example
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/company-profile?ticker=NVO"Key response fields: ticker, price, marketCap, beta, lastDividend, range, change, changePercentage, volume, averageVolume, companyName, currency, cik, isin, cusip, exchangeFullName, exchange, industry, sector, country, website, description, ceo, fullTimeEmployees, ipoDate, isEtf, isActivelyTrading, isAdr, isFund.
---
GET /v1/company-details
Company profile, executives, market cap, shares float, M&A history.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Data type (see below) |
ticker | string | No | Stock ticker (required for most types) |
cik | string | No | CIK (required for profile-cik) |
query | string | No | Company name (for mergers-acquisitions-search) |
page | int | No | Page (0-based, default: 0) |
limit | int | No | Max results (default: 20) |
Types
| Type | Description |
|---|---|
profile | Company profile |
profile-cik | Company profile by CIK |
notes | Company notes / research commentary |
peers | Peer companies (competitors) |
executives | Key executives and board |
executive-compensation | Executive compensation details |
executive-compensation-benchmark | Compensation industry benchmarks |
employee-count | Current employee count |
historical-employee-count | Historical employee count |
market-cap | Current market cap |
batch-market-cap | Batch market cap (comma-separated tickers) |
historical-market-cap | Historical market cap |
shares-float | Shares float for a ticker |
all-shares-float | Shares float for all companies |
delisted | Delisted companies |
mergers-acquisitions-latest | Latest M&A announcements |
mergers-acquisitions-search | Search M&A by company name |
Examples
# Profile
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/company-details?type=profile&ticker=AAPL"
# Executives
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/company-details?type=executives&ticker=AAPL"
# Peer companies
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/company-details?type=peers&ticker=AAPL"---
GET /v1/search
Search by symbol/name/CIK, stock screener, and market directories.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Data type (see below) |
query | string | No | Search query (for search types) |
ticker | string | No | Ticker (for exchange-variants) |
limit | int | No | Max results (default: 20) |
page | int | No | Page (0-based) |
exchange | string | No | Exchange filter |
Types
| Type | Description |
|---|---|
symbol | Search by ticker (partial match) |
name | Search by company name (partial match) |
cik | Search by SEC CIK number |
cusip | Search by CUSIP |
isin | Search by ISIN |
screener | Screen by fundamentals (marketCapMoreThan, betaMoreThan, volumeMoreThan, sector, industry, country, exchange) |
exchange-variants | Ticker variants across exchanges |
stock-list | All available stocks |
financial-statement-symbols | Symbols with available financial statements |
cik-list | All company CIK numbers |
symbol-changes | Recent ticker symbol changes |
etf-list | All available ETFs |
actively-trading | Currently trading securities |
earnings-transcript-list | Tickers with earnings call transcripts |
available-exchanges | All supported exchanges |
available-sectors | All sectors |
available-industries | All industries |
available-countries | All supported countries |
Examples
# Search by name
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/search?type=name&query=nvidia"
# Stock screener
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/search?type=screener&marketCapMoreThan=1000000000§or=Technology&limit=10"---
GET /v1/analyst
Analyst estimates, price targets, grades, and valuation models.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Data type (see below) |
ticker | string | Yes | Stock ticker |
period | string | No | annual or quarter |
limit | int | No | Max results (default: 20) |
page | int | No | Page (0-based) |
Types
| Type | Description |
|---|---|
estimates | Analyst EPS and revenue estimates |
price-target-summary | Price target (high, low, median, average) |
price-target-consensus | Price target consensus over time |
grades | Latest analyst grades |
grades-historical | Historical upgrades/downgrades |
grades-consensus | Consensus grade distribution |
dcf | Discounted cash flow valuation |
levered-dcf | Levered DCF valuation |
custom-dcf | Custom DCF with configurable parameters |
custom-levered-dcf | Custom levered DCF with configurable parameters |
enterprise-values | Enterprise value calculations |
ratings-snapshot | Latest company rating (A-F) |
ratings-historical | Historical ratings |
Aliases: price-target → price-target-summary, rating/ratings → ratings-snapshot.
Note:earnings-surpriseslives at/v1/bulk?type=earnings-surprises, not here.
Examples
# Analyst estimates
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/analyst?type=estimates&ticker=AAPL&period=quarter"
# Price targets
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/analyst?type=price-target-summary&ticker=AAPL"
# DCF valuation
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/analyst?type=dcf&ticker=AAPL"
# Latest analyst grades
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/analyst?type=grades&ticker=AAPL&limit=10"---
GET /v1/companies
List companies with pagination.
Parameters
| Param | Type | Default | Description |
|---|---|---|---|
page | int | 0 | Page index (0-based) |
page_size | int | 20 | Items per page (max: 500) |
simple | bool | false | Simplified fields only |
When simple=true, returns only: id, ticker, company_name, industry.
Full response includes: id, ticker, company_name, description, currency, cik, isin, cusip, exchange, industry, sector, website, ceo, country, full_time_employees, ipo_date, is_etf, is_actively_trading.
Market Data & Prices Reference
GET /v1/quotes
Real-time and aftermarket quotes for stocks, ETFs, mutual funds, commodities, crypto, forex, and indexes.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Data type (see below) |
ticker | string | No | Ticker symbol (single or comma-separated for batch) |
exchange | string | No | Exchange code (for exchange-quotes type) |
Types
| Type | Description |
|---|---|
realtime | Real-time quote for a single ticker |
short | Short format real-time quote |
aftermarket-trade | Aftermarket trade data |
aftermarket-quote | Aftermarket quote data |
premarket-trade | Pre/post-market trade for a single ticker |
batch-premarket | Pre/post-market trades for all stocks |
price-change | Stock price change statistics |
batch | Batch quotes for multiple tickers (comma-separated) |
batch-short | Batch quotes in short format |
batch-aftermarket-trade | Batch aftermarket trades |
batch-aftermarket-quote | Batch aftermarket quotes |
exchange-quotes | All quotes for a specific exchange (requires exchange) |
mutual-fund-quotes | All mutual fund quotes |
etf-quotes | All ETF quotes |
commodity-quotes | All commodity quotes |
crypto-quotes | All cryptocurrency quotes |
forex-quotes | All forex pair quotes |
index-quotes | All market index quotes |
Example: Real-time quote
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/quotes?type=realtime&ticker=AAPL"Response fields: ticker, name, price, changesPercentage, change, dayLow, dayHigh, yearHigh, yearLow, marketCap, priceAvg50, priceAvg200, volume, avgVolume, exchange, open, previousClose, eps, pe, earningsAnnouncement, sharesOutstanding, timestamp.
Example: Batch quotes
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/quotes?type=batch&ticker=AAPL,MSFT,GOOGL"---
GET /v1/stock-price
Historical end-of-day stock prices.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
ticker | string | Yes | Ticker symbol |
date_after | date | No | Start date (YYYY-MM-DD) |
date_before | date | No | End date (YYYY-MM-DD) |
Example
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/stock-price?ticker=AAPL&date_after=2024-01-01&date_before=2024-12-31"Response: {"data": {"ticker": "AAPL", "historical": [{"date", "open", "high", "low", "close", "volume", "vwap"}, ...]}}.
---
GET /v1/charts
Historical price charts (EOD and intraday) and technical indicators.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Data type (see below) |
ticker | string | Yes | Ticker symbol |
date_after | string | No | Start date (YYYY-MM-DD) |
date_before | string | No | End date (YYYY-MM-DD) |
timeframe | string | No | For technical indicators: 1day, 1week, 1month (default: 1day) |
period_length | int | No | Period length for technical indicators (default: 10) |
Price Chart Types
| Type | Description |
|---|---|
light | Light EOD (date, open, high, low, close, volume) |
full | Full EOD with adjusted close, change, etc. |
unadjusted | Non-split-adjusted EOD |
dividend-adjusted | Dividend-adjusted EOD |
1min | 1-minute intraday candles |
5min | 5-minute intraday candles |
15min | 15-minute intraday candles |
30min | 30-minute intraday candles |
1hour | 1-hour intraday candles |
4hour | 4-hour intraday candles |
Technical Indicator Types
| Type | Description |
|---|---|
sma | Simple Moving Average |
ema | Exponential Moving Average |
wma | Weighted Moving Average |
dema | Double Exponential Moving Average |
tema | Triple Exponential Moving Average |
rsi | Relative Strength Index |
standarddeviation | Standard Deviation |
williams | Williams %R |
adx | Average Directional Index |
Examples
# EOD chart
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/charts?type=light&ticker=AAPL&date_after=2024-01-01&date_before=2024-01-31"
# 5-minute intraday
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/charts?type=5min&ticker=AAPL&date_after=2024-01-31"
# 50-day SMA
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/charts?type=sma&ticker=AAPL&timeframe=1day&period_length=50"
# 14-day RSI
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/charts?type=rsi&ticker=AAPL&timeframe=1day&period_length=14"---
GET /v1/commodities
Commodity quotes and historical prices. Uses type parameter — see full docs at https://api.funda.ai/docs/commodities.md.
GET /v1/forex
Forex pair quotes and historical rates. Uses type parameter — see full docs at https://api.funda.ai/docs/forex.md.
GET /v1/crypto
Cryptocurrency quotes and historical prices. Uses type parameter — see full docs at https://api.funda.ai/docs/crypto.md.
AI-Enriched News Reference
AI-processed news articles with sentiment, 3-bullet summaries, importance ratings, developing-story event timelines, and aggregated per-ticker sentiment.
Only articles that have been AI-enriched (have enriched_at in metadata) are returned. For raw news, use /v1/news or /v1/stock-news.
---
GET /v1/news/ticker
Enriched news articles mentioning a ticker, with AI-generated summaries, importance ratings, and per-ticker sentiment.
Parameters
| Param | Type | Required | Default | Description |
|---|---|---|---|---|
ticker | string | Yes | - | Ticker (e.g., NVDA) |
page | int | No | 0 | Page (0-based) |
page_size | int | No | 20 | Items per page (1-100) |
date_after | date | No | - | Filter after this date (inclusive) |
date_before | date | No | - | Filter before this date (exclusive) |
Example
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/news/ticker?ticker=NVDA&page_size=10"Response fields (per item)
id,title,source,url,published_at,tickerssummary: AI-generated 3-bullet arrayimportance_rate: 1-10 (1=trivial, 10=black-swan)sentiment:{direction: positive|negative|neutral, confidence: 0-1, reason, explicit}for the requested ticker (ornull)
---
GET /v1/news/timeline
Event timeline for a ticker — groups related articles into developing events.
Parameters
| Param | Type | Required | Default | Description |
|---|---|---|---|---|
ticker | string | Yes | - | Ticker |
limit | int | No | 20 | Max events (1-100) |
date_after | date | No | - | Events created after this date |
Example
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/news/timeline?ticker=NVDA&limit=10"Response fields (per event)
event_id,title,summary,status(e.g.,developing)sectors,event_types,key_tickersitem_count,created_atarticles: array of{news_id, title, source, published_at, delta}
Events are ordered by creation date, most recent first.
---
GET /v1/news/sentiment
Aggregated sentiment for a ticker over a lookback window, broken down by ticker/sector/market.
Parameters
| Param | Type | Required | Default | Description |
|---|---|---|---|---|
ticker | string | Yes | - | Ticker |
days | int | No | 7 | Lookback period (1-90) |
Example
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/news/sentiment?ticker=NVDA&days=30"Response
ticker,period_daysticker_sentiment:{positive, negative, neutral, total, latest: {direction, confidence, reason, explicit}}sector_sentiment: array of per-sector counts (empty under V1 sentiment data)market_sentiment: array of per-market counts (empty under V1 sentiment data)
Options Data Reference
All options data powered by Unusual Whales.
---
GET /v1/options/stock
Stock-level options data (32 types).
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
ticker | string | Yes | Ticker symbol |
type | string | Yes | Data type (see sections below) |
date | date | No | Market date (YYYY-MM-DD) |
expiry | date | No | Option expiry date (for greeks, greek-flow-expiry) |
expirations | date[] | No | List of expiry dates (for atm-chains) |
limit | int | No | Result limit (1-500) |
side | string | No | Trade side filter |
min_premium | int | No | Minimum premium |
timeframe | string | No | Timeframe (for greek-exposure) |
---
Chains & Contracts
| Type | Description |
|---|---|
option-chains | All available option contract symbols |
option-contracts | Contracts with volume, OI, premium, bid/ask, IV |
atm-chains | At-the-money chains (requires expirations param) |
Volume & Open Interest
| Type | Description |
|---|---|
options-volume | Daily call/put volume, premium, bid/ask breakdown |
vol-oi-per-expiry | Volume and OI per expiry |
oi-change | Open interest changes ranked by significance |
oi-per-expiry | OI by expiry (call_oi, put_oi) |
oi-per-strike | OI by strike |
expiry-breakdown | Volume/OI/chains count per expiry |
Greeks & GEX
| Type | Description | Extra Params |
|---|---|---|
greeks | Greeks per strike for a given expiry | expiry required |
greek-exposure | Net GEX/DEX for the whole chain | timeframe optional |
greek-exposure-by-expiry | Greek exposure by expiry | |
greek-exposure-by-strike | Greek exposure by strike | |
greek-exposure-by-strike-expiry | Greek exposure by strike and expiry | |
spot-gex | Spot GEX per 1min | |
spot-gex-by-strike | Spot GEX by strike | |
spot-gex-by-strike-expiry | Spot GEX by strike and expiry |
Flow
| Type | Description | Extra Params |
|---|---|---|
greek-flow | Directional delta/vega flow per time bucket | |
greek-flow-expiry | Greek flow by expiry | expiry required |
flow-per-expiry | Option flow aggregated per expiry | |
flow-per-strike | Option flow aggregated per strike | |
flow-per-strike-intraday | Intraday flow per strike | |
flow-recent | Latest option flows for the ticker | |
flow-alerts | Flow alerts for the ticker | |
net-prem-ticks | Call/put net premium and volume per time bucket |
IV & Volatility
| Type | Description |
|---|---|
interpolated-iv | Interpolated IV at standard tenors |
iv-rank | IV rank (1-year) |
iv-term-structure | IV term structure across expirations |
historical-risk-reversal-skew | Historical risk reversal skew |
Other
| Type | Description |
|---|---|
max-pain | Maximum pain strike per expiry |
nope | Net Options Positioning Effect (NOPE) indicator |
option-price-levels | Call/put volume at each price level |
Examples
# Option chains
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/options/stock?ticker=AAPL&type=option-chains"
# Greeks for a specific expiry
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/options/stock?ticker=AAPL&type=greeks&expiry=2026-04-17"
# Gamma exposure (GEX)
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/options/stock?ticker=AAPL&type=greek-exposure"
# IV rank
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/options/stock?ticker=AAPL&type=iv-rank"
# Max pain
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/options/stock?ticker=AAPL&type=max-pain"
# Recent option flow
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/options/stock?ticker=AAPL&type=flow-recent"
# Net premium ticks
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/options/stock?ticker=AAPL&type=net-prem-ticks"
# OI change
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/options/stock?ticker=AAPL&type=oi-change"
# NOPE indicator
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/options/stock?ticker=AAPL&type=nope"---
GET /v1/options/flow-alerts
Market-wide unusual options activity alerts.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
type | string | No | Default: flow-alerts |
ticker | string | No | Filter by ticker |
limit | int | No | Results per page (1-200, default 100) |
is_call | bool | No | Filter calls |
is_put | bool | No | Filter puts |
is_sweep | bool | No | Filter sweeps |
min_premium | int | No | Minimum premium |
max_premium | int | No | Maximum premium |
min_size | int | No | Minimum trade size |
min_dte | int | No | Minimum days to expiry |
max_dte | int | No | Maximum days to expiry |
Example
# Unusual options: sweeps with >$100k premium
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/options/flow-alerts?is_sweep=true&min_premium=100000"Response fields: type, ticker, strike, expiry, total_premium, volume, open_interest, underlying_price, iv_start, iv_end, has_sweep, has_multileg, alert_rule, option_chain, created_at.
---
GET /v1/options/contract
Contract-level options data.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
contract_id | string | Yes | Option symbol (e.g., AAPL260417C00250000) |
type | string | Yes | flow, history, intraday, or volume-profile |
date | date | No | Market date |
limit | int | No | Result limit |
side | string | No | Trade side filter |
min_premium | int | No | Minimum premium |
Types
| Type | Description |
|---|---|
flow | Trade flow for the contract (with greeks, tags) |
history | Historical data (volume, OI, price per day) |
intraday | Intraday OHLC data |
volume-profile | Volume profile by price |
Example
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/options/contract?contract_id=AAPL260417C00250000&type=flow"---
GET /v1/options/screener
Options screener for finding hottest option chains.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
type | string | No | Default: hottest-chains |
ticker | string | No | Filter by ticker |
is_otm | bool | No | Out-of-the-money filter |
option_type | string | No | call or put |
min_volume | int | No | Minimum volume |
min_premium | int | No | Minimum premium |
min_dte | int | No | Minimum days to expiry |
max_dte | int | No | Maximum days to expiry |
order | string | No | Sort field |
order_direction | string | No | asc or desc |
limit | int | No | Results per page (1-250, default 50) |
page | int | No | Page (0-based) |
Example
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/options/screener?min_volume=1000&min_premium=50000&order=volume&order_direction=desc"Other Data Reference
News, market performance, funds, ESG, COT, crowdfunding, market hours, bulk data, stock news.
---
GET /v1/news
Financial news and press releases.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Data type (see below) |
ticker | string | No | Ticker (for ticker-specific types) |
page | int | No | Page (0-based) |
limit | int | No | Max results (default: 20) |
Types
| Type | Description |
|---|---|
fmp-articles | All news articles |
general-latest | Latest general market news |
press-releases-latest | Latest press releases |
stock-latest | Latest stock news |
crypto-latest | Latest crypto news |
forex-latest | Latest forex news |
press-releases | Press releases for ticker(s) |
stock | Stock news for ticker(s) |
crypto | Crypto news for coin(s) |
forex | Forex news for pair(s) |
# AAPL stock news
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/news?type=stock&ticker=AAPL&limit=10"
# Latest market news
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/news?type=general-latest&limit=10"
# TSLA press releases
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/news?type=press-releases&ticker=TSLA&limit=5"---
GET /v1/market-performance
Sector/industry performance, gainers, losers.
Uses type parameter. See full docs at https://api.funda.ai/docs/market-performance.md.
---
GET /v1/funds
ETF/mutual fund holdings, index constituents.
Uses type parameter. See full docs at https://api.funda.ai/docs/funds.md.
---
GET /v1/esg
ESG ratings, disclosures, benchmarks.
Uses type parameter. See full docs at https://api.funda.ai/docs/esg.md.
---
GET /v1/cot-report
Commitment of Traders reports.
Uses type parameter. See full docs at https://api.funda.ai/docs/cot-report.md.
---
GET /v1/crowdfunding
Crowdfunding offerings (Form C/D).
Uses type parameter. See full docs at https://api.funda.ai/docs/crowdfunding.md.
---
GET /v1/market-hours
Exchange trading hours and holiday schedules.
Uses type parameter. See full docs at https://api.funda.ai/docs/market-hours.md.
---
GET /v1/bulk
Bulk data downloads.
Uses type parameter. See full docs at https://api.funda.ai/docs/bulk.md.
Note: earnings-surprises is available at /v1/bulk?type=earnings-surprises.
---
GET /v1/stock-news
Stock news merged from internal database (moomoo, etc.) and FMP, deduplicated by URL, sorted by published date desc.
| Param | Type | Required | Default | Description |
|---|---|---|---|---|
ticker | string | Yes | - | Comma-separated tickers (e.g., AAPL or AAPL,MSFT) |
date_after | date | No | - | Start date (YYYY-MM-DD) |
date_before | date | No | - | End date (YYYY-MM-DD) |
page | int | No | 0 | Page (0-based) |
limit | int | No | 20 | Items per page (1-100) |
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/stock-news?ticker=AAPL,MSFT&limit=10"Response fields per item: tickers, published_at, source, title, image, text, url.
For AI-enriched news (summary, sentiment, importance rating, event timelines), seereferences/news-enriched.md(/v1/news/ticker,/v1/news/timeline,/v1/news/sentiment).
---
For companies listing (/v1/companies), seereferences/fundamentals.md.
For AI-company recruit signals (/v1/recruit-*), seereferences/recruit.md.
AI Company Recruit Signals Reference
Hiring-based alpha signals covering the major AI companies: OpenAI, Anthropic, Google, xAI, SurgeAI, Mercor.
Pipeline:
raw JDs ─► classifications ─► product clusters ─► launch probabilities ─► stock impacts
╲
► GTM products
news/emails ────────────────────────────────────────────► enterprise events (with event-study alpha)All list endpoints return paginated envelopes (items, page, page_size, next_page, total_count). Iterate with page_size=500–1000 until next_page=-1.
---
GET /v1/recruit-job-postings
Raw job postings scraped from company career pages. Both open (is_active=true) and historical closed postings are included; each item carries the full description.
Key parameters
| Param | Values |
|---|---|
company | openai \ |
department | case-insensitive partial match |
location_type | remote \ |
employment_type | full_time \ |
experience_level | entry \ |
is_active | bool |
skill | string (searches skills array) |
search | title search (case-insensitive) |
posted_after / posted_before | ISO 8601 datetimes |
order | default -posted_at |
page / page_size | max 1000 |
GET /v1/recruit-job-postings/{job_posting_id}
Single posting by UUID. Detail adds requirements, extra, updated_at.
Notes: salary_period is annual for OpenAI/Anthropic/Google/xAI, hourly for Mercor contracts. Google live jobs have posted_at=null. Jobs with no description are excluded.
---
GET /v1/recruit-jd-classifications
Claude-inferred metadata per JD (vertical, intent, function, seniority), linked to a job posting via recruit_job_id.
Key parameters
| Param | Values |
|---|---|
company | AI company slug |
vertical | Coding \ |
jd_intent | product_build \ |
jd_function | engineering \ |
seniority | junior \ |
posted_after / posted_before | date |
search | title search |
List items exclude description. GET /v1/recruit-jd-classifications/{job_id} returns the full record including description and scraped_date.
---
GET /v1/recruit-product-signal-clusters
Product-level hiring signals grouped by (company, vertical) with urgency scoring and competing-company threat map.
Key parameters
| Param | Values |
|---|---|
company | AI company slug |
product_stage | research \ |
urgency | high \ |
generated_after / generated_before | date |
List items include competing_public_companies but exclude product_description, hiring_signal, func_dist, vert_dist, enterprise_verticals, evidence_quotes. Detail (/{cluster_id}) returns all fields.
competing_public_companies entries: {ticker, name, threat_level, reason, hop} where hop=1 is Claude-identified and hop=2 is discovered via supply chain KG expansion.
---
GET /v1/recruit-gtm-products
Claude-extracted product names from Sales/GTM JDs, grouped by (company, vertical). Unique on (company, vertical).
Key parameters
| Param | Values |
|---|---|
company | AI company slug |
vertical | vertical name |
order | default -generated_at |
Response fields: product_names (array), jd_count, evidence_sample, generated_at.
---
GET /v1/recruit-launch-probabilities
Product launch probability matrix per (company, vertical) from JD time-series analysis, phase detection, and spike alerts.
Key parameters
| Param | Values |
|---|---|
company | AI company slug |
vertical | vertical name |
phase | research \ |
status | LAUNCHED \ |
min_probability | 0.0–1.0 |
order | default -launch_probability |
List items exclude monthly_jd_series, spike_alerts, formula components (jd_signal, spike_boost, phase_boost). Detail (/{item_id}) returns the full record.
status: LAUNCHED = probability=1.0 (already in market), PREDICTING = active signal, RESEARCH = early stage.
---
GET /v1/recruit-stock-impacts
Ticker-level impact scores — which public software stocks are most threatened by AI-company hiring signals. Unique on (ticker, report_date) (supports historical snapshots).
Key parameters
| Param | Values |
|---|---|
ticker | auto-uppercased |
urgency | HIGH \ |
report_date | date (YYYY-MM-DD) |
min_adj_score | float (0.0+) |
order | default -adj_score |
List items exclude related_products and vertical_breakdown. Detail (/{item_id}) returns the full record.
Score definitions:
impact_score= base sector exposure × vertical match weightadj_score=impact_score× boosted launch probability (primary ranking metric)urgency = HIGHwhenadj_score >= 0.7and launch probability is elevatedbiz_pct= estimated % revenue exposed to the threatened vertical (0–100)
---
GET /v1/recruit-enterprise-events
AI-company events (new models, pricing changes, partnerships, acquisitions, feature launches) extracted from news and expert emails, with Claude-assessed magnitude and event-study alpha vs QQQ (T+1 to T+10).
Key parameters
| Param | Values |
|---|---|
company | AI company slug |
event_type | new_model \ |
source | news_api \ |
is_significant | bool — p < 0.05 |
date_after / date_before | date |
order | default -event_date |
List items exclude description and alpha_detail. Detail (/{item_id}) returns the full record.
Fields:
magnitude: 0.0–1.0 (Claude-assessed)sentiment:positive\|negative\|neutralalpha_t1_t10: cumulative abnormal return T+1→T+10 vs QQQalpha_tstat: t-statistic;is_significantwhen p < 0.05alpha_detail: per-ticker breakdown[{ticker, alpha, tstat}, ...]
---
Typical workflows
- "What's OpenAI building in Healthcare?" →
recruit-launch-probabilities?company=openai&vertical=Healthcare+recruit-product-signal-clusters?company=openai&vertical=Healthcare - "Which public stocks are most threatened by AI hiring?" →
recruit-stock-impacts?urgency=HIGH&order=-adj_score - "Show significant AI-company events with market impact" →
recruit-enterprise-events?is_significant=true&order=-event_date - "What products is Anthropic selling?" →
recruit-gtm-products?company=anthropic
Funda Research Topics
The Funda agent has access to ~170 fundamental-research skills plus a structured-data layer covering filings, transcripts, estimates, ownership flow, options structure, news, sentiment, and prediction markets. Below are the domains it covers, with example questions you can pass to agent_chat.
Earnings & Estimates
- "Preview AAPL's Q4 print — segment trends to watch, where consensus is aggressive vs conservative, and the historical beat/miss pattern."
- "Walk through MSFT's Q3: beat/miss by segment, guide vs consensus, and the analyst Q&A color on Azure growth."
- "How have analyst estimates for NVDA's FY26 EPS shifted over the last 90 days, and what drove the revisions?"
- "Decompose AMZN's last earnings beat — operating leverage vs one-time items vs segment mix."
Company & Sector Research
- "Give me a research primer on PLTR — business mix, customer base, growth drivers, key risks."
- "Who actually competes with CRWD in EDR, and how has CRWD's win rate trended over the last 4 quarters?"
- "Map ASML's top customers and their wafer-start exposure for the N3 / N2 ramp."
- "Summarize the 2026 capex cycle for hyperscalers — spending tiers by name, supplier exposure, gross-margin implications."
- "Walk me through the pharma pipeline economics for LLY — late-stage assets, peak-sales estimates, patent cliff exposure."
- "Frame the housing-cycle outlook for 2026 — affordability, inventory, builder margin compression."
SEC Filings & Transcripts
- "Diff the new risk factors in TSLA's latest 10-K versus the prior year — flag substantive additions."
- "Pull the substantive content from META's last 8-K and explain what it means for the equity story."
- "Summarize the analyst Q&A from GOOGL's last earnings call — which themes drew the most pushback?"
- "What did NVDA's last 10-Q say about gross-margin trajectory and customer concentration?"
- "Read the S-1 for [recent IPO] and surface the bear case the prospectus glosses over."
Valuation Methodology
Funda runs the math against assumptions you provide — it does not pick the assumptions for you, and the output is methodology, not a price target.
- "Walk through a DCF for NVDA assuming 25% data-center growth, 10% terminal margin, 9% WACC — surface the sensitivity table."
- "Build a comp set for SNOW — who belongs in it, what multiples apply, where does SNOW screen rich/cheap on each."
- "Bull / base / bear case for AMD's data-center segment over 8 quarters, with assumptions stated."
- "Review CRWD's capital allocation over the last 3 years — buybacks, M&A, R&D as % of revenue, and what it implies."
Macro & Cycle Context
- "Where is the Fed in the cutting cycle right now, and what does the dot plot vs market pricing imply for 2026?"
- "Which Dalio quadrant is the US economy in, and which assets historically lead/lag in that regime?"
- "What sectors typically lead in the late stage of a goods recession?"
- "Summarize the credit-cycle indicators flashing right now — corporate spreads, bank lending, default rates."
Structured Market Data (historical, not live)
- "Has institutional ownership of CRWD shifted in the latest 13F filings — net buyers vs sellers?"
- "What does the gamma exposure profile and skew look like for SPY heading into Friday's close?"
- "How has retail sentiment on PLTR shifted over the last 14 days across Reddit and Twitter?"
- "What is Polymarket pricing for the 2026 Fed rate path?"
- "Show recent congressional trades in semiconductor names and any cluster patterns."
Tips for Framing
- Stand-alone questions. Each
agent_chatcall is a fresh turn with no memory of prior calls. Re-state the ticker, horizon, and assumptions every time. - Be specific about horizon. "Next quarter" vs "next 4 quarters" vs "FY26" — vague horizon gets a vague answer.
- Surface assumptions for valuation. Don't ask "is NVDA cheap?" — ask "model NVDA at X% growth and Y% margin and tell me what fair value falls out."
- One topic per turn. If you need both an earnings recap AND a DCF, that's two
agent_chatcalls — the agent's run budget is per-turn. - Time horizons matter for filings. "Latest 10-K" → most recent annual; "this quarter's 10-Q" → most recent quarterly. Be explicit if you want a specific filing date.
Supply Chain Knowledge Graph Reference
Knowledge graph with stocks, edges (relationships), and graph traversal endpoints.
- Layers: T0 (raw materials) to T8 (vertical applications)
- Universe:
semi(semiconductor),software,foundation_model - Edge types:
CUSTOMER_OF,SUPPLIER_TO,COMPETES_WITH,PARTNER_OF - Confidence: 0.0–1.0 (higher = more reliable)
---
GET /v1/supply-chain/stocks
List stocks in the supply chain KG.
Parameters
| Param | Type | Default | Description |
|---|---|---|---|
page | int | 0 | Page index (0-based) |
page_size | int | 20 | Items per page (max: 500) |
ticker | str | - | Filter by ticker |
layer | str | - | Filter by layer (T0-T8) |
universe | str | - | Filter by universe (semi/software/foundation_model) |
is_bottleneck | bool | - | Filter bottleneck stocks |
country | str | - | Filter by country |
Response fields: ticker, name, layer, universe, is_bottleneck, country.
---
GET /v1/supply-chain/stocks/{ticker}
Detailed info for a single stock.
Response fields: ticker, name, layer, exchange, country, notes, is_bottleneck, market_cap_usd, universe, sub_category, macro_market, extra_metadata.
---
GET /v1/supply-chain/stocks/bottlenecks
All bottleneck stocks (critical chokepoints with monopolistic positions).
Parameters
| Param | Type | Description |
|---|---|---|
layer | str | Filter by layer |
universe | str | Filter by universe |
---
GET /v1/supply-chain/kg-edges
List knowledge graph edges (relationships between stocks).
Parameters
| Param | Type | Default | Description |
|---|---|---|---|
page | int | 0 | Page index |
page_size | int | 20 | Items per page (max: 500) |
source_ticker | str | - | Filter by source ticker |
target_ticker | str | - | Filter by target ticker |
edge_type | str | - | Filter by type (CUSTOMER_OF, SUPPLIER_TO, COMPETES_WITH, PARTNER_OF) |
confidence_min | float | - | Minimum confidence (0-1) |
confidence_max | float | - | Maximum confidence (0-1) |
is_active | bool | - | Filter active edges |
universe | str | - | Filter by universe |
Edge semantics:
CUSTOMER_OF: source buys from targetSUPPLIER_TO: source supplies to target
Detailed edge response includes: id, source_ticker, target_ticker, edge_type, label, confidence, source_doc, universe, is_active, attributes.
---
Graph Traversal Endpoints
All return nodes with: ticker, name, layer, edge_type, label, confidence, distance.
GET /v1/supply-chain/kg-edges/graph/suppliers/{ticker}
Upstream suppliers (recursive traversal).
| Param | Type | Default | Description |
|---|---|---|---|
depth | int | 1 | Traversal depth (1-5) |
min_confidence | float | 0.5 | Min confidence (0-1) |
GET /v1/supply-chain/kg-edges/graph/customers/{ticker}
Downstream customers (recursive).
| Param | Type | Default | Description |
|---|---|---|---|
depth | int | 1 | Traversal depth (1-5) |
min_confidence | float | 0.5 | Min confidence (0-1) |
GET /v1/supply-chain/kg-edges/graph/competitors/{ticker}
Competitors.
| Param | Type | Default | Description |
|---|---|---|---|
min_confidence | float | 0.5 | Min confidence |
layer | str | - | Filter by layer |
GET /v1/supply-chain/kg-edges/graph/partners/{ticker}
Partners.
| Param | Type | Default | Description |
|---|---|---|---|
min_confidence | float | 0.5 | Min confidence |
GET /v1/supply-chain/kg-edges/graph/neighbors/{ticker}
All direct neighbors (1-hop), grouped by relationship type.
| Param | Type | Default | Description |
|---|---|---|---|
min_confidence | float | 0.5 | Min confidence |
Examples
# NVDA suppliers (2-level deep)
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/supply-chain/kg-edges/graph/suppliers/NVDA?depth=2"
# NVDA customers
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/supply-chain/kg-edges/graph/customers/NVDA?depth=2"
# NVDA competitors
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/supply-chain/kg-edges/graph/competitors/NVDA"
# All NVDA neighbors
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/supply-chain/kg-edges/graph/neighbors/NVDA"
# Bottleneck stocks in semiconductors
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/supply-chain/stocks/bottlenecks?universe=semi"
# Relationship edges with high confidence
curl -s -H "Authorization: Bearer $FUNDA_API_KEY" \
"https://api.funda.ai/v1/supply-chain/kg-edges?source_ticker=NVDA&confidence_min=0.8"Related skills
How it compares
Pick funda-data over generic web-search skills when you need structured market data and analyst synthesis from a dedicated financial API rather than scraped public pages.
FAQ
How does funda-data connect to Funda AI?
funda-data connects through Funda AI's MCP server at https://funda.ai/api/mcp using OAuth auto-configured via claude mcp add, and falls back to https://api.funda.ai/v1 REST with a FUNDA_API_KEY bearer token when raw structured data is needed.
When should funda-data use MCP versus REST?
funda-data uses the Funda MCP agent_chat tool for analyst-grade synthesis on earnings, estimates, and SEC topics, then calls Funda's 60+ REST endpoints for real-time quotes, intraday candles, options chains, and bulk downloads the MCP declines.
What financial queries does funda-data handle?
funda-data handles earnings previews and recaps, beat-miss decomposition, analyst estimate-revision trends, SEC filing research, real-time quotes, intraday candles, options chains, single line items, and bulk structured downloads from Funda AI.
Is Funda Data safe to install?
skills.sh reports 0 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.