# Gloom > Gloom is a free, open-source finance terminal. Gloom Pro and Gloom Team add the full data, the MCP server and the REST API; Gloom Datasets sells cited datasets over one REST key. Every page linked here has a Markdown copy: add .md to its URL, or send `Accept: text/markdown`. https://gloom.sh/llms-full.txt has them all in one file. ## The free terminal Free, open-source finance terminal. Charts, filings, transcripts, options and news behind keyboard functions, on Mac, Windows, the browser and the terminal. - [Open the web terminal](https://term.gloom.sh/?utm_source=llms): runs in the browser, no account - [Download the desktop app](https://gloom.sh/download?utm_source=llms): or install the terminal UI with `curl -fsSL gloom.sh/install | bash` (macOS, Linux) or `bun install -g gloomberb` (PowerShell, needs Bun) - [Docs](https://gloom.sh/docs?utm_source=llms): Markdown at https://gloom.sh/docs.md - [Source code](https://github.com/gloom-sh/gloomberb): open source ## Gloom Pro and Gloom Team - [Gloom Pro](https://gloom.sh/cloud?utm_source=llms#pricing): $70 a month, or $630 a year (3 months free), after a 7-day trial. Real-time: Worldwide market data, Options chain, News wire, X feed and social sentiment. Research desk: Earnings call transcripts, Hiring data for every listed company, MCP server for your AI agents, Equity diagnostic. - [Gloom Team](https://gloom.sh/firms?utm_source=llms): from $100 a seat a month, for funds, family offices and desks. Every seat gets Pro, MCP and the REST API. - [REST API](https://gloom.sh/docs/rest-api?utm_source=llms): the same Gloom Pro key over HTTP ## MCP server Connect Claude Code, Cursor or Codex to Gloom's research tools: quotes, filings, options flow, insider, 13F and congress trades, macro and news. Endpoint: https://api.gloom.sh/mcp. 70 tools. Creating a key and calling tools need Gloom Pro. ``` claude mcp add --transport http gloom https://api.gloom.sh/mcp ``` - [Finance MCP server](https://gloom.sh/mcp?utm_source=llms): Markdown at https://gloom.sh/mcp.md - [MCP reference](https://gloom.sh/docs/mcp?utm_source=llms): connect commands, every tool, limits ## Gloom Datasets Gloom Datasets serves 44 datasets over one REST API at https://api.gloom.sh/v1, every value with its source and dates. One key reads them all; each call spends credits. ### Get a key Choose a plan on the [pricing page](https://gloom.sh/datasets/pricing?utm_source=llms), sign in to the [console](https://gloom.sh/datasets/console?utm_source=llms) with a Gloom account and verify your email, then create a key under Keys. Keys start with `gds_`. Send it as `Authorization: Bearer $GLOOM_DATASETS_KEY`. ### Plans - Basic: $200 a month or $2,000 a year, 150,000 credits a month - Desk: $800 a month or $8,000 a year, 1,000,000 credits a month - Enterprise: From $2,000 a month, annual contract, credits by contract Founding offer: 40% off Basic and Desk for 12 months, for the first 100 paid accounts or until 4 December 2026. ### Reference - OpenAPI: https://api.gloom.sh/v1/datasets/openapi.json (the same document at https://gloom.sh/datasets/openapi.json) - Catalog, no key: https://api.gloom.sh/v1/datasets - [Docs](https://gloom.sh/datasets/docs?utm_source=llms): quickstart, authentication, credits, errors and one reference page per dataset. Add .md to any docs URL for Markdown, starting at https://gloom.sh/datasets/docs.md - API catalog (RFC 9727): https://gloom.sh/.well-known/api-catalog ### Datasets Keyless samples: A trimmed real response, in the same envelope, read from the dataset once a day; meta.sampledAt says when. Limited to 30 sample requests per IP per hour. - [GPU rental prices](https://gloom.sh/datasets/gpu?utm_source=llms): Alternative data. 3 endpoints, from 4 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/gpu?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/gpu/sample` - [Supply chain](https://gloom.sh/datasets/supply-chain?utm_source=llms): Alternative data. 3 endpoints, from 8 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/supply-chain?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/supply-chain/sample` - [Hiring postings](https://gloom.sh/datasets/hiring-jobs?utm_source=llms): Alternative data. 4 endpoints, from 4 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/hiring-jobs?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/hiring-jobs/sample` - [News](https://gloom.sh/datasets/news?utm_source=llms): News. 4 endpoints, from 2 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/news?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/news/sample` - [Market prices and company fundamentals](https://gloom.sh/datasets/market-data?utm_source=llms): Market data and fundamentals. 7 endpoints, from 2 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/market-data?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/market-data/sample` - [Social mentions](https://gloom.sh/datasets/social-mentions?utm_source=llms): Alternative data. 2 endpoints, from 8 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/social-mentions?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/social-mentions/sample` - [App attention](https://gloom.sh/datasets/app-attention?utm_source=llms): Alternative data. 4 endpoints, from 4 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/app-attention?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/app-attention/sample` - [Power and grid](https://gloom.sh/datasets/power?utm_source=llms): Alternative data. 4 endpoints, from 4 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/power?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/power/sample` - [Executive pay](https://gloom.sh/datasets/exec-pay?utm_source=llms): Filings and company text. 2 endpoints, from 2 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/exec-pay?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/exec-pay/sample` - [Government awards](https://gloom.sh/datasets/awards?utm_source=llms): Macro and positioning. 2 endpoints, from 4 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/awards?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/awards/sample` - [KPIs and guidance](https://gloom.sh/datasets/kpis-guidance?utm_source=llms): Filings and company text. 2 endpoints, from 2 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/kpis-guidance?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/kpis-guidance/sample` - [8-K events](https://gloom.sh/datasets/events?utm_source=llms): Filings and company text. 1 endpoint, from 2 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/events?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/events/sample` - [US consumer prices](https://gloom.sh/datasets/cpi?utm_source=llms): Macro and positioning. 1 endpoint, from 1 credit a call. [Reference](https://gloom.sh/datasets/docs/datasets/cpi?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/cpi/sample` - [EIA energy inventories](https://gloom.sh/datasets/energy-inventories?utm_source=llms): Macro and positioning. 1 endpoint, from 1 credit a call. [Reference](https://gloom.sh/datasets/docs/datasets/energy-inventories?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/energy-inventories/sample` - [CFTC positioning](https://gloom.sh/datasets/cot?utm_source=llms): Macro and positioning. 2 endpoints, from 1 credit a call. [Reference](https://gloom.sh/datasets/docs/datasets/cot?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/cot/sample` - [Hiring momentum](https://gloom.sh/datasets/hiring-momentum?utm_source=llms): Alternative data. 10 endpoints, from 4 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/hiring-momentum?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/hiring-momentum/sample` - [Credit documents and covenants](https://gloom.sh/datasets/credit-documents?utm_source=llms): Filings and company text. 3 endpoints, from 8 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/credit-documents?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/credit-documents/sample` - [Perpetuals](https://gloom.sh/datasets/perps?utm_source=llms): Alternative data. 6 endpoints, from 1 credit a call. [Reference](https://gloom.sh/datasets/docs/datasets/perps?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/perps/sample` - [Catalysts and litigation](https://gloom.sh/datasets/catalysts?utm_source=llms): Alternative data. 3 endpoints, from 1 credit a call. [Reference](https://gloom.sh/datasets/docs/datasets/catalysts?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/catalysts/sample` - [Research attention](https://gloom.sh/datasets/research-attention?utm_source=llms): Alternative data. 2 endpoints, from 4 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/research-attention?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/research-attention/sample` - [Exposure engine](https://gloom.sh/datasets/exposure?utm_source=llms): Alternative data. 2 endpoints, from 2 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/exposure?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/exposure/sample` - [Earnings-call transcripts](https://gloom.sh/datasets/transcripts?utm_source=llms): Filings and company text. 2 endpoints, from 4 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/transcripts?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/transcripts/sample` - [Risk factors](https://gloom.sh/datasets/risk-factors?utm_source=llms): Filings and company text. 2 endpoints, from 2 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/risk-factors?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/risk-factors/sample` - [Document search](https://gloom.sh/datasets/document-search?utm_source=llms): Filings and company text. 2 endpoints, from 4 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/document-search?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/document-search/sample` - [FINRA short volume](https://gloom.sh/datasets/short-volume?utm_source=llms): Macro and positioning. 1 endpoint, from 2 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/short-volume?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/short-volume/sample` - [FINRA short interest](https://gloom.sh/datasets/short-interest?utm_source=llms): Macro and positioning. 1 endpoint, from 2 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/short-interest?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/short-interest/sample` - [SEC filings, insiders and 13F holders](https://gloom.sh/datasets/sec?utm_source=llms): Filings and company text. 8 endpoints, from 1 credit a call. [Reference](https://gloom.sh/datasets/docs/datasets/sec?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/sec/sample` - [Congress trades](https://gloom.sh/datasets/congress?utm_source=llms): Alternative data. 1 endpoint, from 2 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/congress?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/congress/sample` - [Yield curves and macro series](https://gloom.sh/datasets/macro?utm_source=llms): Macro and positioning. 4 endpoints, from 1 credit a call. [Reference](https://gloom.sh/datasets/docs/datasets/macro?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/macro/sample` - [Central bank rates](https://gloom.sh/datasets/central-bank-rates?utm_source=llms): Macro and positioning. 1 endpoint, from 2 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/central-bank-rates?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/central-bank-rates/sample` - [Credit default swaps](https://gloom.sh/datasets/cds?utm_source=llms): Macro and positioning. 4 endpoints, from 4 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/cds?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/cds/sample` - [Debt maturities](https://gloom.sh/datasets/debt-maturities?utm_source=llms): Filings and company text. 1 endpoint, from 4 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/debt-maturities?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/debt-maturities/sample` - [Revenue breakdown](https://gloom.sh/datasets/revenue-breakdown?utm_source=llms): Filings and company text. 1 endpoint, from 4 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/revenue-breakdown?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/revenue-breakdown/sample` - [Depositary receipts (ADR reference)](https://gloom.sh/datasets/depositary-receipts?utm_source=llms): Market data and fundamentals. 2 endpoints, from 2 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/depositary-receipts?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/depositary-receipts/sample` - [Futures curves, archives and generics](https://gloom.sh/datasets/futures?utm_source=llms): Market data and fundamentals. 3 endpoints, from 4 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/futures?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/futures/sample` - [Rate path](https://gloom.sh/datasets/rate-path?utm_source=llms): Market data and fundamentals. 1 endpoint, from 50 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/rate-path?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/rate-path/sample` - [Options flow, chains and implied volatility](https://gloom.sh/datasets/options?utm_source=llms): Market data and fundamentals. 5 endpoints, from 4 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/options?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/options/sample` - [Earnings calendar and moves](https://gloom.sh/datasets/earnings?utm_source=llms): Market data and fundamentals. 2 endpoints, from 4 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/earnings?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/earnings/sample` - [IPO calendar](https://gloom.sh/datasets/ipo?utm_source=llms): Market data and fundamentals. 1 endpoint, from 4 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/ipo?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/ipo/sample` - [Mergers and acquisitions](https://gloom.sh/datasets/mna?utm_source=llms): Market data and fundamentals. 2 endpoints, from 4 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/mna?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/mna/sample` - [Equity screener](https://gloom.sh/datasets/equity-screener?utm_source=llms): Market data and fundamentals. 1 endpoint, from 4 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/equity-screener?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/equity-screener/sample` - [Digital asset markets](https://gloom.sh/datasets/crypto?utm_source=llms): Market data and fundamentals. 1 endpoint, from 50 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/crypto?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/crypto/sample` - [Session movers, highs/lows and tape](https://gloom.sh/datasets/session-tape?utm_source=llms): Market data and fundamentals. 3 endpoints, from 4 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/session-tape?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/session-tape/sample` - [Analyst estimates and revisions](https://gloom.sh/datasets/analyst-estimates?utm_source=llms): Market data and fundamentals. 2 endpoints, from 4 credits a call. [Reference](https://gloom.sh/datasets/docs/datasets/analyst-estimates?utm_source=llms). Keyless sample: `curl https://api.gloom.sh/v1/datasets/analyst-estimates/sample` ## Guides - [GPU price API](https://gloom.sh/gpu-price-api?utm_source=llms): GPU rental prices, list indexes and price history over one REST key: H100, H200, B200 and more. Try the sample without a key. From $200/mo. - [Options flow API](https://gloom.sh/options-flow-api?utm_source=llms): Stored options flow, implied volatility surfaces, option chains and dealer gamma over one REST key. Try the sample without a key. From $200/mo. - [Earnings call transcripts API](https://gloom.sh/earnings-call-transcripts-api?utm_source=llms): Earnings call transcripts over one REST key: speaker turns, the analyst Q&A, summary and guidance, plus search. Try the sample free. From $200/mo. - [Company suppliers and customers](https://gloom.sh/features/supply-chain-data?utm_source=llms): Who NVIDIA, Apple, TSMC and Tesla buy from and sell to, with the filing behind each link. Try SPLC free in the terminal; Pro and the API show them all. ## Optional - [Full text](https://gloom.sh/llms-full.txt): every Markdown page in one file - [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms) - [Terms](https://gloom.sh/terms?utm_source=llms) - [Privacy](https://gloom.sh/privacy?utm_source=llms) --- Source: https://gloom.sh/datasets/gpu?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Alternative data # GPU rental prices, by the hour. What an H100 or a B200 costs per GPU hour across clouds and marketplaces. Every rate carries its basis and the date it was seen. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/gpu?utm_source=llms) Request 4 credits ``` curl https://api.gloom.sh/v1/gpu/prices \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/gpu/sample), which needs no key. Response · data[0] ``` { "gpuModel": "H100", "pricePerGpuHr": 6.88, "currency": "USD", "basis": "list", "observedAt": "2026-10-07T21:46:34.608Z", "stale": false, "sourceUrl": null } ``` Trimmed real output ## Who uses it. - ### Quant teams Price compute against AI stocks. - ### Research agents Quote an hourly rate with its date. ## Coverage and price. - **routes**: 3 - **sources**: 4 - **credits for the cheapest call**: 4 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (3)** - `GET /v1/gpu/prices` Published GPU rental rates across providers and marketplaces. Hyperscaler and Neocloud rows are list indexes 4 credits - `GET /v1/gpu/history` Observed GPU rental rates and reference history 8 credits - `GET /v1/gpu/changes` Observed GPU price changes 4 credits ## Related. - [Power and grid](https://gloom.sh/datasets/power?utm_source=llms) - [Supply chain](https://gloom.sh/datasets/supply-chain?utm_source=llms) - [Hiring momentum](https://gloom.sh/datasets/hiring-momentum?utm_source=llms) --- Source: https://gloom.sh/datasets/supply-chain?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Alternative data # Who supplies whom, with the quote. Customer and supplier links between public companies. Every link is backed by a dated quote and its document. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/supply-chain?utm_source=llms) Request 100 credits ``` curl "https://api.gloom.sh/v1/supply-chain/graph?symbols=042700&depth=1&limit=5" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/supply-chain/sample), which needs no key. Response · data[0].evidence[0] ``` { "role": "customer", "period": "2025-12-31", "filingUrl": "https://dart.fss.or.kr/dsaf001/main.do?rcpNo=20260312001230", "quoteGloss": "The customers currently secured by the company include the listed domestic companies, including Amkor Korea." } ``` Trimmed real output ## Who uses it. - ### Research agents Trace exposure and cite every link. - ### Quant teams Map a shock across suppliers and customers. ## Coverage and price. - **routes**: 3 - **sources**: 3 - **credits for the cheapest call**: 8 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (3)** - `GET /v1/supply-chain/graph` Multi-hop company relationships with source evidence 100 credits - `GET /v1/supply-chain/paths` Evidence-backed paths between two companies 100 credits - `GET /v1/supply-chain/relationships` Disclosed suppliers, customers and other company relationships 8 credits ## Related. - [Exposure engine](https://gloom.sh/datasets/exposure?utm_source=llms) - [Revenue breakdown](https://gloom.sh/datasets/revenue-breakdown?utm_source=llms) - [KPIs and guidance](https://gloom.sh/datasets/kpis-guidance?utm_source=llms) --- Source: https://gloom.sh/datasets/hiring-jobs?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Alternative data # Hiring postings. One public job posting, with role, location and observed date. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/hiring-jobs?utm_source=llms) Request 8 credits ``` curl https://api.gloom.sh/v1/hiring \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/hiring-jobs/sample), which needs no key. Response · data[0] ``` { "ticker": "NET", "companyName": "Cloudflare", "openCount": 6, "new7d": 6, "topFunction": "legal_compliance" } ``` Trimmed real output ## Who uses it. - ### Quant teams Count openings by company and role. - ### Research agents Cite the posting behind a hiring claim. - ### Fintech apps Show who is hiring in your app. ## Coverage and price. - **routes**: 4 - **sources**: 2 - **credits for the cheapest call**: 4 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (4)** - `GET /v1/hiring` Observed company hiring postings 8 credits - `GET /v1/hiring?symbols=` Company hiring summary and observed posting history 8 credits - `GET /v1/job-postings` Company careers postings 8 credits - `GET /v1/datasets/hiring-jobs/coverage` Company careers coverage and posting counts 4 credits ## Related. - [Supply chain](https://gloom.sh/datasets/supply-chain?utm_source=llms) - [Social mentions](https://gloom.sh/datasets/social-mentions?utm_source=llms) - [GPU rental prices](https://gloom.sh/datasets/gpu?utm_source=llms) --- Source: https://gloom.sh/datasets/news?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) News # Market news with the tickers attached. Publisher stories linked to tickers, topics and sentiment, in real time on every plan. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/news?utm_source=llms) Request 4 credits ``` curl https://api.gloom.sh/v1/stories \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/news/sample), which needs no key. Response · data[0] ``` { "headline": "8-K - CAPITAL ONE MULTI ASSET EXECUTION TRUST (0001163321) (Filer)", "primaryPublisher": "SEC", "firstPublishedAt": "2026-10-05T18:11:19.000Z", "primaryUrl": "https://www.sec.gov/Archives/edgar/data/1163321/000119312526413925/0001193125-26-413925-index.htm" } ``` Trimmed real output ## Who uses it. - ### Research agents Cite the story, not a summary. - ### Fintech apps Ticker-tagged headlines in your app. ## Coverage and price. - **routes**: 4 - **source**: 1 - **credits for the cheapest call**: 2 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (4)** - `GET /v1/stories` Publisher stories with ticker and topic filters 4 credits - `GET /v1/stories/sources` News source directory 2 credits - `GET /v1/stories/facets` Story topic, sector and source counts 2 credits - `GET /v1/stories/{id}` Story and its publisher variants 10 credits ## Related. - [Document search](https://gloom.sh/datasets/document-search?utm_source=llms) - [8-K events](https://gloom.sh/datasets/events?utm_source=llms) - [Social mentions](https://gloom.sh/datasets/social-mentions?utm_source=llms) --- Source: https://gloom.sh/datasets/market-data?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Market data and fundamentals # Quotes, history and fundamentals. Prices and history, financial statements, valuation statistics and company profiles. Statements carry the dates they were filed. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/market-data?utm_source=llms) Request 20 credits ``` curl "https://api.gloom.sh/v1/fundamentals/statements?symbols=COST" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/market-data/sample), which needs no key. Response · data[3] ``` { "symbol": "COST", "date": "2025-08-31", "currency": "USD", "values": { "totalRevenue": 275235000000, "netIncome": 8099000000, "operatingCashFlow": 13335000000, "totalAssets": 77099000000, "cashFlowFromContinuingOperatingActivities": 13335000000 }, "dateEvidence": { "accessionNumber": "0000909832-25-000101", "filed": "2025-10-08", "startDate": "2024-09-02" } } ``` Trimmed real output ## Who uses it. - ### Fintech apps Fundamentals in your app, on Enterprise. - ### Quant teams Statements dated as they were filed. ## Coverage and price. - **routes**: 7 - **sources**: 2 - **credits for the cheapest call**: 2 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (7)** - `GET /v1/fundamentals/statements` Annual or quarterly income, balance sheet and cash flow statements 20 credits - `GET /v1/fundamentals/metrics` Company valuation ratios and key financial statistics 20 credits - `GET /v1/companies` Company business description and profile 10 credits - `GET /v1/market/quotes` Delayed market quotes for up to ten listings 4 credits - `GET /v1/market/snapshot` Field-level data for a listing 20 credits - `GET /v1/market/bars` Delayed price history for up to 366 days a listing 4 credits - `GET /v1/datasets/market-data/fields` Field dictionary with units and supported history periods 2 credits ## Related. - [Equity screener](https://gloom.sh/datasets/equity-screener?utm_source=llms) - [Analyst estimates and revisions](https://gloom.sh/datasets/analyst-estimates?utm_source=llms) - [Earnings calendar and moves](https://gloom.sh/datasets/earnings?utm_source=llms) --- Source: https://gloom.sh/datasets/social-mentions?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Alternative data # Social mentions. One ticker day of public social mentions and observed article views. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/social-mentions?utm_source=llms) Request 8 credits ``` curl "https://api.gloom.sh/v1/social-mentions?symbols=NVDA" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/social-mentions/sample), which needs no key. Response · data[0] ``` { "symbol": "NVDA", "range": "1y", "x": { "days": [], "historyFrom": null, "completeThrough": null, "baseline": null, "refreshedAt": null } } ``` Trimmed real output ## Who uses it. - ### Quant teams Track attention spikes by ticker. - ### Research agents Read the posts behind a ticker's mentions. - ### Fintech apps Trending tickers beside your quotes. ## Coverage and price. - **routes**: 2 - **source**: 1 - **credits a call**: 8 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (2)** - `GET /v1/social-mentions` Daily social mentions and public article views 8 credits - `GET /v1/social-mentions/posts` Public posts mentioning a company ticker 8 credits ## Related. - [Hiring postings](https://gloom.sh/datasets/hiring-jobs?utm_source=llms) - [App attention](https://gloom.sh/datasets/app-attention?utm_source=llms) - [Supply chain](https://gloom.sh/datasets/supply-chain?utm_source=llms) --- Source: https://gloom.sh/datasets/app-attention?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Alternative data # App attention. One app chart observation, with rank, ratings and company mapping. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/app-attention?utm_source=llms) Request 8 credits ``` curl https://api.gloom.sh/v1/apps \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/app-attention/sample), which needs no key. Response · data[0] ``` { "name": "Muse from Meta", "developer": "Meta Platforms, Inc.", "symbol": "META", "country": "US", "chart": "free", "rank": 1, "observedAt": "2026-10-04T01:00:00.000Z" } ``` Trimmed real output ## Who uses it. - ### Quant teams Track app ranks against company results. - ### Research agents Check how a launch is charting. ## Coverage and price. - **routes**: 4 - **source**: 1 - **credits for the cheapest call**: 4 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (4)** - `GET /v1/apps` App store ranks, ratings and company attention 8 credits - `GET /v1/apps?symbols=` App attention and history for a listed company 8 credits - `GET /v1/apps/{store}:{appId}` Daily chart and rating history for an app 8 credits - `GET /v1/datasets/app-attention/coverage` App chart coverage and freshness 4 credits ## Related. - [Social mentions](https://gloom.sh/datasets/social-mentions?utm_source=llms) - [Power and grid](https://gloom.sh/datasets/power?utm_source=llms) - [Hiring postings](https://gloom.sh/datasets/hiring-jobs?utm_source=llms) --- Source: https://gloom.sh/datasets/power?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Alternative data # Power and grid. One electricity project, with planned capacity, current status and source evidence. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/power?utm_source=llms) Request 100 credits ``` curl https://api.gloom.sh/v1/power/projects \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/power/sample), which needs no key. Response · data[0] ``` { "name": "MONTEZUMA (HIGH WINDS III)", "region": "CAISO", "fuel": "hybrid", "capacityMw": 38, "status": "active", "observedAt": "2026-10-04T01:00:00.000Z", "sourceUrl": "https://www.caiso.com/documents/publicqueuereport.xlsx" } ``` Trimmed real output ## Who uses it. - ### Quant teams Follow planned capacity and grid queues. - ### Research agents Cite a project's status and capacity. ## Coverage and price. - **routes**: 4 - **sources**: 2 - **credits for the cheapest call**: 4 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (4)** - `GET /v1/power/projects` Electricity projects, capacity, queue rates and utility exposure 100 credits - `GET /v1/power/capacity` Observed and published electricity grid history 8 credits - `GET /v1/power/projects/{id}` Electricity project details and retained revisions 20 credits - `GET /v1/datasets/power/coverage` Grid register coverage and freshness 4 credits ## Related. - [App attention](https://gloom.sh/datasets/app-attention?utm_source=llms) - [Hiring momentum](https://gloom.sh/datasets/hiring-momentum?utm_source=llms) - [Social mentions](https://gloom.sh/datasets/social-mentions?utm_source=llms) --- Source: https://gloom.sh/datasets/exec-pay?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Filings and company text # Executive pay. One company proxy year, with CEO pay, named executives and pay ratio. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/exec-pay?utm_source=llms) Request 2 credits ``` curl "https://api.gloom.sh/v1/exec-pay?symbols=AAPL" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/exec-pay/sample), which needs no key. Response · data[0] ``` { "proxyYear": 2026, "filedAt": "2026-01-08T00:00:00.000Z", "ceoName": "Tim Cook", "ceoTotal": 74294811, "payRatio": 533, "medianEmployeePay": 139483 } ``` Trimmed real output ## Who uses it. - ### Research agents Answer CEO pay questions from the proxy. - ### Fintech apps Executive pay on company pages. ## Coverage and price. - **routes**: 2 - **source**: 1 - **credits for the cheapest call**: 2 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (2)** - `GET /v1/exec-pay` Available executive compensation filings 2 credits - `GET /v1/exec-pay?year=` Executive compensation for a filing year 10 credits ## Related. - [KPIs and guidance](https://gloom.sh/datasets/kpis-guidance?utm_source=llms) - [8-K events](https://gloom.sh/datasets/events?utm_source=llms) - [Credit documents and covenants](https://gloom.sh/datasets/credit-documents?utm_source=llms) --- Source: https://gloom.sh/datasets/awards?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Macro and positioning # Government contracts, as they are awarded. Awards from the US, the EU, the UK, Canada and Australia: agency, recipient, amount and date, linked to the award record. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/awards?utm_source=llms) Request 4 credits ``` curl https://api.gloom.sh/v1/awards \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/awards/sample), which needs no key. Response · data[0] ``` { "title": "Microsoft Licences & Associated Services", "jurisdiction": "GB", "awardAmount": "677214.12", "currency": "GBP", "awardDate": "2026-10-23", "sourceUrl": "https://www.contractsfinder.service.gov.uk/Notice/586ce2d7-b4dd-4eb1-b656-48a01414864e" } ``` Trimmed real output ## Who uses it. - ### Quant teams Track contract wins by ticker. - ### Research agents Cite the award record itself. ## Coverage and price. - **routes**: 2 - **sources**: 6 - **credits for the cheapest call**: 4 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (2)** - `GET /v1/awards` Government awards with source evidence 4 credits - `GET /v1/awards/{id}` Award evidence and revisions 10 credits ## Related. - [Congress trades](https://gloom.sh/datasets/congress?utm_source=llms) - [Catalysts and litigation](https://gloom.sh/datasets/catalysts?utm_source=llms) - [Supply chain](https://gloom.sh/datasets/supply-chain?utm_source=llms) --- Source: https://gloom.sh/datasets/kpis-guidance?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Filings and company text # Company KPIs and guidance, quoted. Revenue, users, backlog and guidance ranges as companies report them. Every value carries its source quote and publication date. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/kpis-guidance?utm_source=llms) Request 2 credits ``` curl "https://api.gloom.sh/v1/kpis?symbols=AAPL" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/kpis-guidance/sample), which needs no key. Response · data[0].latest ``` { "metricId": "revenue", "value": 109417000000, "currency": "USD", "evidence": [ { "quote": "Apple Inc. CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited) (In millions, except number of shares, which are reflected in thousands, and per-share amounts) Three Months Ended Nine Months Ended June 27, 2026 June 28, 2025 June 27, 2026 June 28, 2025 Net sales Products $ 78,678 $ 66,613 $ 272,629 $ 233,287 Services 30,739 27,423 91,728 80,408 Total net sales (1) 109,417 94,036 364,357 313,695", "url": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000018/a8-kex991q3202606272026.htm", "publishedAt": "2026-07-30T00:00:00.000Z" } ] } ``` Trimmed real output ## Who uses it. - ### Research agents Answer KPI questions with the exact quote. - ### Quant teams Point-in-time values for backtests. - ### Fintech apps Show reported metrics with their sources. ## Coverage and price. - **routes**: 2 - **sources**: 2 - **credits a call**: 2 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (2)** - `GET /v1/kpis` Cited company operating metrics 2 credits - `GET /v1/guidance` Company guidance ranges and revisions 2 credits ## Related. - [Earnings-call transcripts](https://gloom.sh/datasets/transcripts?utm_source=llms) - [Earnings calendar and moves](https://gloom.sh/datasets/earnings?utm_source=llms) - [Revenue breakdown](https://gloom.sh/datasets/revenue-breakdown?utm_source=llms) --- Source: https://gloom.sh/datasets/events?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Filings and company text # 8-K events. One 8-K filing, with item codes, event labels and filing link. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/events?utm_source=llms) Request 2 credits ``` curl "https://api.gloom.sh/v1/filing-events?symbols=META" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/events/sample), which needs no key. Response · data[0] ``` { "filingDate": "2026-10-21", "form": "8-K", "headline": "Meta approves Class C stock dividend and Zuckerberg agreement tying most sales to voting-share reductions", "docUrl": "https://www.sec.gov/Archives/edgar/data/1326801/000162828026066700/meta-20261019.htm", "items": [ "1.01", "2.02", // … 2 more items ] } ``` Trimmed real output ## Who uses it. - ### Research agents Explain what a company just filed. - ### Quant teams Date material events for event studies. - ### Fintech apps An 8-K feed for your app. ## Coverage and price. - **route**: 1 - **source**: 1 - **credits a call**: 2 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (1)** - `GET /v1/filing-events` Item-classified SEC 8-K events 2 credits ## Related. - [KPIs and guidance](https://gloom.sh/datasets/kpis-guidance?utm_source=llms) - [Credit documents and covenants](https://gloom.sh/datasets/credit-documents?utm_source=llms) - [Executive pay](https://gloom.sh/datasets/exec-pay?utm_source=llms) --- Source: https://gloom.sh/datasets/cpi?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Macro and positioning # US consumer prices. One CPI component, with index weight, monthly change and yearly change. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/cpi?utm_source=llms) Request 1 credit ``` curl https://api.gloom.sh/v1/macro/cpi \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/cpi/sample), which needs no key. Response · data[0] ``` { "label": "All items", "code": "SA0", "weight": 100, "change": 0.6485, "yoy": 3.7377, "read": "All items rose 0.6% in September and 3.7% over the year; core rose 0.3% and 2.6%." } ``` Trimmed real output ## Who uses it. - ### Quant teams Model inflation component by component. - ### Research agents Cite the CPI print and its weights. - ### Fintech apps The CPI release in your app. ## Coverage and price. - **route**: 1 - **sources**: 2 - **credit a call**: 1 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (1)** - `GET /v1/macro/cpi` US CPI components, weights and contributions 1 credit ## Related. - [Government awards](https://gloom.sh/datasets/awards?utm_source=llms) - [EIA energy inventories](https://gloom.sh/datasets/energy-inventories?utm_source=llms) - [CFTC positioning](https://gloom.sh/datasets/cot?utm_source=llms) --- Source: https://gloom.sh/datasets/energy-inventories?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Macro and positioning # EIA energy inventories. One weekly EIA inventory series, with observed level and weekly change. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/energy-inventories?utm_source=llms) Request 1 credit ``` curl https://api.gloom.sh/v1/energy/inventories \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/energy-inventories/sample), which needs no key. Response · data[0] ``` { "label": "Commercial crude", "key": "WCESTUS1", "unit": "kb", "weekEnding": "2026-10-16", "value": 412517, "weekChange": -3060 } ``` Trimmed real output ## Who uses it. - ### Quant teams Model the weekly inventory change. - ### Research agents Cite the latest crude and gas stocks. ## Coverage and price. - **route**: 1 - **source**: 1 - **credit a call**: 1 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (1)** - `GET /v1/energy/inventories` EIA petroleum and gas inventories 1 credit ## Related. - [US consumer prices](https://gloom.sh/datasets/cpi?utm_source=llms) - [CFTC positioning](https://gloom.sh/datasets/cot?utm_source=llms) - [Government awards](https://gloom.sh/datasets/awards?utm_source=llms) --- Source: https://gloom.sh/datasets/cot?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Macro and positioning # CFTC positioning. One futures contract report, with open interest and positions by trader class. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/cot?utm_source=llms) Request 1 credit ``` curl "https://api.gloom.sh/v1/cot?report=legacy" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/cot/sample), which needs no key. Response · data[0] ``` { "contractCode": "067651", "marketName": "WTI-PHYSICAL - NEW YORK MERCANTILE EXCHANGE", "reportDate": "2026-10-13", "openInterest": 1900179, "position": { "long": 344653, "short": 244310, "spreading": 546758, "id": "noncommercial", "label": "Noncommercial", "net": 100343, "netPercentOfOpenInterest": 5.28071302756, "weeklyChange": 1283, "previousReportDate": "2026-10-06", "percentile1Y": { "value": 40.5660377358, "rank": 21.5, "sampleCount": 53, "windowStart": "2025-10-13", "windowEnd": "2026-10-13", "historyStart": "2025-10-14", "historyEnd": "2026-10-13", "completeWindow": true, "min": 39800, "max": 233620, "mean": 120643.849057 }, "percentile3Y": { "value": 15.6050955414, "rank": 24.5, "sampleCount": 157, "windowStart": "2023-10-13", "windowEnd": "2026-10-13", "historyStart": "2023-10-17", "historyEnd": "2026-10-13", "completeWindow": true, "min": 39800, "max": 306388, "mean": 174029.783439 } } } ``` Trimmed real output ## Who uses it. - ### Quant teams Track positioning by trader class. - ### Research agents Explain who is long and who is short. ## Coverage and price. - **routes**: 2 - **source**: 1 - **credit for the cheapest call**: 1 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (2)** - `GET /v1/cot` CFTC positioning by contract 1 credit - `GET /v1/cot/{contractCode}` CFTC contract positioning history 2 credits ## Related. - [EIA energy inventories](https://gloom.sh/datasets/energy-inventories?utm_source=llms) - [FINRA short volume](https://gloom.sh/datasets/short-volume?utm_source=llms) - [US consumer prices](https://gloom.sh/datasets/cpi?utm_source=llms) --- Source: https://gloom.sh/datasets/hiring-momentum?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Alternative data # Who is hiring faster, week by week. Open roles, new postings and weekly changes for listed companies, so a hiring push shows up before the earnings call. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/hiring-momentum?utm_source=llms) Request 4 credits ``` curl https://api.gloom.sh/v1/hiring/momentum \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/hiring-momentum/sample), which needs no key. Response · data[0] ``` { "symbol": "NET", "name": "Cloudflare", "latest": { "week": "2026-09-28", "observedAt": "2026-10-03T23:20:16.432Z", "openCount": 6, "added": null, "removed": null, "netChange": null, "changePct": null, "remoteShare": 0, "remoteKnown": 6, "evergreenCount": 0, "sourceCount": 1, "completeness": "partial", "confidence": 1, "kind": "observed" }, "historyWeeks": 1, "status": "pending" } ``` Trimmed real output ## Who uses it. - ### Quant teams Backtest dated hiring signals. - ### Research agents Spot an expansion and cite the week. ## Coverage and price. - **routes**: 10 - **sources**: 2 - **credits for the cheapest call**: 4 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (10)** - `GET /v1/hiring/momentum` Weekly observed hiring momentum 4 credits - `GET /v1/hiring/momentum?symbols=` Company weekly hiring evidence 8 credits - `GET /v1/hiring/moves` Hiring moves: who posts new roles faster or slower than their own trailing weeks and their peers 8 credits - `GET /v1/hiring/moves/{symbol}` A company's weekly new roles, its latest move and the postings behind it 8 credits - `GET /v1/hiring/expansion` Hiring expansion: companies' first roles in a new country or city, with the postings there 8 credits - `GET /v1/hiring/anomalies` Hiring anomalies: one place or role family far above a company's own weeks, and role families it never posted 8 credits - `GET /v1/hiring/signals/{symbol}` A company's expansion and anomaly signals, how far back its history goes and the postings behind each 8 credits - `GET /v1/hiring/building` What companies are building: role families and themes whose share of a company's new roles rose against its own weeks, with the postings behind each 8 credits - `GET /v1/hiring/building/{symbol}` A company's new roles by role family and theme, recent weeks against the weeks before, and its shifts 8 credits - `GET /v1/datasets/hiring-momentum/coverage` Weekly hiring coverage and retained observation counts 4 credits ## Related. - [Hiring postings](https://gloom.sh/datasets/hiring-jobs?utm_source=llms) - [App attention](https://gloom.sh/datasets/app-attention?utm_source=llms) - [KPIs and guidance](https://gloom.sh/datasets/kpis-guidance?utm_source=llms) --- Source: https://gloom.sh/datasets/credit-documents?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Filings and company text # Credit documents and covenants. One credit facility or covenant, with legal terms and dated evidence. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/credit-documents?utm_source=llms) Request 8 credits ``` curl https://api.gloom.sh/v1/credit/instruments \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/credit-documents/sample), which needs no key. Response ``` { "data": [], "meta": { "coverage": { "rows": 0, "truncated": false } } } ``` Trimmed real output ## Who uses it. - ### Research agents Cite the covenant, not a summary. - ### Fintech apps Facility terms in your credit tools. ## Coverage and price. - **routes**: 3 - **sources**: 2 - **credits for the cheapest call**: 8 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (3)** - `GET /v1/credit/instruments` Credit headroom and springing covenant screen 8 credits - `GET /v1/credit/instruments?symbols=` Credit facilities, covenants and maturities 8 credits - `GET /v1/credit/{symbol}/instruments/{id}` Credit instrument evidence 20 credits ## Related. - [8-K events](https://gloom.sh/datasets/events?utm_source=llms) - [Earnings-call transcripts](https://gloom.sh/datasets/transcripts?utm_source=llms) - [KPIs and guidance](https://gloom.sh/datasets/kpis-guidance?utm_source=llms) --- Source: https://gloom.sh/datasets/perps?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Alternative data # Perpetuals. One perpetual contract observation, with funding, open interest and market price. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/perps?utm_source=llms) Request 1 credit ``` curl https://api.gloom.sh/v1/perps/markets \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/perps/sample), which needs no key. Response · data[0] ``` { "symbol": "ETH", "markPrice": 2685.5, "fundingRate8h": 0.0001, "fundingApr": 0.1095, "openInterestUsd": 3224551207.49, "observedAt": "2026-10-03T21:30:00.000Z" } ``` Trimmed real output ## Who uses it. - ### Quant teams Funding and open interest for crypto models. - ### Fintech apps Perpetual funding and prices in your app. ## Coverage and price. - **routes**: 6 - **sources**: 2 - **credit for the cheapest call**: 1 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (6)** - `GET /v1/perps/markets` Perpetual contract prices, funding and open interest 1 credit - `GET /v1/perps/markets?baseAsset=` Compare perpetual venues for one underlying asset 1 credit - `GET /v1/perps/markets?symbols=` Equity-linked perpetuals and underlying references 1 credit - `GET /v1/perps/markets/{marketId}/history` Perpetual prices, funding and candle history 2 credits - `GET /v1/perps/rankings` Funding, open-interest and premium dislocations 1 credit - `GET /v1/perps/markets/{marketId}` One perpetual market with retained source evidence 5 credits ## Related. - [Hiring momentum](https://gloom.sh/datasets/hiring-momentum?utm_source=llms) - [Catalysts and litigation](https://gloom.sh/datasets/catalysts?utm_source=llms) - [Power and grid](https://gloom.sh/datasets/power?utm_source=llms) --- Source: https://gloom.sh/datasets/catalysts?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Alternative data # Catalysts and litigation. One regulatory event or deadline, with source evidence and revisions. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/catalysts?utm_source=llms) Request 2 credits ``` curl https://api.gloom.sh/v1/catalysts \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/catalysts/sample), which needs no key. Response · data[0] ``` { "title": "XENICAL: supplement approval", "agency": "FDA", "jurisdiction": "US", "status": "approved", "announcedDate": "2007-01-05", "sourceUrl": "https://www.accessdata.fda.gov/scripts/cder/daf/index.cfm?event=overview.process&ApplNo=020766" } ``` Trimmed real output ## Who uses it. - ### Quant teams Date regulatory decisions for event studies. - ### Research agents Cite the deadline and each revision. ## Coverage and price. - **routes**: 3 - **source**: 1 - **credit for the cheapest call**: 1 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (3)** - `GET /v1/catalysts` Government-sourced catalysts and deadlines 2 credits - `GET /v1/catalysts/{id}` Catalyst evidence and revisions 5 credits - `GET /v1/catalysts/changes` Observed catalyst revisions 1 credit ## Related. - [Perpetuals](https://gloom.sh/datasets/perps?utm_source=llms) - [Research attention](https://gloom.sh/datasets/research-attention?utm_source=llms) - [Hiring momentum](https://gloom.sh/datasets/hiring-momentum?utm_source=llms) --- Source: https://gloom.sh/datasets/research-attention?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Alternative data # Research attention. One company research count, with publication lag, rounding and privacy thresholds. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/research-attention?utm_source=llms) Request 4 credits ``` curl https://api.gloom.sh/v1/research-attention \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/research-attention/sample), which needs no key. Response ``` { "data": [], "meta": { "coverage": { "publishedHours": 0, "publishedTickers": 0, "baselineDays": 28 } } } ``` Trimmed real output ## Who uses it. - ### Quant teams Track which companies draw research interest. - ### Research agents Answer which companies draw research. ## Coverage and price. - **routes**: 2 - **source**: 1 - **credits for the cheapest call**: 4 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (2)** - `GET /v1/research-attention` Privacy-thresholded company research activity 4 credits - `GET /v1/research-attention?symbols=` Released company research counts and aggregate history 8 credits ## Related. - [Catalysts and litigation](https://gloom.sh/datasets/catalysts?utm_source=llms) - [Exposure engine](https://gloom.sh/datasets/exposure?utm_source=llms) - [Perpetuals](https://gloom.sh/datasets/perps?utm_source=llms) --- Source: https://gloom.sh/datasets/exposure?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Alternative data # Exposure engine. Operating exposure scenarios with sourced evidence and explicit coverage gaps. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/exposure?utm_source=llms) Request 2 credits ``` curl https://api.gloom.sh/v1/exposure/scenarios \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/exposure/sample), which needs no key. Response · data[0] ``` { "id": "taiwan-disruption", "label": "Taiwan disruption", "shocks": [ { "id": "taiwan", "kind": "country", "target": "TW", "changePct": -100 } ] } ``` Trimmed real output ## Who uses it. - ### Research agents Show how a shock reaches a company. - ### Quant teams Run exposure scenarios across holdings. ## Coverage and price. - **routes**: 2 - **sources**: 3 - **credits for the cheapest call**: 2 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (2)** - `GET /v1/exposure/scenarios` Operating exposure scenario catalogue 2 credits - `POST /v1/exposure/analyze` Stateless operating exposure analysis from public evidence 50 credits ## Related. - [Research attention](https://gloom.sh/datasets/research-attention?utm_source=llms) - [Congress trades](https://gloom.sh/datasets/congress?utm_source=llms) - [Catalysts and litigation](https://gloom.sh/datasets/catalysts?utm_source=llms) --- Source: https://gloom.sh/datasets/transcripts?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Filings and company text # Earnings calls, speaker by speaker. Full call transcripts with speakers, a summary and the guidance management gave. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/transcripts?utm_source=llms) Request 4 credits ``` curl https://api.gloom.sh/v1/transcripts \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/transcripts/sample), which needs no key. Response · data[0] ``` { "ticker": "NVDA", "companyName": "NVIDIA Corporation", "fiscalYear": 2027, "fiscalQuarter": 2, "callAt": "2026-08-26T21:00:00.000Z", "wordCount": 3262 } ``` Trimmed real output ## Who uses it. - ### Research agents Quote management word for word. - ### Quant teams Compare guidance across calls. ## Coverage and price. - **routes**: 2 - **source**: 1 - **credits for the cheapest call**: 4 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (2)** - `GET /v1/transcripts` Published earnings calls by company 4 credits - `GET /v1/transcripts/{id}` Earnings transcript, speakers, summary and guidance 10 credits ## Related. - [KPIs and guidance](https://gloom.sh/datasets/kpis-guidance?utm_source=llms) - [Document search](https://gloom.sh/datasets/document-search?utm_source=llms) - [Earnings calendar and moves](https://gloom.sh/datasets/earnings?utm_source=llms) --- Source: https://gloom.sh/datasets/risk-factors?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Filings and company text # Risk factors. One 10-K risk section and its changes from the year before. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/risk-factors?utm_source=llms) Request 2 credits ``` curl "https://api.gloom.sh/v1/risk-factors?symbols=CVX" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/risk-factors/sample), which needs no key. Response · data[0] ``` { "symbol": "CVX", "reportYear": 2026, "filedAt": "2026-02-24T00:00:00.000Z", "riskCount": 3, "wordCount": 547 } ``` Trimmed real output ## Who uses it. - ### Research agents Cite what changed in a 10-K's risks. - ### Quant teams Score new risk language year over year. ## Coverage and price. - **routes**: 2 - **source**: 1 - **credits for the cheapest call**: 2 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (2)** - `GET /v1/risk-factors` Available annual risk-factor filings 2 credits - `GET /v1/risk-factors?year=` Risk factors and annual differences 10 credits ## Related. - [Earnings-call transcripts](https://gloom.sh/datasets/transcripts?utm_source=llms) - [Document search](https://gloom.sh/datasets/document-search?utm_source=llms) - [Credit documents and covenants](https://gloom.sh/datasets/credit-documents?utm_source=llms) --- Source: https://gloom.sh/datasets/document-search?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Filings and company text # Search filings, calls and news at once. One query across filings, transcripts and news. Every hit is a passage with its source link. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/document-search?utm_source=llms) Request 4 credits ``` curl "https://api.gloom.sh/v1/search?q=CAPITAL+ONE&sort=newest&limit=5&count=false" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/document-search/sample), which needs no key. Response · data[0] ``` { "title": "8-K - CAPITAL ONE MULTI ASSET EXECUTION TRUST (0001163321) (Filer)", "docType": "filing", "publishedAt": "2026-10-05T18:11:19.000Z", "snippet": "Filed: 2026-10-05 AccNo: 0001193125-26-413925 Size: 734 KB Item 8.01: Other Events Item 9.01: Financial Statements and Exhibits", "url": "https://www.sec.gov/Archives/edgar/data/1163321/000119312526413925/0001193125-26-413925-index.htm" } ``` Trimmed real output ## Who uses it. - ### Research agents Ground every answer in a passage. - ### Fintech apps Search company documents in your product. ## Coverage and price. - **routes**: 2 - **sources**: 3 - **credits for the cheapest call**: 4 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (2)** - `GET /v1/search` Search filings, transcripts and news 4 credits - `GET /v1/documents/{docType}:{sourceId}` Indexed document text and chunk metadata 10 credits ## Related. - [SEC filings, insiders and 13F holders](https://gloom.sh/datasets/sec?utm_source=llms) - [Earnings-call transcripts](https://gloom.sh/datasets/transcripts?utm_source=llms) - [News](https://gloom.sh/datasets/news?utm_source=llms) --- Source: https://gloom.sh/datasets/short-volume?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Macro and positioning # FINRA short volume. One ticker day of short-sale volume, total volume and off-exchange ratios. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/short-volume?utm_source=llms) Request 2 credits ``` curl "https://api.gloom.sh/v1/short-volume?symbols=AAPL" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/short-volume/sample), which needs no key. Response · data[0] ``` { "date": "2026-09-21", "shortVolume": "5442428.346356", "totalVolume": "12178460.751537", "ratioPercent": 44.68896732 } ``` Trimmed real output ## Who uses it. - ### Quant teams Daily short-sale ratios for signals. - ### Research agents Cite a ticker's short volume by day. ## Coverage and price. - **route**: 1 - **source**: 1 - **credits a call**: 2 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (1)** - `GET /v1/short-volume` Daily off-exchange short-sale volume and ratios 2 credits ## Related. - [CFTC positioning](https://gloom.sh/datasets/cot?utm_source=llms) - [FINRA short interest](https://gloom.sh/datasets/short-interest?utm_source=llms) - [EIA energy inventories](https://gloom.sh/datasets/energy-inventories?utm_source=llms) --- Source: https://gloom.sh/datasets/short-interest?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Macro and positioning # FINRA short interest. One ticker settlement date, with short positions and days to cover. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/short-interest?utm_source=llms) Request 2 credits ``` curl "https://api.gloom.sh/v1/short-interest?symbols=AAPL" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/short-interest/sample), which needs no key. Response · data[1] ``` { "symbol": "AAPL", "settlementDate": "2026-02-13", "sharesShort": 133373267, "previousSharesShort": 116854414, "averageDailyVolume": 59148111, "daysToCover": 2.25, "changePercent": 14.14, "revised": false } ``` Trimmed real output ## Who uses it. - ### Quant teams Track short interest and days to cover. - ### Research agents Answer how heavily a stock is shorted. - ### Fintech apps Short interest on your stock pages. ## Coverage and price. - **route**: 1 - **source**: 1 - **credits a call**: 2 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (1)** - `GET /v1/short-interest` Settlement-date short interest and days to cover 2 credits ## Related. - [FINRA short volume](https://gloom.sh/datasets/short-volume?utm_source=llms) - [Yield curves and macro series](https://gloom.sh/datasets/macro?utm_source=llms) - [CFTC positioning](https://gloom.sh/datasets/cot?utm_source=llms) --- Source: https://gloom.sh/datasets/sec?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Filings and company text # Filings, insiders and 13F holders. SEC filings, Form 4 insider trades and institutional holdings by company, each with its filing record and date. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/sec?utm_source=llms) Request 1 credit ``` curl "https://api.gloom.sh/v1/filings?symbols=AAPL" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/sec/sample), which needs no key. Response · data[0] ``` { "form": "4", "filingDate": "2026-10-05", "acceptedAt": "2026-10-06T02:42:45.000Z", "companyName": "Apple Inc.", "filingUrl": "https://www.sec.gov/Archives/edgar/data/320193/0001140361-26-038674-index.htm" } ``` Trimmed real output ## Who uses it. - ### Research agents Cite the filing, not a paraphrase. - ### Fintech apps Insider and holder data in your app. ## Coverage and price. - **routes**: 8 - **sources**: 2 - **credit for the cheapest call**: 1 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (8)** - `GET /v1/filings` SEC filing lists 1 credit - `GET /v1/sec/filing/documents` Documents within a SEC filing 1 credit - `GET /v1/sec/filing/content` SEC filing document content 5 credits - `GET /v1/insider-trades` Form 4 open-market buys and sells by company, each citing its filing 25 credits - `GET /v1/holdings` Institutional holders and quarter-to-quarter changes 2 credits - `GET /v1/insider-trades/changes` Form 4 buys and sells in the order their filings were added, to poll for new ones 1 credit - `GET /v1/insider-trades/signals` Companies ranked by recent open-market insider buying or selling, with the reasons and filters 25 credits - `GET /v1/holdings/crowding` Institutional ownership concentration and fund flows 25 credits ## Related. - [8-K events](https://gloom.sh/datasets/events?utm_source=llms) - [Executive pay](https://gloom.sh/datasets/exec-pay?utm_source=llms) - [Risk factors](https://gloom.sh/datasets/risk-factors?utm_source=llms) --- Source: https://gloom.sh/datasets/congress?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Alternative data # Congress trades. Congressional transactions with member, ticker, amounts and dated disclosure evidence. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/congress?utm_source=llms) Request 2 credits ``` curl https://api.gloom.sh/v1/congress-trades \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/congress/sample), which needs no key. Response · data[0] ``` { "memberName": "A. Mitchell McConnell Jr.", "ticker": "WMB", "side": "BUY", "amount": "$15,001 - $50,000", "transactionDate": "2026-08-20", "filingDate": "2026-09-21", "sourceUrl": "https://efdsearch.senate.gov/search/view/ptr/028aef33-dc0d-44a1-992f-aa35ee42685b/" } ``` Trimmed real output ## Who uses it. - ### Quant teams Backtest the trades members disclose. - ### Research agents Cite the disclosure behind a trade. - ### Fintech apps Congressional trades on stock pages. ## Coverage and price. - **route**: 1 - **source**: 1 - **credits a call**: 2 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (1)** - `GET /v1/congress-trades` Congressional transactions with disclosure evidence 2 credits ## Related. - [Exposure engine](https://gloom.sh/datasets/exposure?utm_source=llms) - [Research attention](https://gloom.sh/datasets/research-attention?utm_source=llms) - [Catalysts and litigation](https://gloom.sh/datasets/catalysts?utm_source=llms) --- Source: https://gloom.sh/datasets/macro?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Macro and positioning # Yield curves and macro series. Economic series observations, scheduled releases and government yield curves by date. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/macro?utm_source=llms) Request 1 credit ``` curl https://api.gloom.sh/v1/yield-curves \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/macro/sample), which needs no key. Response · data[0] ``` { "curve": { "id": "us", "label": "US Treasury", "country": "US", "basis": "par", "couponsPerYear": 2 }, "asOf": "2026-09-29", "points": [ { "tenor": "1M", "years": 0.0833333333333, "yield": 4.04 }, { "tenor": "6W", "years": 0.125, "yield": 4.14 }, // … 12 more items ] } ``` Trimmed real output ## Who uses it. - ### Quant teams Yield curves and series for models. - ### Research agents Cite the release behind each number. - ### Fintech apps Macro calendars and curves in your app. ## Coverage and price. - **routes**: 4 - **sources**: 3 - **credit for the cheapest call**: 1 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (4)** - `GET /v1/yield-curves` Government yield curves by country 1 credit - `GET /v1/yield-curves/{curve}` Yield curve with dated lookbacks, spreads and ranked moves 2 credits - `GET /v1/macro/series/{seriesId}` Economic series observations and metadata 2 credits - `GET /v1/macro/calendar` Economic releases, forecasts and reported actuals 1 credit ## Related. - [FINRA short interest](https://gloom.sh/datasets/short-interest?utm_source=llms) - [Central bank rates](https://gloom.sh/datasets/central-bank-rates?utm_source=llms) - [FINRA short volume](https://gloom.sh/datasets/short-volume?utm_source=llms) --- Source: https://gloom.sh/datasets/central-bank-rates?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Macro and positioning # Central bank rates. One central bank policy rate, with changes and scheduled meeting dates. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/central-bank-rates?utm_source=llms) Request 2 credits ``` curl https://api.gloom.sh/v1/central-bank-rates \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/central-bank-rates/sample), which needs no key. Response · data[0] ``` { "centralBank": "Federal Reserve", "instrument": "Fed funds target range", "value": 3.875, "asOf": "2026-09-27", "changeBps": 25, "lastChangeDate": "2026-09-17" } ``` Trimmed real output ## Who uses it. - ### Quant teams Policy rates and changes for macro models. - ### Research agents Answer where rates stand, with the source. - ### Fintech apps Policy rates in your app. ## Coverage and price. - **route**: 1 - **source**: 1 - **credits a call**: 2 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (1)** - `GET /v1/central-bank-rates` Policy rates, changes and meeting dates 2 credits ## Related. - [Yield curves and macro series](https://gloom.sh/datasets/macro?utm_source=llms) - [Credit default swaps](https://gloom.sh/datasets/cds?utm_source=llms) - [FINRA short interest](https://gloom.sh/datasets/short-interest?utm_source=llms) --- Source: https://gloom.sh/datasets/cds?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Macro and positioning # Credit default swaps. Observed corporate, index and sovereign credit derivatives trade prints and spreads. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/cds?utm_source=llms) Request 4 credits ``` curl https://api.gloom.sh/v1/cds/trades \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/cds/sample), which needs no key. Response · data[4] ``` { "issuerName": "EXPERIAN FINANCE PLC", "executionTimestamp": "2023-07-27T13:57:14.000Z", "notionalAmount": 2000000, "notionalCurrency": "EUR", "fixedRate": 0.01, "reportedSpread": null } ``` Trimmed real output ## Who uses it. - ### Quant teams Credit spreads from reported trades. - ### Research agents Cite a CDS print and its spread. ## Coverage and price. - **routes**: 4 - **sources**: 2 - **credits for the cheapest call**: 4 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (4)** - `GET /v1/cds/trades` Reported corporate credit derivatives trades 4 credits - `GET /v1/cds/curves` Daily five-year corporate credit spreads 4 credits - `GET /v1/cds/indexes` Credit index levels and daily history 50 credits - `GET /v1/cds/sovereigns` Sovereign credit spreads and daily history 50 credits ## Related. - [Central bank rates](https://gloom.sh/datasets/central-bank-rates?utm_source=llms) - [Yield curves and macro series](https://gloom.sh/datasets/macro?utm_source=llms) - [FINRA short interest](https://gloom.sh/datasets/short-interest?utm_source=llms) --- Source: https://gloom.sh/datasets/debt-maturities?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Filings and company text # Debt maturities. One company's reported debt due by maturity year, from XBRL filings. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/debt-maturities?utm_source=llms) Request 4 credits ``` curl "https://api.gloom.sh/v1/debt-maturities?symbols=AAPL" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/debt-maturities/sample), which needs no key. Response · data[0].history[0] ``` { "asOf": "2025-09-27", "filed": "2025-10-31", "currency": "USD", "totalPrincipal": 91281000000, "next12Months": 12393000000, "next3Years": 31771000000 } ``` Trimmed real output ## Who uses it. - ### Quant teams Screen companies by debt coming due. - ### Research agents Answer refinancing questions from the filing. - ### Fintech apps A maturity wall on company pages. ## Coverage and price. - **route**: 1 - **source**: 1 - **credits a call**: 4 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (1)** - `GET /v1/debt-maturities` SEC XBRL debt maturity schedule 4 credits ## Related. - [SEC filings, insiders and 13F holders](https://gloom.sh/datasets/sec?utm_source=llms) - [Revenue breakdown](https://gloom.sh/datasets/revenue-breakdown?utm_source=llms) - [Document search](https://gloom.sh/datasets/document-search?utm_source=llms) --- Source: https://gloom.sh/datasets/revenue-breakdown?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Filings and company text # Revenue breakdown. One company's reported revenue by product, segment and region, from filings. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/revenue-breakdown?utm_source=llms) Request 4 credits ``` curl "https://api.gloom.sh/v1/revenue-breakdown?symbols=AAPL" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/revenue-breakdown/sample), which needs no key. Response · data[0] ``` { "label": "iPhone", "key": "p:IPhone", "share": 0.495827887805, "yoy": 0.216903683101 } ``` Trimmed real output ## Who uses it. - ### Research agents Answer which segment drives growth. - ### Quant teams Segment growth, as filed, for models. - ### Fintech apps Revenue by segment on company pages. ## Coverage and price. - **route**: 1 - **source**: 1 - **credits a call**: 4 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (1)** - `GET /v1/revenue-breakdown` SEC product, segment and geographic revenue 4 credits ## Related. - [Debt maturities](https://gloom.sh/datasets/debt-maturities?utm_source=llms) - [SEC filings, insiders and 13F holders](https://gloom.sh/datasets/sec?utm_source=llms) - [Document search](https://gloom.sh/datasets/document-search?utm_source=llms) --- Source: https://gloom.sh/datasets/depositary-receipts?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Market data and fundamentals # Depositary receipts (ADR reference). One US depositary receipt: its ratio, home lines, sources and market check. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/depositary-receipts?utm_source=llms) Request 2 credits ``` curl "https://api.gloom.sh/v1/depositary-receipts?symbols=YPF" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/depositary-receipts/sample), which needs no key. Response · data[0] ``` { "receipt": "YPF", "ratio": 10, "ratioText": "1 receipt = 10 ordinary shares", "asOf": "2026-10-24", "homeListings": [ { "symbol": "YPFD:XBUE", "exchange": "XBUE" } ], "source": { "kind": "reviewed", "label": "Issuer annual report or depositary notice, reviewed", "ratio": 10, "date": "2026-10-24" } } ``` Trimmed real output ## Who uses it. - ### Quant teams Put ADR and home-line prices on one basis. - ### Research agents Cite the filing behind each ratio. - ### Fintech apps ADR ratios and home lines on quote pages. ## Coverage and price. - **routes**: 2 - **sources**: 3 - **credits for the cheapest call**: 2 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (2)** - `GET /v1/depositary-receipts` Every US depositary receipt: ratio, home lines, sources and latest check 4 credits - `GET /v1/depositary-receipts?symbols=` A receipt's ratio, home lines, sources, history and check, by receipt or home line 2 credits ## Related. - [Market prices and company fundamentals](https://gloom.sh/datasets/market-data?utm_source=llms) - [Futures curves, archives and generics](https://gloom.sh/datasets/futures?utm_source=llms) - [Rate path](https://gloom.sh/datasets/rate-path?utm_source=llms) --- Source: https://gloom.sh/datasets/futures?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Market data and fundamentals # Futures curves, archives and generics. Futures contract curves, archived settlements and rolling generic historical price series. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/futures?utm_source=llms) Request 50 credits ``` curl https://api.gloom.sh/v1/futures/curves/VX \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/futures/sample), which needs no key. Response · data[0] ``` { "label": "VIX 2026-10", "expiration": "2026-10-21", "price": 17.3343, "change": 0.2525, "openInterest": 148367, "asOf": "2026-10-07" } ``` Trimmed real output ## Who uses it. - ### Quant teams Curves and generics for backtests. - ### Research agents Cite a settlement and its date. - ### Fintech apps Futures curves in your app, on Enterprise. ## Coverage and price. - **routes**: 3 - **sources**: 2 - **credits for the cheapest call**: 4 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (3)** - `GET /v1/futures/curves/{root}` Current futures term structure for a root 50 credits - `GET /v1/futures/curves/{root}?date=` Archived futures curve for a specified date 4 credits - `GET /v1/futures/continuous/{ticker}` Generic futures contract data 4 credits ## Related. - [Depositary receipts (ADR reference)](https://gloom.sh/datasets/depositary-receipts?utm_source=llms) - [Rate path](https://gloom.sh/datasets/rate-path?utm_source=llms) - [Market prices and company fundamentals](https://gloom.sh/datasets/market-data?utm_source=llms) --- Source: https://gloom.sh/datasets/rate-path?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Market data and fundamentals # Rate path. One futures-implied policy path, with conditional probabilities for central bank meetings. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/rate-path?utm_source=llms) Request 50 credits ``` curl https://api.gloom.sh/v1/rate-path \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/rate-path/sample), which needs no key. Response · data[0] ``` { "date": "2026-10-28", "impliedRate": 3.925, "targetMidpoint": 3.92, "changeBps": 4.5, "probabilities": [ { "targetMidpoint": 3.875, "probability": 0.82 }, { "targetMidpoint": 4.125, "probability": 0.18 } ], "asOf": "2026-10-08T16:49:13.000Z" } ``` Trimmed real output ## Who uses it. - ### Quant teams Market-implied rate paths for models. - ### Research agents Answer what the next meeting is priced at. - ### Fintech apps Meeting odds in your app, on Enterprise. ## Coverage and price. - **route**: 1 - **sources**: 2 - **credits a call**: 50 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (1)** - `GET /v1/rate-path` Implied policy rate paths and meeting probabilities 50 credits ## Related. - [Futures curves, archives and generics](https://gloom.sh/datasets/futures?utm_source=llms) - [Options flow, chains and implied volatility](https://gloom.sh/datasets/options?utm_source=llms) - [Depositary receipts (ADR reference)](https://gloom.sh/datasets/depositary-receipts?utm_source=llms) --- Source: https://gloom.sh/datasets/options?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Market data and fundamentals # Options flow, gamma and volatility. Recorded option flow, gamma positioning, implied volatility surfaces and expiry chains. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/options?utm_source=llms) Request 50 credits ``` curl "https://api.gloom.sh/v1/options/surfaces?symbols=SPY" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/options/sample), which needs no key. Response · data[0].surface.expiries[0] ``` { "atmIV": 0.126587, "forward": 775.6269, "years": 0.07991755, "expectedMove": { "straddle": 22.64, "straddlePercent": 2.92147880508, "sigma": 27.7321719066, "sigmaPercent": 3.57857563799, "strike": 775 }, "asOf": "2026-10-08T16:55:20.000Z" } ``` Trimmed real output ## Who uses it. - ### Quant teams Volatility surfaces for research and backtests. - ### Research agents Explain positioning with the numbers. ## Coverage and price. - **routes**: 5 - **sources**: 2 - **credits for the cheapest call**: 4 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (5)** - `GET /v1/options/flow` Options trade flow 4 credits - `GET /v1/options/iv` Historical implied volatility for an underlying symbol 4 credits - `GET /v1/options/surfaces` Implied volatility across strikes and expiries 50 credits - `GET /v1/options/chains` Option calls and puts for a specified expiry 50 credits - `GET /v1/options/gamma` Retained dealer gamma positioning for one expiry 50 credits ## Related. - [Futures curves, archives and generics](https://gloom.sh/datasets/futures?utm_source=llms) - [Market prices and company fundamentals](https://gloom.sh/datasets/market-data?utm_source=llms) - [FINRA short volume](https://gloom.sh/datasets/short-volume?utm_source=llms) --- Source: https://gloom.sh/datasets/earnings?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Market data and fundamentals # Earnings dates, surprises and moves. Report dates, EPS surprises and the implied against the realized stock move around each report. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/earnings?utm_source=llms) Request 4 credits ``` curl https://api.gloom.sh/v1/earnings \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/earnings/sample), which needs no key. Response · data[0] ``` { "symbol": "AAPL", "date": "2025-10-30", "fiscalPeriod": "2025-09", "epsEstimate": 1.73, "epsActual": 1.85, "marketCap": 4902477100000 } ``` Trimmed real output ## Who uses it. - ### Quant teams Test implied moves against realized ones. - ### Fintech apps An earnings calendar for your app. ## Coverage and price. - **routes**: 2 - **sources**: 3 - **credits a call**: 4 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (2)** - `GET /v1/earnings` Earnings calendar with reporting dates and estimates 4 credits - `GET /v1/earnings/moves` Historical price moves around earnings reports 4 credits ## Related. - [Analyst estimates and revisions](https://gloom.sh/datasets/analyst-estimates?utm_source=llms) - [Earnings-call transcripts](https://gloom.sh/datasets/transcripts?utm_source=llms) - [Options flow, chains and implied volatility](https://gloom.sh/datasets/options?utm_source=llms) --- Source: https://gloom.sh/datasets/ipo?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Market data and fundamentals # IPO calendar. Public offerings with expected dates, offer terms, listing venues and status. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/ipo?utm_source=llms) Request 4 credits ``` curl https://api.gloom.sh/v1/ipos \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/ipo/sample), which needs no key. Response · data[0] ``` { "company": "Nomadar Corp.", "symbol": "NOMA", "exchange": "NASDAQ", "listingDate": "2025-10-31", "status": "listed", "sharesOffered": 13268718 } ``` Trimmed real output ## Who uses it. - ### Research agents Answer when a company lists, and where. - ### Fintech apps An IPO calendar in your app, on Enterprise. ## Coverage and price. - **route**: 1 - **sources**: 2 - **credits a call**: 4 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (1)** - `GET /v1/ipos` Upcoming and recent initial public offerings 4 credits ## Related. - [Earnings calendar and moves](https://gloom.sh/datasets/earnings?utm_source=llms) - [Mergers and acquisitions](https://gloom.sh/datasets/mna?utm_source=llms) - [Options flow, chains and implied volatility](https://gloom.sh/datasets/options?utm_source=llms) --- Source: https://gloom.sh/datasets/mna?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Market data and fundamentals # Mergers and acquisitions. One acquisition, with parties, cash terms, current status and event evidence. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/mna?utm_source=llms) Request 4 credits ``` curl https://api.gloom.sh/v1/mna-deals \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/mna/sample), which needs no key. Response · data[0] ``` { "headline": "Microsoft to acquire Activision Blizzard", "value": 68700000000, "valueCurrency": "USD", "announced": "2022-01-18", "status": "pending" } ``` Trimmed real output ## Who uses it. - ### Research agents Cite deal terms and status. - ### Quant teams Study deals by terms and outcome. - ### Fintech apps Deal terms on company pages, on Enterprise. ## Coverage and price. - **routes**: 2 - **sources**: 3 - **credits for the cheapest call**: 4 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (2)** - `GET /v1/mna-deals` Search mergers and acquisitions deals 4 credits - `GET /v1/mna-deals/{id}` Details for a merger or acquisition deal 10 credits ## Related. - [IPO calendar](https://gloom.sh/datasets/ipo?utm_source=llms) - [Equity screener](https://gloom.sh/datasets/equity-screener?utm_source=llms) - [Earnings calendar and moves](https://gloom.sh/datasets/earnings?utm_source=llms) --- Source: https://gloom.sh/datasets/equity-screener?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Market data and fundamentals # Equity screener. Stored company metrics filtered by your criteria across one immutable snapshot. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/equity-screener?utm_source=llms) Request 4 credits ``` curl "https://api.gloom.sh/v1/equity-screener?definition=%7B%22version%22%3A1%2C%22criteria%22%3A%5B%5D%2C%22sort%22%3A%7B%22field%22%3A%22symbol%22%2C%22direction%22%3A%22asc%22%7D%2C%22currency%22%3Anull%7D" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/equity-screener/sample), which needs no key. Response · data[0].metrics.revenueGrowthPercent ``` { "value": 8.16732363148, "unit": "%", "asOf": "2025-08-31", "availableAt": "2025-10-08", "sourceUrl": "https://www.sec.gov/edgar/search/#/q=0000909832-25-000101" } ``` Trimmed real output ## Who uses it. - ### Quant teams Screen a universe on stored metrics. - ### Research agents Find matching companies, with sources. - ### Fintech apps A stock screener in your app, on Enterprise. ## Coverage and price. - **route**: 1 - **sources**: 2 - **credits a call**: 4 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (1)** - `GET /v1/equity-screener` Screen equities using a structured query 4 credits ## Related. - [Mergers and acquisitions](https://gloom.sh/datasets/mna?utm_source=llms) - [Digital asset markets](https://gloom.sh/datasets/crypto?utm_source=llms) - [IPO calendar](https://gloom.sh/datasets/ipo?utm_source=llms) --- Source: https://gloom.sh/datasets/crypto?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Market data and fundamentals # Digital asset markets. Digital asset rankings, observed prices, circulating supply and historical market performance. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/crypto?utm_source=llms) Request 50 credits ``` curl https://api.gloom.sh/v1/crypto/assets \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/crypto/sample), which needs no key. Response · data[0] ``` { "name": "Bitcoin", "rank": 1, "price": 84378.35, "marketCap": 1695618170880, "circulatingSupply": 20088362, "quoteTime": "2026-09-23T14:37:53.000Z" } ``` Trimmed real output ## Who uses it. - ### Quant teams Digital asset prices for research. - ### Fintech apps Crypto prices in your app, on Enterprise. ## Coverage and price. - **route**: 1 - **sources**: 2 - **credits a call**: 50 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (1)** - `GET /v1/crypto/assets` Digital asset market rankings and performance 50 credits ## Related. - [Equity screener](https://gloom.sh/datasets/equity-screener?utm_source=llms) - [Session movers, highs/lows and tape](https://gloom.sh/datasets/session-tape?utm_source=llms) - [Mergers and acquisitions](https://gloom.sh/datasets/mna?utm_source=llms) --- Source: https://gloom.sh/datasets/session-tape?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Market data and fundamentals # Session movers, highs/lows and tape. Retained session movers, highs, lows, trades and quotes with timestamps. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/session-tape?utm_source=llms) Request 50 credits ``` curl "https://api.gloom.sh/v1/market/movers?view=premarket&side=up" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/session-tape/sample), which needs no key. Response ``` { "data": [], "meta": { "coverage": { "session": "2026-10-08", "stale": true, "storedSnapshot": true } } } ``` Trimmed real output ## Who uses it. - ### Quant teams Study session movers and extremes. - ### Research agents Explain what moved in a session. - ### Fintech apps Session movers in your app, on Enterprise. ## Coverage and price. - **routes**: 3 - **source**: 1 - **credits for the cheapest call**: 4 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (3)** - `GET /v1/market/movers` Session market movers ranked by performance 50 credits - `GET /v1/market/highs-lows` The latest highs and lows publication 4 credits - `GET /v1/market/tape` Recent delayed trades and quotes 4 credits ## Related. - [Digital asset markets](https://gloom.sh/datasets/crypto?utm_source=llms) - [Analyst estimates and revisions](https://gloom.sh/datasets/analyst-estimates?utm_source=llms) - [Equity screener](https://gloom.sh/datasets/equity-screener?utm_source=llms) --- Source: https://gloom.sh/datasets/analyst-estimates?utm_source=llms [Datasets](https://gloom.sh/datasets?utm_source=llms#datasets) Market data and fundamentals # Analyst estimates and revisions. Consensus estimates and their recorded revisions by company and fiscal period. Every response carries its sources and dates. - [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) - [Read the reference](https://gloom.sh/datasets/docs/datasets/analyst-estimates?utm_source=llms) Request 10 credits ``` curl "https://api.gloom.sh/v1/analyst-estimates?symbols=AAPL" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` With your key, this call returns the latest data. The response is one record of the [free sample](https://api.gloom.sh/v1/datasets/analyst-estimates/sample), which needs no key. Response · data[0].earningsEstimates[0] ``` { "period": "current quarter", "date": "2026-09-30", "analysts": 27, "average": 1.97865, "low": 1.93, "high": 2.07 } ``` Trimmed real output ## Who uses it. - ### Quant teams Track estimate revisions before reports. - ### Research agents Cite the consensus and its range. - ### Fintech apps Estimates on stock pages, on Enterprise. ## Coverage and price. - **routes**: 2 - **source**: 1 - **credits for the cheapest call**: 4 In all 44 datasets on every plan, from $200/mo. [See plans](https://gloom.sh/datasets/pricing?utm_source=llms) **Routes and credits (2)** - `GET /v1/analyst-estimates` Analyst earnings and revenue estimates 10 credits - `GET /v1/analyst-estimates/revisions` Analyst estimate revision history 4 credits ## Related. - [Session movers, highs/lows and tape](https://gloom.sh/datasets/session-tape?utm_source=llms) - [Digital asset markets](https://gloom.sh/datasets/crypto?utm_source=llms) - [Equity screener](https://gloom.sh/datasets/equity-screener?utm_source=llms) --- Source: https://gloom.sh/datasets/docs?utm_source=llms # Gloom Datasets API One API. Every value cited. - [1 **Get a key** Choose a plan, then create your key.](https://gloom.sh/datasets/docs/authentication?utm_source=llms) - [2 **Make a call** GPU prices in curl, Python and TypeScript.](https://gloom.sh/datasets/docs/quickstart?utm_source=llms) - 3 **Read the answer** Explore records, sources and observation dates together. `https://api.gloom.sh/v1` ## Browse datasets **Alternative data 12 GPU rental prices, Supply chain, Hiring postings, Social mentions, and 8 more** - [**GPU rental prices** One observed GPU rental rate, with basis and dated evidence](https://gloom.sh/datasets/docs/datasets/gpu?utm_source=llms) - [**Supply chain** One company relationship with dated quotes, counterparties and source evidence](https://gloom.sh/datasets/docs/datasets/supply-chain?utm_source=llms) - [**Hiring postings** One public job posting, with role, location and observed date](https://gloom.sh/datasets/docs/datasets/hiring-jobs?utm_source=llms) - [**Social mentions** One ticker day of public social mentions and observed article views](https://gloom.sh/datasets/docs/datasets/social-mentions?utm_source=llms) - [**App attention** One app chart observation, with rank, ratings and company mapping](https://gloom.sh/datasets/docs/datasets/app-attention?utm_source=llms) - [**Power and grid** One electricity project, with planned capacity, current status and source evidence](https://gloom.sh/datasets/docs/datasets/power?utm_source=llms) - [**Hiring momentum** One company week of hiring momentum, with observed openings and changes](https://gloom.sh/datasets/docs/datasets/hiring-momentum?utm_source=llms) - [**Perpetuals** One perpetual contract observation, with funding, open interest and market price](https://gloom.sh/datasets/docs/datasets/perps?utm_source=llms) - [**Catalysts and litigation** One regulatory event or deadline, with source evidence and revisions](https://gloom.sh/datasets/docs/datasets/catalysts?utm_source=llms) - [**Research attention** One company research count, with publication lag, rounding and privacy thresholds](https://gloom.sh/datasets/docs/datasets/research-attention?utm_source=llms) - [**Exposure engine** Operating exposure scenarios with sourced evidence and explicit coverage gaps](https://gloom.sh/datasets/docs/datasets/exposure?utm_source=llms) - [**Congress trades** Congressional transactions with member, ticker, amounts and dated disclosure evidence](https://gloom.sh/datasets/docs/datasets/congress?utm_source=llms) **Filings and company text 10 Executive pay, KPIs and guidance, 8-K events, Credit documents and covenants, and 6 more** - [**Executive pay** One company proxy year, with CEO pay, named executives and pay ratio](https://gloom.sh/datasets/docs/datasets/exec-pay?utm_source=llms) - [**KPIs and guidance** One company metric or guidance range with its source quote](https://gloom.sh/datasets/docs/datasets/kpis-guidance?utm_source=llms) - [**8-K events** One 8-K filing, with item codes, event labels and filing link](https://gloom.sh/datasets/docs/datasets/events?utm_source=llms) - [**Credit documents and covenants** One credit facility or covenant, with legal terms and dated evidence](https://gloom.sh/datasets/docs/datasets/credit-documents?utm_source=llms) - [**Earnings-call transcripts** One company earnings call with speakers, full transcript, summary and guidance](https://gloom.sh/datasets/docs/datasets/transcripts?utm_source=llms) - [**Risk factors** One 10-K risk section and its changes from the year before](https://gloom.sh/datasets/docs/datasets/risk-factors?utm_source=llms) - [**Document search** One searchable filing, transcript or news passage with its source link](https://gloom.sh/datasets/docs/datasets/document-search?utm_source=llms) - [**SEC filings, insiders and 13F holders** SEC filings, insider transactions and institutional ownership with dated source records](https://gloom.sh/datasets/docs/datasets/sec?utm_source=llms) - [**Debt maturities** One company's reported debt due by maturity year, from XBRL filings](https://gloom.sh/datasets/docs/datasets/debt-maturities?utm_source=llms) - [**Revenue breakdown** One company's reported revenue by product, segment and region, from filings](https://gloom.sh/datasets/docs/datasets/revenue-breakdown?utm_source=llms) **News (1)** [**News** Publisher stories with ticker links, topics and sentiment, in real time](https://gloom.sh/datasets/docs/datasets/news?utm_source=llms) **Macro and positioning 9 Government awards, US consumer prices, EIA energy inventories, CFTC positioning, and 5 more** - [**Government awards** One government award, with agency, recipient, amount, date and source record](https://gloom.sh/datasets/docs/datasets/awards?utm_source=llms) - [**US consumer prices** One CPI component, with index weight, monthly change and yearly change](https://gloom.sh/datasets/docs/datasets/cpi?utm_source=llms) - [**EIA energy inventories** One weekly EIA inventory series, with observed level and weekly change](https://gloom.sh/datasets/docs/datasets/energy-inventories?utm_source=llms) - [**CFTC positioning** One futures contract report, with open interest and positions by trader class](https://gloom.sh/datasets/docs/datasets/cot?utm_source=llms) - [**FINRA short volume** One ticker day of short-sale volume, total volume and off-exchange ratios](https://gloom.sh/datasets/docs/datasets/short-volume?utm_source=llms) - [**FINRA short interest** One ticker settlement date, with short positions and days to cover](https://gloom.sh/datasets/docs/datasets/short-interest?utm_source=llms) - [**Yield curves and macro series** Economic series observations, scheduled releases and government yield curves by date](https://gloom.sh/datasets/docs/datasets/macro?utm_source=llms) - [**Central bank rates** One central bank policy rate, with changes and scheduled meeting dates](https://gloom.sh/datasets/docs/datasets/central-bank-rates?utm_source=llms) - [**Credit default swaps** Observed corporate, index and sovereign credit derivatives trade prints and spreads](https://gloom.sh/datasets/docs/datasets/cds?utm_source=llms) **Market data and fundamentals 12 Market prices and company fundamentals, Depositary receipts (ADR reference), Futures curves, archives and generics, Rate path, and 8 more** - [**Market prices and company fundamentals** Delayed quotes and history, financial statements, valuation statistics and company profiles](https://gloom.sh/datasets/docs/datasets/market-data?utm_source=llms) - [**Depositary receipts (ADR reference)** One US depositary receipt: its ratio, home lines, sources and market check](https://gloom.sh/datasets/docs/datasets/depositary-receipts?utm_source=llms) - [**Futures curves, archives and generics** Futures contract curves, archived settlements and rolling generic historical price series](https://gloom.sh/datasets/docs/datasets/futures?utm_source=llms) - [**Rate path** One futures-implied policy path, with conditional probabilities for central bank meetings](https://gloom.sh/datasets/docs/datasets/rate-path?utm_source=llms) - [**Options flow, chains and implied volatility** Recorded option flow, gamma positioning, volatility surfaces and delayed expiry chains](https://gloom.sh/datasets/docs/datasets/options?utm_source=llms) - [**Earnings calendar and moves** Report dates, earnings surprises and implied versus realized stock price moves](https://gloom.sh/datasets/docs/datasets/earnings?utm_source=llms) - [**IPO calendar** Public offerings with expected dates, offer terms, listing venues and status](https://gloom.sh/datasets/docs/datasets/ipo?utm_source=llms) - [**Mergers and acquisitions** One acquisition, with parties, cash terms, current status and event evidence](https://gloom.sh/datasets/docs/datasets/mna?utm_source=llms) - [**Equity screener** Stored company metrics filtered by your criteria across one immutable snapshot](https://gloom.sh/datasets/docs/datasets/equity-screener?utm_source=llms) - [**Digital asset markets** Digital asset rankings, observed prices, circulating supply and historical market performance](https://gloom.sh/datasets/docs/datasets/crypto?utm_source=llms) - [**Session movers, highs/lows and tape** Retained session movers, highs, lows, trades and quotes with timestamps](https://gloom.sh/datasets/docs/datasets/session-tape?utm_source=llms) - [**Analyst estimates and revisions** Consensus estimates and their recorded revisions by company and fiscal period](https://gloom.sh/datasets/docs/datasets/analyst-estimates?utm_source=llms) ## Every response data[0] ``` { "gpuModel": "H100", "pricePerGpuHr": 6.88, "currency": "USD", "basis": "list", "observedAt": "2026-10-07T21:46:34.608Z", "stale": false, "sourceUrl": null } ``` Records. ```meta { "dataset": "gpu", "dataThrough": "2026-10-08T19:01:51.633Z", "historyStart": null, "coverage": { "totalRows": 279, "gaps": [] }, "updatedAt": "2026-10-08T19:01:51.633Z", "source": [ { "attribution": "Cloud infrastructure providers" } ] } ``` Sources, dates, coverage. Unknowns: null. [No-key example · 30/hour/address](https://api.gloom.sh/v1/datasets/gpu/sample) - [Authentication](https://gloom.sh/datasets/docs/authentication?utm_source=llms) - [Credits](https://gloom.sh/datasets/docs/credits?utm_source=llms) - [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) - [OpenAPI](https://gloom.sh/datasets/docs/openapi?utm_source=llms) [Next Quickstart](https://gloom.sh/datasets/docs/quickstart?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/quickstart?utm_source=llms # Quickstart Your first dataset call in three steps. ## 1. Get a key Choose a [plan](https://gloom.sh/datasets/console/billing?utm_source=llms), verify your email, then [create a key](https://gloom.sh/datasets/console/keys?utm_source=llms). ```bash export GLOOM_DATASETS_KEY=gds_... ``` ## 2. Call a dataset Read GPU rental prices. Each language makes the same request. **curl** ``` curl https://api.gloom.sh/v1/gpu/prices \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/gpu/prices", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/gpu/prices", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` ## 3. Read the answer ```json { "data": [ { "id": "aws-list:aws:H100:80:SXM:list", "label": "H100 80GB SXM", "sourceLabel": "AWS", "source": "aws-list", "skuKey": "aws:H100:80:SXM:list", "provider": "AWS", "providerClass": "hyperscaler", "region": "US East (N. Virginia)", "gpuModel": "H100", "gpuCount": 8, "formFactor": "SXM", "memoryGb": 80, "basis": "list", "pricePerGpuHr": 6.88, "priceNodeHr": 55.04, "currency": "USD", "availability": null, "observedAt": "2026-10-07T21:46:34.608Z", "effectiveAt": null, "provenance": "live", "sourceUrl": null, "evidenceUrl": null, "provenanceLabel": "live observation", "change1d": 0, "change7d": null, "change30d": null, "stale": false }, { "id": "azure:azure:H100:80:SXM:list", "label": "H100 80GB SXM", "sourceLabel": "Azure", "source": "azure", "skuKey": "azure:H100:80:SXM:list", "provider": "Azure", "providerClass": "hyperscaler", "region": "eastus", "gpuModel": "H100", "gpuCount": 8, "formFactor": "SXM", "memoryGb": 80, "basis": "list", "pricePerGpuHr": 12.29, "priceNodeHr": 98.32, "currency": "USD", "availability": null, "observedAt": "2026-10-07T21:46:30.672Z", "effectiveAt": "2023-12-01T00:00:00.000Z", "provenance": "live", "sourceUrl": null, "evidenceUrl": null, "provenanceLabel": "live observation", "change1d": 0, "change7d": null, "change30d": null, "stale": false }, // … 3 more items ], "meta": { "dataset": "gpu", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-08T19:01:51.633Z", "historyStart": null, "updatedAt": "2026-10-08T19:01:51.633Z", "page": null, "next": null, "coverage": { "totalRows": 279, "gaps": [] }, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Cloud infrastructure providers" }, { "attribution": "Compute rental marketplaces" }, // … 2 more items ] } } ``` Trimmed · 2026-10-08 `X-Credits-Cost`: spent. `X-Credits-Remaining`: balance. See [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) for failures. [Next Authentication and keys](https://gloom.sh/datasets/docs/authentication?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/authentication?utm_source=llms # Authentication and keys Create, use and rotate your dataset keys. ## Get a key [Verify your email](https://gloom.sh/datasets/console?utm_source=llms), [choose a plan](https://gloom.sh/datasets/console/billing?utm_source=llms), then [create a key](https://gloom.sh/datasets/console/keys?utm_source=llms). Payment confirmation starts the plan. Copy the key once; only its hash is stored. ## Send the key ```bash export GLOOM_DATASETS_KEY=gds_... curl https://api.gloom.sh/v1/gpu/prices \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` Keep keys server-side. `x-api-key` also works; `Authorization` takes precedence. ## Key format Use `gds_`. Gloom Pro (`gloom_mcp_`) and News (`gloom_news_`) keys return `401 wrong_key`; other invalid keys return `401 invalid_key`. Dataset keys also read the News API at no credit cost. ## Rotate or revoke Create a replacement, update your environment, then [revoke the old key](https://gloom.sh/datasets/console/keys?utm_source=llms). Revoked or lost keys cannot be recovered. [Limits by plan](https://gloom.sh/datasets/docs/credits?utm_source=llms#limits-by-plan). - [Previous Quickstart](https://gloom.sh/datasets/docs/quickstart?utm_source=llms) - [Next Credits and limits](https://gloom.sh/datasets/docs/credits?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/credits?utm_source=llms # Credits and limits A company KPI lookup costs 1 × 2 = 2 credits. ## What a call costs lookup 1 · history 2 · search 2 · evidence 5 · bulk 25 · change 1 Multiply by the dataset class. Charged after validation, before reading. CPI: 1 × 1 = 1 credit. [Price a call](https://api.gloom.sh/v1/datasets/cost?endpoint=awards.detail&id=1111111111111111111111111111111111111111) without a key. A [batch](https://gloom.sh/datasets/docs/batches?utm_source=llms) costs that once per listing it reads: `symbols=AAPL,MSFT` on a 2-credit route is 4. [Price a batch](https://api.gloom.sh/v1/datasets/cost?endpoint=kpis.company&symbols=AAPL,MSFT). ## Headers - `X-Credits-Cost`: spent; `X-Credits-Remaining`: balance; `X-Plan`: plan. - `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset`: this minute's credits. - `Request-Id`: support reference. `Retry-After`: seconds to wait on 429 or 503. - `ETag`: send it back as `If-None-Match`. An unchanged answer is a free `304`. ## Rate limits - Per-minute budgets count credits: a 10-credit call uses 10. Exceeded: `429 rate_limited`. A batch heavier than the whole minute is a free `400`. - A `404`, a `429` that says the market source's capacity is used up, a `5xx` from a source that failed to answer, and each listing in a batch that is `empty`, `not_found` or `unavailable`, give their per-minute credits back like their price. Every call keeps one, so a loop of misses still meets the limit. A `400` keeps its weight. - Period exhausted: `429 credits_exhausted` until renewal. `Retry-After` gives seconds. Unused credits expire. - Errors cost nothing: a refused request is not charged, and a 404 or 503 after the charge is refunded. `X-Credits-Cost` shows what was kept. - A call that finds nothing is free too, and gives its per-minute credits back: quotes where no symbol is found, bars for a window with no sessions, `/v1/depositary-receipts` when no receipt matches (its coverage counts are not charged for). A response that carries data is charged, a quote with no price included. Lists that send leaders, aggregates or facets beside their rows (awards, power, catalysts) stay charged even when their rows are empty. ## Your balance `GET /v1/datasets/account` and `GET /v1/datasets/usage` are free. Routes that take `asOf` read a past point in time on every plan. ## Limits by plan | Plan | Keys | Credits a month | Credits a minute | | --- | --- | --- | --- | | Basic | 5 | 150,000 | 300 | | Desk | 20 | 1,000,000 | 1,200 | | Enterprise | by contract | by contract | by contract | Enterprise defaults: 100 keys, 6,000 credits/minute/key, until contracted. No plan: 0 keys, 0 credits; `402 plan_required`. ## Cost by route `each`: the price once per listing in `symbols=`. Listings a dataset does not know are free. **All routes (119)** | Route | Type | Class | Credits | | --- | --- | --- | --- | | `/v1/gpu/prices` | lookup | x4 | 4 | | `/v1/gpu/history` | history | x4 | 8 | | `/v1/gpu/changes` | change | x4 | 4 | | `/v1/macro/cpi` | lookup | x1 | 1 | | `/v1/energy/inventories` | lookup | x1 | 1 | | `/v1/cot` | lookup | x1 | 1 | | `/v1/cot/{contractCode}` | history | x1 | 2 | | `/v1/awards` | search | x2 | 4 each | | `/v1/awards/{id}` | evidence | x2 | 10 | | `/v1/kpis` | lookup | x2 | 2, 4 with `from` or `to` each | | `/v1/guidance` | lookup | x2 | 2, 4 with `from` or `to` each | | `/v1/credit/instruments` | search | x4 | 8 | | `/v1/credit/instruments` with `symbols` | history | x4 | 8 each | | `/v1/credit/{symbol}/instruments/{id}` | evidence | x4 | 20 | | `/v1/exec-pay` | lookup | x2 | 2 each | | `/v1/exec-pay` with `year` | evidence | x2 | 10 each | | `/v1/risk-factors` | lookup | x2 | 2 each | | `/v1/risk-factors` with `year` | evidence | x2 | 10 each | | `/v1/filing-events` | search | x1 | 2 each | | `/v1/revenue-breakdown` | history | x2 | 4 each | | `/v1/debt-maturities` | history | x2 | 4 each | | `/v1/catalysts` | search | x1 | 2 each | | `/v1/catalysts/{id}` | evidence | x1 | 5 | | `/v1/catalysts/changes` | change | x1 | 1 each | | `/v1/filings` | lookup | x1 | 1 each | | `/v1/sec/filing/documents` | lookup | x1 | 1 | | `/v1/sec/filing/content` | evidence | x1 | 5 | | `/v1/insider-trades` | bulk | x1 | 25 each | | `/v1/holdings` | history | x1 | 2 each | | `/v1/hiring` | search | x4 | 8 | | `/v1/hiring` with `symbols` | history | x4 | 8 each | | `/v1/job-postings` | search | x4 | 8 each | | `/v1/hiring/momentum` | lookup | x4 | 4 | | `/v1/hiring/momentum` with `symbols` | history | x4 | 8 each | | `/v1/datasets/hiring-jobs/coverage` | lookup | x4 | 4 | | `/v1/hiring/moves` | search | x4 | 8 | | `/v1/hiring/moves/{symbol}` | history | x4 | 8 | | `/v1/hiring/expansion` | search | x4 | 8 | | `/v1/hiring/anomalies` | search | x4 | 8 | | `/v1/hiring/signals/{symbol}` | history | x4 | 8 | | `/v1/hiring/building` | search | x4 | 8 | | `/v1/hiring/building/{symbol}` | history | x4 | 8 | | `/v1/datasets/hiring-momentum/coverage` | lookup | x4 | 4 | | `/v1/apps` | history | x4 | 8 | | `/v1/apps` with `symbols` | history | x4 | 8 each | | `/v1/apps/{store}:{appId}` | history | x4 | 8 | | `/v1/datasets/app-attention/coverage` | lookup | x4 | 4 | | `/v1/power/projects` | bulk | x4 | 100 each | | `/v1/power/capacity` | history | x4 | 8 each | | `/v1/power/projects/{id}` | evidence | x4 | 20 | | `/v1/datasets/power/coverage` | lookup | x4 | 4 | | `/v1/perps/markets` | lookup | x1 | 1 | | `/v1/perps/markets` with `baseAsset` | lookup | x1 | 1 | | `/v1/perps/markets` with `symbols` | lookup | x1 | 1 each | | `/v1/perps/markets/{marketId}/history` | history | x1 | 2 | | `/v1/perps/rankings` | lookup | x1 | 1 | | `/v1/perps/markets/{marketId}` | evidence | x1 | 5 | | `/v1/research-attention` | lookup | x4 | 4 | | `/v1/research-attention` with `symbols` | history | x4 | 8 each | | `/v1/supply-chain/graph` | bulk | x4 | 100 each | | `/v1/supply-chain/paths` | bulk | x4 | 100 | | `/v1/supply-chain/relationships` | search | x4 | 8 each | | `/v1/exposure/scenarios` | lookup | x2 | 2 | | `/v1/exposure/analyze` | bulk | x2 | 50 | | `/v1/transcripts` | search | x2 | 4 each | | `/v1/transcripts/{id}` | evidence | x2 | 10 | | `/v1/search` | search | x2 | 4 | | `/v1/documents/{docType}:{sourceId}` | evidence | x2 | 10 | | `/v1/stories` | search | x2 | 4 | | `/v1/stories/sources` | lookup | x2 | 2 | | `/v1/stories/facets` | lookup | x2 | 2 | | `/v1/stories/{id}` | evidence | x2 | 10 | | `/v1/social-mentions` | history | x4 | 8 each | | `/v1/social-mentions/posts` | search | x4 | 8 each | | `/v1/short-volume` | history | x1 | 2 each | | `/v1/short-interest` | history | x1 | 2 each | | `/v1/insider-trades/changes` | change | x1 | 1 | | `/v1/insider-trades/signals` | bulk | x1 | 25 | | `/v1/holdings/crowding` | bulk | x1 | 25 | | `/v1/congress-trades` | search | x1 | 2 each | | `/v1/yield-curves` | lookup | x1 | 1 | | `/v1/yield-curves/{curve}` | history | x1 | 2 | | `/v1/macro/series/{seriesId}` | history | x1 | 2 | | `/v1/macro/calendar` | lookup | x1 | 1 | | `/v1/central-bank-rates` | history | x1 | 2 | | `/v1/cds/trades` | search | x2 | 4 | | `/v1/cds/curves` | history | x2 | 4 | | `/v1/cds/indexes` | bulk | x2 | 50 | | `/v1/cds/sovereigns` | bulk | x2 | 50 | | `/v1/depositary-receipts` | search | x2 | 4 | | `/v1/depositary-receipts` with `symbols` | lookup | x2 | 2 each | | `/v1/fundamentals/statements` | evidence | x4 | 20 each | | `/v1/fundamentals/metrics` | evidence | x4 | 20 each | | `/v1/companies` | evidence | x2 | 10 each | | `/v1/market/quotes` | search | x2 | 4 | | `/v1/market/snapshot` | evidence | x4 | 20 each | | `/v1/market/bars` | history | x2 | 4 each | | `/v1/datasets/market-data/fields` | lookup | x2 | 2 | | `/v1/futures/curves/{root}` | bulk | x2 | 50 | | `/v1/futures/curves/{root}` with `date` | history | x2 | 4 | | `/v1/futures/continuous/{ticker}` | history | x2 | 4 | | `/v1/rate-path` | bulk | x2 | 50 | | `/v1/options/flow` | history | x2 | 4 each | | `/v1/options/iv` | history | x2 | 4 each | | `/v1/options/surfaces` | bulk | x2 | 50 each | | `/v1/options/chains` | bulk | x2 | 50 each | | `/v1/options/gamma` | bulk | x2 | 50 each | | `/v1/earnings` | search | x2 | 4 | | `/v1/earnings/moves` | history | x2 | 4 each | | `/v1/ipos` | search | x2 | 4 | | `/v1/mna-deals` | search | x2 | 4 each | | `/v1/mna-deals/{id}` | evidence | x2 | 10 | | `/v1/equity-screener` | search | x2 | 4 | | `/v1/crypto/assets` | bulk | x2 | 50 | | `/v1/market/movers` | bulk | x2 | 50 | | `/v1/market/highs-lows` | history | x2 | 4 | | `/v1/market/tape` | history | x2 | 4 each | | `/v1/analyst-estimates` | evidence | x2 | 10 each | | `/v1/analyst-estimates/revisions` | history | x2 | 4 each | - [Previous Authentication and keys](https://gloom.sh/datasets/docs/authentication?utm_source=llms) - [Next Batches](https://gloom.sh/datasets/docs/batches?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/batches?utm_source=llms # Batches Up to 50 companies in one call. ```bash curl "https://api.gloom.sh/v1/kpis?symbols=AAPL,brk-b,QQZZX" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` ```json { "data": [ { "symbol": "AAPL", "key": "…", "latest": { … } }, { "symbol": "AAPL", "key": "…", "latest": { … } }, { "symbol": "BRK.B", "key": "…", "latest": { … } } ], "meta": { "symbols": [ { "input": "AAPL", "symbol": "AAPL", "status": "ok" }, { "input": "brk-b", "symbol": "BRK.B", "status": "ok" }, { "input": "QQZZX", "symbol": "QQZZX", "status": "not_found" } ] } } ``` - Any notation: `AAPL`, `BRK-B`, `BRK/B`, `AIR.PA`, `VOD:XLON`, `7203:TSE`. The venue may come first: `TYO:7203`, `NASDAQ:AAPL`, `HKEX:9988`. Taiwan's `XTAI` reads as TWSE. `data` is one list across the listings read, in the order sent; each row names its listing in `symbol`. - Each `ok` listing costs the route's price: this call, 4 credits. `empty` (the dataset has no rows for the listing), `not_found` (no listing by that notation, or the dataset does not know it) and `unavailable` are free. One symbol the route refuses answers its own `4xx`, with `param: "symbols"`, also free. - `GET /v1/datasets/cost` prices every listing it can read and says so in `meta.notices`: a listing the dataset holds nothing for is free when the call is made. - `limit` counts per listing; `meta.next` pages them all. - `/v1/market/quotes`, `/v1/earnings` and `/v1/search` read the list at one price. A list in which no listing is found is free; a listing read in part (a quote with no price) is charged. Old paths answer `308` to their new ones until 23 January 2027. The [changelog](https://gloom.sh/datasets/docs/changelog?utm_source=llms) maps every one. - [Previous Credits and limits](https://gloom.sh/datasets/docs/credits?utm_source=llms) - [Next Fields and blocks](https://gloom.sh/datasets/docs/fields?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/fields?utm_source=llms # Fields and blocks Keep the fields you read, add the blocks you need. ```bash curl -G "https://api.gloom.sh/v1/kpis" \ -d symbols=AAPL,MSFT \ -d fields=key,latest \ -d include=methodology \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` ```json { "data": [ { "symbol": "AAPL", "key": "…", "latest": { … } }, { "symbol": "MSFT", "key": "…", "latest": { … } } ], "included": { "methodology": { "AAPL": "…", "MSFT": "…" } }, "meta": { … } } ``` - `data` is the route's rows, or its one record. A row has every field its schema names, null when the source has no value. - `fields=` keeps the fields named. On a company route, each row keeps `symbol`. - `include=` adds blocks such as facets, coverage or methodology under `included`. On a company route, each block is keyed by listing. - Neither changes the price. An unknown name is a free `400` that lists the names the route takes; an empty list is as if not sent. - Each route's reference lists its fields and blocks; the [OpenAPI document](https://gloom.sh/datasets/docs/openapi?utm_source=llms) types every one. - [Previous Batches](https://gloom.sh/datasets/docs/batches?utm_source=llms) - [Next Paging](https://gloom.sh/datasets/docs/paging?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/paging?utm_source=llms # Paging Every list takes limit and cursor. ```json "meta": { "page": { "limit": 100, "hasMore": true, "nextCursor": "eyJvIjoxMDAs…", "total": null }, "next": "/v1/gpu/prices?limit=100&cursor=eyJvIjoxMDAs…" } ``` ```python url = "/v1/gpu/prices?limit=100" while url: page = get(url) rows += page["data"] url = page["meta"]["next"] ``` - Request `meta.next` until it is null. Where a route counts its rows, `meta.page.total` is how many match on every page. - In a [batch](https://gloom.sh/datasets/docs/batches?utm_source=llms), `limit` counts per listing and one cursor pages them all. - Without `limit`, a route reads its default page size, listed in the reference. - A cursor belongs to its query. Change a filter and start again; `limit` may change between pages. - A cursor from another query is a free `400 cursor_invalid`. - Search and SEC lists stop 5,000 rows deep. Narrow the query to reach older rows. - A change feed such as `/v1/catalysts/changes` ends `meta.next` once it has caught up. Its `meta.cursor` stays the place to resume at your next poll, so keep it and send it as `cursor`. Read for several listings, each one's is in `meta.symbols`. - Routes that do not page answer `"page": null`. ## Only what changed `updatedSince` keeps the rows updated at or after a moment, on `/v1/perps/markets`, `/v1/hiring/momentum` and `/v1/gpu/prices`. It pages like any other filter, and `meta.page.total` and `meta.coverage` count only the rows it keeps. ```python from urllib.parse import quote url = f"/v1/hiring/momentum?updatedSince={quote(last_sync)}" ``` - It is inclusive: a row updated at exactly `last_sync` comes back again. Start from the last sync's time and drop rows you already hold. - URL-encode the time. A `+` in an offset such as `+02:00` reads as a space and is a `400`. - Perpetual markets are read from their venue every few minutes, so most active markets match each poll. - Each page is charged like any other, even when it holds no rows. A listing read with `symbols=` that finds nothing stays free, as in any batch. - [Previous Fields and blocks](https://gloom.sh/datasets/docs/fields?utm_source=llms) - [Next Polling insider trades](https://gloom.sh/datasets/docs/insider-trades?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/insider-trades?utm_source=llms # Polling insider trades Form 4 buys and sells, as they are filed. ```bash curl "https://api.gloom.sh/v1/insider-trades?symbols=CRBG&side=buy&limit=3" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` ```json { "data": [ { "symbol": "CRBG", "accessionNumber": "0001193125-26-430508", "form": "4", "filingDate": "2026-10-23", "acceptedAt": "2026-10-23T20:30:03.000Z", "observedAt": "2026-10-23T20:33:45.160Z", "sourceUrl": "https://www.sec.gov/Archives/edgar/data/1889539/000119312526430508/0001193125-26-430508-index.htm", "issuerName": "Corebridge Financial, Inc.", "ticker": "CRBG", "transactionType": "P", "side": "buy", "transactionDate": "2026-10-21", "reportedName": "NIPPON LIFE INSURANCE CO", "role": "10% owner", "shares": 217182, "pricePerShare": 35.382, "totalValue": 7684333.524, "sharesOwned": 130420666, "counted": true, "exclusion": null, "source": "index" } ], "meta": { "dataThrough": "2026-10-23T20:30:03.000Z", "historyStart": "2026-07-20", "page": { "limit": 3, "hasMore": true, "nextCursor": "eyJiIjpbWzAsM11dLCJzIjoiRHVpaFRVWi05cG9wIn0", "total": 36 }, "notices": [ { "code": "disclaimer", "message": "Insider trades come from the Form 4 index, which starts 2026-07-20: earlier trades are not listed." } ] } } ``` Trimmed from a real answer: one of three rows, and some fields left out. ## The rows - Every Form 4 and 4/A line coded P (`side` buy, an open-market purchase) or S (`side` sell, an open-market sale). Lines with other codes, such as awards (A), option exercises (M), tax withholding (F) and gifts (G), are not listed. - Each cites its filing: `accessionNumber`, `sourceUrl` (the filing on EDGAR) and `acceptedAt`, when SEC accepted it. `observedAt` is when the filing was added to this dataset. - `counted` says whether [insider signals](https://gloom.sh/datasets/docs/datasets/sec?utm_source=llms) count the line; `exclusion` says why not: `10b5-1`, `tax`, `exercise`, `derivative` and others. - `source` is `index`, the Form 4 index, which starts at `meta.historyStart`. A company with no trade there, asked for older history, is read live from its newest Form 4s: `source` is `live`. ## The summary block `include=summary` adds each listing's totals under `included.summary`, at no extra cost. Add it to the call above, and the answer also holds: ```json { "included": { "summary": { "CRBG": { "source": "index", "totalRows": 36, "complete": false, "foreignPrivateIssuer": false } } } } ``` - `totalRows` counts every row that matches the query (`symbols`, `since`, `side`) on every page. - `meta.page.hasMore` is true when more of them follow this page. `meta.next` reads them. - `complete` is false when the query reaches back past what the source holds: no `since`, or one before the index starts, or past the oldest Form 4 a live read got to. A notice in `meta.notices` says so. - `foreignPrivateIssuer` is true for a company that reports as a foreign private issuer: its insiders file no Form 4. ## Polling `/v1/insider-trades?since=` keeps the filings SEC accepted at or after `since`. A filing without an acceptance time counts from 00:00 UTC on the day it was filed. A company with nothing new is free, so a watchlist poll that finds nothing costs nothing. A company with rows costs the route's price. The feed is cheaper for a poller: one credit a call, any number of `symbols`. It lists each filing once, whole, in the order the filings were added, so a filing that reached the index late is still seen. ```python cursor = None while True: query = {"since": "2026-10-24T00:00:00Z", "symbols": "AAPL,NVDA,CRBG"} if cursor: query["cursor"] = cursor page = get("/v1/insider-trades/changes", query) alert(page["data"]) cursor = page["meta"]["cursor"] if not page["meta"]["page"]["hasMore"]: sleep(15 * 60) ``` - Keep `since` fixed and send `meta.cursor` back as `cursor`. It moves past the filings your filters leave out, so the next read starts where this one ended. - `meta.page.hasMore` is true when more filings are there already: read again at once, or follow `meta.next`. Caught up, it is false and `meta.next` is null, so a `while next` loop stops; `meta.cursor` is where the next poll starts. - A filing shows up a few minutes after SEC accepts it, and 30 seconds after it is added, so a filing still being written is never skipped. - Each filing is listed once, when it is first added. A filing that a rule change later gives new trade lines keeps its place and is not listed again: `/v1/insider-trades` shows its lines. - Filters: `symbols` (up to 50) and `side`. `limit` counts rows, up to 200; a page ends on a whole filing. - [Previous Paging](https://gloom.sh/datasets/docs/paging?utm_source=llms) - [Next Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/errors?utm_source=llms # Errors Branch on the type, then the code. Messages may change. ```json { "error": { "type": "invalid_request", "code": "parameter_invalid", "message": "limit must be between 1 and 100.", "param": "limit", "requestId": "9f1c2e4a-…", "docUrl": "https://gloom.sh/datasets/docs/errors#parameter_invalid" } } ``` - `param` names the parameter or header at fault, or is null. - Errors cost nothing. A 404 or 503 after the charge is refunded. - A 401 without a key carries `WWW-Authenticate: Bearer realm="Gloom Datasets"`; a refused key adds `error="invalid_token"`. - A 405 carries `Allow`, the methods the path takes. Browsers can read it. - For support, quote `Request-Id`. ## Types | Status | Type | Retry-After | | --- | --- | --- | | 400 | `invalid_request` | No | | 401 | `authentication` | No | | 402 | `plan` | No | | 403 | `permission` | No | | 404 | `not_found` | No | | 405 | `invalid_request` | No | | 429 | `rate_limit` | Yes | | 503 | `api_error` | Yes | **What each code means (18)** - **`parameter_unknown` 400**: A parameter this route does not take. `param` names it. - **`parameter_missing` 400**: A required parameter is missing. `param` names it. - **`parameter_invalid` 400**: A parameter has the wrong type, format or range. - **`parameter_repeated` 400**: A parameter was sent more than once. - **`cursor_invalid` 400**: The cursor does not belong to this route and query. Start again without it. - **`body_invalid` 400**: The JSON body is missing, too large or does not match. - **`version_invalid` 400**: The Gloom-Version header names no published version. Every route answers in the latest. - **`missing_key` 401**: No key was sent. Use Authorization: Bearer gds_... - **`invalid_key` 401**: The key is unknown or revoked. - **`wrong_key` 401**: A Gloom Pro or News key was sent. Datasets keys start gds_. - **`plan_required` 402**: The account has no plan. Choose one to read data. - **`dataset_not_included` 402**: The plan does not include this dataset or depth. - **`key_disabled` 403**: The key or its account is disabled, or the email is unverified. - **`not_found` 404**: No record has this id, or the path is not a Datasets route. - **`method_not_allowed` 405**: The route does not take this method. The Allow header lists the ones it does. - **`rate_limited` 429**: The key is over its per-minute credits. Wait Retry-After. - **`credits_exhausted` 429**: The period's credits are spent. They renew with the period. - **`unavailable` 503**: The stored dataset cannot be read right now. Retry later. - [Previous Polling insider trades](https://gloom.sh/datasets/docs/insider-trades?utm_source=llms) - [Next OpenAPI](https://gloom.sh/datasets/docs/openapi?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/openapi?utm_source=llms # OpenAPI document OpenAPI 3.1 for Gloom Datasets. [Download openapi.json](https://gloom.sh/datasets/openapi.json). Import into Postman, Insomnia or a client generator. `GET https://api.gloom.sh/v1/datasets` lists datasets. The API also serves `/v1/datasets/openapi.json`. Example responses are at each dataset's free sample route, such as `https://api.gloom.sh/v1/datasets/gpu/sample`. **Schema extensions (8)** - **`x-dataset`**: Dataset id. - **`x-credit-cost`**: Credits per call. - **`x-credit-cost-history`**: Credits with a date range, where different. - **`x-credit-call-type`**: Call type, such as lookup, history, search or evidence. - **`x-credit-multiplier`**: Dataset class. - **`x-plans`**: Plans that can call the route. - **`x-asof-plans`**: Plans that can read point in time. - **`x-sample-url`**: Static example; no key or account. The response labels illustrative values. The document's `x-plans` lists credits, rate and keys, including `none`: no plan. Dataset routes use different keys from the Gloom API. - [Previous Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) - [Next Changelog](https://gloom.sh/datasets/docs/changelog?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/changelog?utm_source=llms # Changelog Every change to the contract, by dated version. Every route answers in the latest version, and each response names it in `Gloom-Version`. Older versions are not served; a header naming no published version is a free `400 version_invalid`. Renamed paths answer `308` to the new one, with `Deprecation`, `Sunset` and `Link`, until 23 January 2027. `GET /v1/datasets/changelog` returns this list as JSON. ## 2026-10-26: Typed responses - `data` is a route's rows, as one list, or its one record. Lists no longer sit under a key of their own (`rows`, `events`, `items`, `series` and 36 more): read `data` itself. - On a company route, `data` is one list across every listing read, in the order sent, and each row names its listing in `symbol`. A route with one record per listing gives one row each. - Each row and record is a named schema in the OpenAPI document, every field described. A field the schema names is always there, null when the source has no value. - `fields=` keeps only the fields named. `include=` adds a route's other blocks, such as facets, coverage or methodology, under `included`, keyed by listing on a company route. Neither changes the price. An unknown name is a free `400`; an empty list is as if not sent. **14 more changes** - Warnings, gaps, truncation and disclaimers a route gave inside `data` are now `meta.notices`. So is a `status` that says an answer is not whole: `partial`, `unavailable`, `incomplete` (a period not complete yet), `stale` or `closed` (the market is closed). Timestamps beside the rows (`generatedAt`, `asOf`, `fetchedAt`, `retrievedAt`, `sourceAsOf`, `lastCollectedAt`) are gone: `meta` has them. - Paging inside `data` is gone: `hasMore`, `nextCursor`, `nextOffset`, `limit`, `offset`, `page`, `total`, `totalRows`, `countCapped` and the nested `spreadsPage`, `evidencePage`, `locationPage` and `history*` counts. `meta.page` and `meta.next` page every list, and the new `meta.page.total` counts the rows that match on every page, where a route counts them. - A change feed's resume cursor (`/catalysts/changes`, `/insider-trades/changes`) is `meta.cursor`, there caught up too. A route that pages by its own cursor, read for several listings, gives each listing's in `meta.symbols[].cursor`. - `/options/flow` and `/equity-screener` page as every list does: send `meta.page.nextCursor` back as `cursor`. `/options/flow` still takes `before`, and its cursor is opaque now: one in the earlier JSON form still pages, and one the route did not issue is a free `400 cursor_invalid`. The screener takes `limit` and `cursor` beside `definition`, in place of the definition's own. - `updatedSince` keeps only the rows updated at or after a moment: markets read from their venue on `/perps/markets`, companies recomputed on `/hiring/momentum`, rates observed on `/gpu/prices`. Pages hold only those rows, and `meta.page.total`, where a route gives it, counts them. - `/insider-trades` gives `source`, `totalRows`, `complete` and `foreignPrivateIssuer` with `include=summary`, by listing. - `/insider-trades/signals` takes `window` as a whole number of days from 1 to 90. - Perpetuals that track a listing (`/perps/markets?symbols=`) name the venue's own symbol `venueSymbol`; `symbol` is the listing. `longShortRatioReason` is `unsupported` or `unavailable`. - `/market/snapshot` and `/market/bars` keep their own `fields=`, the figures to read, and give them in `values`; their units moved to `include=units`. On `/market/bars`, why a field has no value and a cut history are `meta.notices`, and `derived` marks a fiscal Q4 bar derived from the full year. `/fundamentals/statements` gives each period's lines in `values` too. - A hiring week that is not measured says why in `excluded`, as `unmeasuredReasons` counts it: `first_week`, `board_changed`, `board_removed`, `backlog`, `incomplete`, `missing_data`, `outage`, `platform_wide`, `shared_board` or `other`. A company's hiring momentum `status` is `pending`, no longer `collecting`, while it has too few weeks to give a change. - Supply chain rows say whose filing states them in `statement`: `says`, the company's own, or `named`, another company's. Settlement and continuous futures rows carry `currency` and `quoteUnit`. - Gone, as the request or `meta` already gives them: request echoes (`symbol`, `ticker`, `underlyingSymbol`, `underlying`, `period`, `view`, `side`, `filter`, `filters`, `group`, `window`, `week`, `day`, `tenor`, `issuer`, `currency`, `from`, `to`, `resolution`, `chamber`, `year`, `store`, `appId`, `marketId`, `options`, `requestedDepth`, `maxDepth`); `version`; and source details (`source`, `sources`, `feed`, `methodology`, `methodologyUrl`, `snapshotAt`, `scope`, `reportFamily`, `traderClass`, `delayMinutes`, `delaySeconds`), which `meta.source`, `meta.coverage` and `meta.delayed` give. - Also gone: names beside the rows (`company`, `name`, `root`, `issueName`, `finraSymbol`, `cik`, `exchange`); counts the rows give (`counts`, `covered`); awards' `rawPayload`, `storage`, `fieldAsOf`, `fieldSourceUrls`, `dataBasis`, `dataEffectiveDate`, `sourceRevisionId`, `parentSource`, `transactionId`, `evidenceQuote` and `confidence`; guidance's `merged` and `seriesLabels`; credit's `obligor` and `history`; perps' `equityMatch`; app ranks' `companyName`; research attention's `relativeVolumeAsOf`, `selectedListing` and `historyEvidence`; `/market/tape`'s `observedFrom`, `capacity`, `dropped`, `corrections`, `cancels` and `connected`; Congress's `indexUpdatedAt`, `filingsScanned`, `filingsParsed`, `filingsFailed`, `filingsPending`, `filingsPaper`, `filingCount` and `filingOffset`; movers' `session` and `phase`; insider signals' `through` and `marketCaps`; M&A's `delayDays`; the rate path's `probabilityAssumption`; revenue breakdown's `periods`; SEC documents' `sequence`; statistics' `dividendYieldSource`; hiring's `staleAfter` and `requestedSymbol`; and `/market/bars`' `items` (`input`, `status`, `resolved`), which `meta.symbols` gives. - Statements that only the fallback source holds are served again on `/v1/fundamentals/statements`: it asked that source for more history than the plan gives, and every such listing was refused. A cold one loads in stages within a key's per-minute allowance, so its first two calls can answer `429 rate_limited` with `Retry-After` and the third the statements. What was loaded is kept for the retry. ## 2026-10-25: Catalyst change feed, empty listings, clearer errors - Removed: `hasMore` and `nextOffset` on `/v1/filings` items (page with `meta.page` and `meta.next`), and `state` and `disabledReason` on `coverage.sources[]` of catalyst pages, so their ETag moves only with the data. - `/v1/catalysts/changes`: `meta.page` ends and `meta.next` is null once caught up. `data.nextCursor` is where to resume. - `/v1/catalysts/changes` takes `revisions=all`, which lists every revision. - `/v1/catalysts/changes` takes `symbols=`, with one cursor per listing. **12 more changes** - `meta.symbols[].status` gains `empty`: the dataset answered with no rows. `not_found` means no such listing. Both are free. - A list call that finds nothing is free, and gives its per-minute credits back: `/v1/market/quotes` where no symbol is found, `/v1/market/bars` for a window with no sessions (the listing is `empty`), and `/v1/depositary-receipts` when no receipt matches, though it still sends the dataset's coverage counts. A response that carries data is charged, a quote with no price included, and lists that carry leaders, aggregates or facets beside their rows (`/v1/awards`, `/v1/power/projects`, `/v1/catalysts`) stay charged. - A single unknown symbol's `404` names `symbols` in `param`, and a `404` no longer spends the key's per-minute credits. - A bad `since` says it takes an ISO 8601 timestamp, such as `2026-10-23T10:00:00Z`. - `/v1/market/snapshot` and `/v1/market/bars` answer a free `400` on `fields` when a field is unknown or not served, with the fields that are served and, for a known field that is not, the reason. Before, they answered `200` with an empty `data`. - `GET /v1/datasets/cost` says in `meta.notices` that its price is a ceiling. - An unknown symbol on `/v1/companies`, `/v1/fundamentals/statements` and `/v1/fundamentals/metrics` is `not_found` on the first lookup, not only on the repeat, and statements or statistics that no source holds are a `404`, not a `503`. `unavailable` stays for a source that failed to answer. - An unknown symbol on `/v1/fundamentals/statements` is a free `404`, and `not_found` in a batch, on the first call too: it was a `429 rate_limited` or a `503 unavailable` while the market source could not serve statements. A listing the source holds but cannot serve stays a `503`. A call that fails with a `429` or a `5xx`, and a batch listing that is `unavailable`, give back their per-minute credits as a `404` does; a `400` keeps its weight. - `symbols=` reads the venue first as well as last: `TYO:7203` is `7203:TYO`, `NASDAQ:AAPL` is `AAPL`, `HKEX:9988` is `9988:HKEX`. `XTAI`, Taiwan's MIC, reads as TWSE. - An ETag stays the same for the same data, whatever order its keys came in: an unchanged `/v1/market/quotes` answers a free `304` each time. - Browser callers can send `If-None-Match`, `Gloom-Version` and `X-API-Key`: the CORS preflight allows them. - The market data docs no longer date its history from a sample's first statement: daily bars go back decades for long-listed stocks (AAPL from 1995), and prices are split-adjusted, not dividend-adjusted. ## 2026-10-24: Seven datasets move to credit class x4 - Seven datasets moved to credit class x4. Other datasets, call-type credits, plans and allowances are unchanged. `GET /v1/datasets/cost` gives every price. - Hiring postings: x2 → x4. Lookup 2 → 4, history and search 4 → 8. - Hiring momentum: x2 → x4. Lookup 2 → 4, history and search 4 → 8. - Supply chain: x2 → x4. Search 4 → 8, bulk 50 → 100. **4 more changes** - App attention: x1 → x4. Lookup 1 → 4, history 2 → 8. - Research attention: x1 → x4. Lookup 1 → 4, history 2 → 8. - Social mentions: x1 → x4. History and search 2 → 8. - Power and grid: x1 → x4. Lookup 1 → 4, history 2 → 8, evidence 5 → 20, bulk 25 → 100. ## 2026-10-23: Batches and route names - Company routes take `symbols=`: up to 50 listings, in any notation (`AAPL`, `BRK-B`, `BRK/B`, `AIR.PA`, `VOD:XLON`). Path symbols, `ticker`, `tickers` and `exchange` are gone. - A batch costs one call's price per listing. Routes that already took several tickers keep their flat price: `/market/quotes`, `/earnings` and `/search`. - `data` holds one item per listing read, in the order sent, each with its canonical `symbol`. `meta.symbols` maps each input to its listing and status. - Renamed routes answer `308` to their new path, with `Deprecation`, `Sunset` and `Link` headers, until 2027-01-23. **10 more changes** - A listing that is unknown, or that the dataset holds nothing for, is `not_found` in `meta.symbols` and costs nothing. One that cannot be read right now is `unavailable`, also free. A call naming one symbol that the route refuses answers the route's own `4xx`, free. - With several listings, `limit` applies to each one and one cursor pages them all; `meta.coverage` is by listing. `/awards` pages one listing at a time. - A batch counts its credits against the key's minute. One heavier than the whole minute is a free `400`: send fewer symbols. - `/earnings` filters strictly on `symbols`; it no longer adds them to each day's largest reports. - Coverage routes moved to `/v1/datasets/{id}/coverage`, the market field list to `/v1/datasets/market-data/fields`. - `/v1/hiring` now answers hiring postings; the momentum board moved to `/v1/hiring/momentum`. - Every route answers in this version. `Gloom-Version` on a request does not pick an older one, and old paths are aliases of the new routes. - `/market/bars` takes `from` and `to`, and `/social-mentions/posts` takes `date`. - `/v1/datasets/cost` prices a batch: `symbols` counts the listings it charges, `unitCredits` is the price of one. - Every `meta` has `symbols`, null when a call names none. **84 moved routes** | Old | New | | --- | --- | | `/v1/kpis/{symbol}` | `/v1/kpis?symbols=` | | `/v1/guidance/{symbol}` | `/v1/guidance?symbols=` | | `/v1/credit/screen` | `/v1/credit/instruments` | | `/v1/credit/{symbol}` | `/v1/credit/instruments?symbols=` | | `/v1/exec-pay/{symbol}` | `/v1/exec-pay?symbols=` | | `/v1/exec-pay/{symbol}/{year}` | `/v1/exec-pay?symbols=&year=` | | `/v1/risk-factors/{symbol}` | `/v1/risk-factors?symbols=` | | `/v1/risk-factors/{symbol}/{year}` | `/v1/risk-factors?symbols=&year=` | | `/v1/events/{symbol}` | `/v1/filing-events?symbols=` | | `/v1/revenue-breakdown/{symbol}` | `/v1/revenue-breakdown?symbols=` | | `/v1/debt-maturities/{symbol}` | `/v1/debt-maturities?symbols=` | | `/v1/catalysts?symbol=` | `/v1/catalysts?symbols=` | | `/v1/litigation/{symbol}` | `/v1/catalysts?symbols=&litigation=true` | | `/v1/catalysts/events/{id}` | `/v1/catalysts/{id}` | | `/v1/awards?ticker=` | `/v1/awards?symbols=` | | `/v1/sec/filings` | `/v1/filings` | | `/v1/sec/insiders/{symbol}` | `/v1/insider-trades?symbols=` | | `/v1/sec/insider-signals` | `/v1/insider-trades/signals` | | `/v1/sec/13f/{symbol}/holders` | `/v1/holdings?symbols=` | | `/v1/sec/13f/crowding` | `/v1/holdings/crowding` | | `/v1/jobs` | `/v1/hiring` | | `/v1/jobs/coverage` | `/v1/datasets/hiring-jobs/coverage` | | `/v1/jobs/{symbol}` | `/v1/hiring?symbols=` | | `/v1/hiring/{symbol}/postings` | `/v1/job-postings?symbols=` | | `/v1/hiring/coverage` | `/v1/datasets/hiring-momentum/coverage` | | `/v1/hiring/{symbol}` | `/v1/hiring/momentum?symbols=` | | `/v1/apps/board` | `/v1/apps` | | `/v1/apps/app/{store}/{appId}` | `/v1/apps/{store}:{appId}` | | `/v1/apps/company/{symbol}` | `/v1/apps?symbols=` | | `/v1/apps/coverage` | `/v1/datasets/app-attention/coverage` | | `/v1/power/board` | `/v1/power/projects` | | `/v1/power/history` | `/v1/power/capacity` | | `/v1/power/coverage` | `/v1/datasets/power/coverage` | | `/v1/perps/board` | `/v1/perps/markets` | | `/v1/perps/compare` | `/v1/perps/markets` | | `/v1/perps/equity/{symbol}?exchange=` | `/v1/perps/markets?symbols=` | | `/v1/perps/market?marketId=` | `/v1/perps/markets/{marketId}` | | `/v1/perps/history?marketId=` | `/v1/perps/markets/{marketId}/history` | | `/v1/attention` | `/v1/research-attention` | | `/v1/attention/{symbol}` | `/v1/research-attention?symbols=` | | `/v1/supply-chain/{symbol}/graph` | `/v1/supply-chain/graph?symbols=` | | `/v1/supply-chain/{symbol}/counterparties` | `/v1/supply-chain/relationships?symbols=` | | `/v1/transcripts?ticker=` | `/v1/transcripts?symbols=` | | `/v1/document-search` | `/v1/search` | | `/v1/document-search/documents/{docType}/{sourceId}` | `/v1/documents/{docType}:{sourceId}` | | `/v1/social-mentions/{symbol}/history` | `/v1/social-mentions?symbols=` | | `/v1/social-mentions/{symbol}/posts` | `/v1/social-mentions/posts?symbols=` | | `/v1/short-volume/{symbol}` | `/v1/short-volume?symbols=` | | `/v1/short-interest/{symbol}` | `/v1/short-interest?symbols=` | | `/v1/congress/trades` | `/v1/congress-trades` | | `/v1/congress/members/{member}` | `/v1/congress-trades?member=` | | `/v1/congress/tickers/{symbol}` | `/v1/congress-trades?symbols=` | | `/v1/macro/curves` | `/v1/yield-curves` | | `/v1/macro/curves/{curve}` | `/v1/yield-curves/{curve}` | | `/v1/cftc/cot` | `/v1/cot` | | `/v1/cftc/cot/contracts/{contractCode}` | `/v1/cot/{contractCode}` | | `/v1/cds` | `/v1/cds/trades` | | `/v1/cds/history` | `/v1/cds/curves` | | `/v1/fundamentals/{symbol}/statements?exchange=` | `/v1/fundamentals/statements?symbols=` | | `/v1/fundamentals/{symbol}/statistics?exchange=` | `/v1/fundamentals/metrics?symbols=` | | `/v1/fundamentals/{symbol}/profile?exchange=` | `/v1/companies?symbols=` | | `/v1/market/quotes?tickers=` | `/v1/market/quotes?symbols=` | | `/v1/market/data` | `/v1/market/snapshot` | | `/v1/market/history` | `/v1/market/bars` | | `/v1/market/fields` | `/v1/datasets/market-data/fields` | | `/v1/futures/{root}/curve` | `/v1/futures/curves/{root}` | | `/v1/futures/{root}/archive` | `/v1/futures/curves/{root}` | | `/v1/futures/generics/{ticker}` | `/v1/futures/continuous/{ticker}` | | `/v1/options/flow?symbol=` | `/v1/options/flow?symbols=` | | `/v1/options/{symbol}/iv` | `/v1/options/iv?symbols=` | | `/v1/options/{symbol}/surface` | `/v1/options/surfaces?symbols=` | | `/v1/options/{symbol}/chain` | `/v1/options/chains?symbols=` | | `/v1/options/{symbol}/gamma` | `/v1/options/gamma?symbols=` | | `/v1/earnings/calendar` | `/v1/earnings` | | `/v1/earnings/{symbol}/moves` | `/v1/earnings/moves?symbols=` | | `/v1/ipo/calendar` | `/v1/ipos` | | `/v1/mna/deals` | `/v1/mna-deals` | | `/v1/mna/deals/{id}` | `/v1/mna-deals/{id}` | | `/v1/crypto/markets` | `/v1/crypto/assets` | | `/v1/session-tape/movers` | `/v1/market/movers` | | `/v1/session-tape/highs-lows` | `/v1/market/highs-lows` | | `/v1/session-tape/{symbol}/tape?exchange=` | `/v1/market/tape?symbols=` | | `/v1/analyst-estimates/{symbol}?exchange=` | `/v1/analyst-estimates?symbols=` | | `/v1/analyst-estimates/{symbol}/revisions?exchange=` | `/v1/analyst-estimates/revisions?symbols=` | ## 2026-10-21: One contract for every route - Every response is `{data, meta}`, reference routes included. - Errors are `{error: {type, code, message, param, requestId, docUrl}}`. A 4xx is never charged. - `meta` renames `asOf`, `historyStarts` and `lastUpdated` to `dataThrough`, `historyStart` and `updatedAt`. `disclaimer` and `note` become `notices[]`. `meta.asOf` is now the point in time you asked for, or null. - Every list pages with `limit` and an opaque `cursor`; `offset` and Congress `filingOffset` are gone. `meta.page` and `meta.next` give the next page. Without `limit`, a route reads its default page size, which the OpenAPI document lists and `meta.page.limit` names. **7 more changes** - Every response sends `Gloom-Version`, `Request-Id` and an `ETag`; `X-Request-Id` is gone. `If-None-Match` gets a free `304`. - Keyed responses send `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`. - No more plan fields (`access`, `locked`, `preview`, `proRequired`, `entitlement`) or collection internals in payloads. A quote's `dataSource` becomes `delayed: true` or `false`. - Values lose binary noise such as 77473014.05999999. CPI names each figure's basis in `data.basis`. - No key: `WWW-Authenticate: Bearer realm="Gloom Datasets"` without `error`, as RFC 6750 asks. - Job postings say `hasMore` instead of counting every open role in `total`. - Samples moved out of the OpenAPI document to each dataset's sample route, such as `/v1/datasets/gpu/sample`. - [Previous OpenAPI](https://gloom.sh/datasets/docs/openapi?utm_source=llms) - [Next GPU rental prices](https://gloom.sh/datasets/docs/datasets/gpu?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/gpu?utm_source=llms Alternative data # GPU rental prices One observed GPU rental rate, with basis and dated evidence 3 endpoints From 4 credits ## Try it **curl** ``` curl https://api.gloom.sh/v1/gpu/prices \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/gpu/prices", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/gpu/prices", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "id": "aws-list:aws:H100:80:SXM:list", "label": "H100 80GB SXM", "sourceLabel": "AWS", "source": "aws-list", "skuKey": "aws:H100:80:SXM:list", "provider": "AWS", "providerClass": "hyperscaler", "region": "US East (N. Virginia)", "gpuModel": "H100", "gpuCount": 8, "formFactor": "SXM", "memoryGb": 80, "basis": "list", "pricePerGpuHr": 6.88, "priceNodeHr": 55.04, "currency": "USD", "availability": null, "observedAt": "2026-10-07T21:46:34.608Z", "effectiveAt": null, "provenance": "live", "sourceUrl": null, "evidenceUrl": null, "provenanceLabel": "live observation", "change1d": 0, "change7d": null, "change30d": null, "stale": false }, { "id": "azure:azure:H100:80:SXM:list", "label": "H100 80GB SXM", "sourceLabel": "Azure", "source": "azure", "skuKey": "azure:H100:80:SXM:list", "provider": "Azure", "providerClass": "hyperscaler", "region": "eastus", "gpuModel": "H100", "gpuCount": 8, "formFactor": "SXM", "memoryGb": 80, "basis": "list", "pricePerGpuHr": 12.29, "priceNodeHr": 98.32, "currency": "USD", "availability": null, "observedAt": "2026-10-07T21:46:30.672Z", "effectiveAt": "2023-12-01T00:00:00.000Z", "provenance": "live", "sourceUrl": null, "evidenceUrl": null, "provenanceLabel": "live observation", "change1d": 0, "change7d": null, "change30d": null, "stale": false }, // … 3 more items ], "meta": { "dataset": "gpu", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-08T19:01:51.633Z", "historyStart": null, "updatedAt": "2026-10-08T19:01:51.633Z", "page": null, "next": null, "coverage": { "totalRows": 279, "gaps": [] }, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Cloud infrastructure providers" }, { "attribution": "Compute rental marketplaces" }, // … 2 more items ] } } ``` Trimmed · 2026-10-08 [Run it without a key: `GET /v1/datasets/gpu/sample`](https://api.gloom.sh/v1/datasets/gpu/sample) ## Endpoints **GET `/v1/gpu/prices` 4 credits (Published GPU rental rates across providers and marketplaces. Hyperscaler and Neocloud rows are list indexes)** ### Parameters - **`limit` integer**: 1 to 200. Default 200. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`updatedSince` string**: Timestamp with timezone: `YYYY-MM-DDTHH:mm:ssZ`. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `label` `sourceLabel` `source` `skuKey` `provider` `providerClass` `region` `gpuModel` `gpuCount` `formFactor` `memoryGb` `basis` `pricePerGpuHr` `priceNodeHr` `currency` `availability` `observedAt` `effectiveAt` `provenance` `sourceUrl` `evidenceUrl` `provenanceLabel` `change1d` `change7d` `change30d` `stale` **GET `/v1/gpu/history` 8 credits (Observed GPU rental rates and reference history)** ### Parameters - **`gpuModel` string** - **`seriesId` string** - **`from` string**: Timestamp with timezone: `YYYY-MM-DDTHH:mm:ssZ`. - **`to` string**: Timestamp with timezone: `YYYY-MM-DDTHH:mm:ssZ`. - **`limit` integer**: 1 to 200. - **`basis` string**: `list` `spot` `ask` `reserved` `reference` - **`includeFractional` boolean** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`source` `skuKey` `provider` `providerClass` `region` `gpuModel` `gpuCount` `formFactor` `memoryGb` `basis` `pricePerGpuHr` `priceNodeHr` `currency` `availability` `observedAt` `effectiveAt` `provenance` `sourceUrl` `evidenceUrl` `provenanceLabel` - **`include` list**: Comma list of blocks to add, returned under `included`: `effectivePoints` (prices dated by when the source says they took effect). Default: none. **GET `/v1/gpu/changes` 4 credits (Observed GPU price changes)** ### Parameters - **`gpuModel` string** - **`limit` integer**: 1 to 200. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `kind` `origin` `source` `skuKey` `provider` `gpuModel` `formFactor` `memoryGb` `basis` `observedAt` `effectiveAt` `oldPrice` `newPrice` `changePct` `oldMembers` `newMembers` `oldAvailability` `newAvailability` `provenance` `provenanceLabel` `sourceUrl` `evidenceUrl` ## Sources Cloud providers, Compute marketplaces, Archived rate cards, Public compute price reference indices Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Changelog](https://gloom.sh/datasets/docs/changelog?utm_source=llms) - [Next Supply chain](https://gloom.sh/datasets/docs/datasets/supply-chain?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/supply-chain?utm_source=llms Alternative data # Supply chain One company relationship with dated quotes, counterparties and source evidence 3 endpoints From 8 credits ## Try it **curl** ``` curl "https://api.gloom.sh/v1/supply-chain/graph?symbols=042700&depth=1&limit=5" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/supply-chain/graph?symbols=042700&depth=1&limit=5", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/supply-chain/graph?symbols=042700&depth=1&limit=5", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "symbol": "042700", "id": "commerce:5:14", "from": "5", "to": "14", "fromEntity": { "id": "5", "name": "한미반도체", "ticker": "042700", "exchange": "KRX", "country": null, "kind": "listed", "identifiers": { "tickers": [ { "ticker": "042700", "exchange": "KRX" } ], "dart_corp_code": "00161383", "dart_stock_code": "042700" }, "anonymous": false, "aggregate": false }, "toEntity": { "id": "14", "name": "Amkor코리아", "ticker": null, "exchange": null, "country": null, "kind": "unknown", "identifiers": {}, "anonymous": false, "aggregate": false }, "relationship": "commerce", "confidence": 0.99, "weight": 0.99, "primaryEvidenceId": "9db1ccbc711f95de2299c19ef839527cf1dc9688b147ce3ab871075a43bb1b1e", "evidence": [ { "id": "9db1ccbc711f95de2299c19ef839527cf1dc9688b147ce3ab871075a43bb1b1e", "status": "active", "fromEntity": "5", "toEntity": "14", "reportingEntity": "5", "role": "customer", "sourceKind": "filing_text", "jurisdiction": "KR", "filingUrl": "https://dart.fss.or.kr/dsaf001/main.do?rcpNo=20260312001230", "accession": "20260312001230", "form": "annual_report", "filedDate": "2026-03-12", "period": "2025-12-31", "periodMonths": null, "asOf": "2025-12-31", "pctOfRevenue": null, "pctBasis": null, "pctScope": null, "nativeAmount": null, "nativeCurrency": null, "nativeScale": null, "confidence": 0.99, "quote": "현재 당사가 확보하고 있는 고객사로는 글로벌 반도체 기업인 SK하이닉스, Micron Technology, ASE, AmKor, JCET, Huatian Technology, TFME, Infineon, ST Micro, PTI, Skyworks, Luxshare 등이 있으며 국내의 JCET스태츠칩팩코리아, ASE코리아, Amkor코리아, 삼성전기, LG이노텍, 코리아써키트, SFA반도체, 시그네틱스 등이 있습니다.", "quoteLanguage": "ko", "quoteGloss": "The customers currently secured by the company include the listed domestic companies, including Amkor Korea.", "quoteOffset": 85989, "quoteSourceLength": 234, "quoteMatchMode": "exact", "verification": { "strong": { "reason": "independent evidence agrees", "status": "verified", "version": "splc-flow-v2", "evidence": { "tense": "current", "object": "counterparty", "subject": "reporter", "verbText": "고객사", "supported": true, "charitable": false, "relationshipVerb": "supplies_to", "internalSubsidiary": false }, "derivedRole": "customer" } }, "from": { "id": "5", "name": "한미반도체", "ticker": "042700", "exchange": "KRX", "country": null, "kind": "listed", "identifiers": { "tickers": [ { "ticker": "042700", "exchange": "KRX" } ], "dart_corp_code": "00161383", "dart_stock_code": "042700" }, "anonymous": false, "aggregate": false }, "to": { "id": "14", "name": "Amkor코리아", "ticker": null, "exchange": null, "country": null, "kind": "unknown", "identifiers": {}, "anonymous": false, "aggregate": false }, "reporter": { "id": "5", "name": "한미반도체", "ticker": "042700", "exchange": "KRX", "country": null, "kind": "listed", "identifiers": { "tickers": [ { "ticker": "042700", "exchange": "KRX" } ], "dart_corp_code": "00161383", "dart_stock_code": "042700" }, "anonymous": false, "aggregate": false }, "tier": "primary", "trustTier": 1 } ] }, { "symbol": "042700", "id": "commerce:5:19", "from": "5", "to": "19", "fromEntity": { "id": "5", "name": "한미반도체", "ticker": "042700", "exchange": "KRX", "country": null, "kind": "listed", "identifiers": { "tickers": [ { "ticker": "042700", "exchange": "KRX" } ], "dart_corp_code": "00161383", "dart_stock_code": "042700" }, "anonymous": false, "aggregate": false }, "toEntity": { "id": "19", "name": "ASE", "ticker": null, "exchange": null, "country": null, "kind": "unknown", "identifiers": {}, "anonymous": false, "aggregate": false }, "relationship": "commerce", "confidence": 0.99, "weight": 0.99, "primaryEvidenceId": "6115d7bab910593939eee0948408b1657c8484c1568ce0181565b12c15217a5b", "evidence": [ { "id": "6115d7bab910593939eee0948408b1657c8484c1568ce0181565b12c15217a5b", "status": "active", "fromEntity": "5", "toEntity": "19", "reportingEntity": "5", "role": "customer", "sourceKind": "filing_text", "jurisdiction": "KR", "filingUrl": "https://dart.fss.or.kr/dsaf001/main.do?rcpNo=20260312001230", "accession": "20260312001230", "form": "annual_report", "filedDate": "2026-03-12", "period": "2025-12-31", "periodMonths": null, "asOf": "2025-12-31", "pctOfRevenue": null, "pctBasis": null, "pctScope": null, "nativeAmount": null, "nativeCurrency": null, "nativeScale": null, "confidence": 0.99, "quote": "현재 당사가 확보하고 있는 고객사로는 글로벌 반도체 기업인 SK하이닉스, Micron Technology, ASE, AmKor, JCET, Huatian Technology, TFME, Infineon, ST Micro, PTI, Skyworks, Luxshare 등이 있으며 국내의 JCET스태츠칩팩코리아, ASE코리아, Amkor코리아, 삼성전기, LG이노텍, 코리아써키트, SFA반도체, 시그네틱스 등이 있습니다.", "quoteLanguage": "ko", "quoteGloss": "The customers currently secured by the company include global semiconductor companies such as ASE and the other named companies, as well as the listed domestic companies.", "quoteOffset": 85989, "quoteSourceLength": 234, "quoteMatchMode": "exact", "verification": { "strong": { "reason": "independent evidence agrees", "status": "verified", "version": "splc-flow-v2", "evidence": { "tense": "current", "object": "counterparty", "subject": "reporter", "verbText": "고객사", "supported": true, "charitable": false, "relationshipVerb": "supplies_to", "internalSubsidiary": false }, "derivedRole": "customer" } }, "from": { "id": "5", "name": "한미반도체", "ticker": "042700", "exchange": "KRX", "country": null, "kind": "listed", "identifiers": { "tickers": [ { "ticker": "042700", "exchange": "KRX" } ], "dart_corp_code": "00161383", "dart_stock_code": "042700" }, "anonymous": false, "aggregate": false }, "to": { "id": "19", "name": "ASE", "ticker": null, "exchange": null, "country": null, "kind": "unknown", "identifiers": {}, "anonymous": false, "aggregate": false }, "reporter": { "id": "5", "name": "한미반도체", "ticker": "042700", "exchange": "KRX", "country": null, "kind": "listed", "identifiers": { "tickers": [ { "ticker": "042700", "exchange": "KRX" } ], "dart_corp_code": "00161383", "dart_stock_code": "042700" }, "anonymous": false, "aggregate": false }, "tier": "primary", "trustTier": 1 } ] }, // … 13 more items ], "meta": { "dataset": "supply-chain", "requestId": "sample-request", "asOf": null, "dataThrough": "2025-12-31", "historyStart": null, "updatedAt": null, "page": null, "next": null, "coverage": { "nodes": 16, "links": 15, "search": { "complete": true, "reasons": [], "exploredStates": 17, "maxStates": 50000 } }, "symbols": [ { "input": "042700", "symbol": "042700", "status": "ok" } ], "sampledAt": null, "source": [ { "attribution": "U.S. Securities and Exchange Commission and the filing issuer" }, { "attribution": "News publishers and public reports" }, // … 1 more items ] } } ``` Trimmed · 2025-12-31 [Run it without a key: `GET /v1/datasets/supply-chain/sample`](https://api.gloom.sh/v1/datasets/supply-chain/sample) ## Endpoints **GET `/v1/supply-chain/graph` 100 credits per listing (Multi-hop company relationships with source evidence)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`roles` string** - **`sources` string** - **`tiers` string** - **`asOf` string**: Calendar date: `YYYY-MM-DD`. - **`depth` integer**: 1 to 4. - **`direction` string**: `upstream` `downstream` `both` - **`minPct` number**: 0 to 100. - **`minConfidence` number**: 0 to 1. - **`limit` integer**: 1 to 50. - **`ranking` string**: `score` `shortest` - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `from` `to` `fromEntity` `toEntity` `relationship` `confidence` `weight` `primaryEvidenceId` `evidence` - **`include` list**: Comma list of blocks to add, returned under `included`: `nodes` (every entity in the graph); `entity` (the company the graph is built around); `upstream` (suppliers reached, with their best path); `downstream` (customers reached, with their best path); `related` (partners and competitors reached); `paths` (paths between entities); `search` (how much of the graph was explored). Default: none. **GET `/v1/supply-chain/paths` 100 credits (Evidence-backed paths between two companies)** ### Parameters - **`roles` string** - **`sources` string** - **`tiers` string** - **`asOf` string**: Calendar date: `YYYY-MM-DD`. - **`depth` integer**: 1 to 4. - **`direction` string**: `upstream` `downstream` `both` - **`minPct` number**: 0 to 100. - **`minConfidence` number**: 0 to 1. - **`limit` integer**: 1 to 50. - **`ranking` string**: `score` `shortest` - **`fromSymbol` string required** - **`toSymbol` string required** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `nodeIds` `linkIds` `hops` `score` `confidence` `exposure` - **`include` list**: Comma list of blocks to add, returned under `included`: `nodes` (every entity in the graph); `entity` (the company the graph is built around); `upstream` (suppliers reached, with their best path); `downstream` (customers reached, with their best path); `related` (partners and competitors reached); `links` (the links along the paths); `target` (the other company); `search` (how much of the graph was explored). Default: none. **GET `/v1/supply-chain/relationships` 8 credits per listing (Disclosed suppliers, customers and other company relationships)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`tiers` string** - **`limit` integer**: 1 to 50. Default 50. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`includeLeads` boolean** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `statement` `counterparty` `reportingEntity` `role` `direction` `tier` `claimType` `corroboration` `leadStatus` `pctOfRevenue` `pctBasis` `pctScope` `usd` `usdBasis` `nativeAmount` `nativeCurrency` `nativeScale` `period` `periodMonths` `fiscalYear` `sourceKind` `form` `filedDate` `asOf` `confidence` `quote` `quoteLanguage` `quoteGloss` `quoteMatchMode` `jurisdiction` `filingUrl` `accession` `firstSeenAt` `lastSeenAt` `lastConfirmedAt` `whyUnconfirmed` `evidence` `entityScope` `anonymousCode` `disclosureThreshold` `sectionRef` `sourceAttribution` `sourceFilingEntity` - **`include` list**: Comma list of blocks to add, returned under `included`: `earlier` (disclosures from earlier periods of the same reporter); `counts` (disclosures by role, this period and earlier); `entity` (the company). Default: none. ## Good to know Disclosed links only. Scores rank paths, not probabilities; chained percentages are estimates. ## Sources SEC filings, Publishers, Global filings Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous GPU rental prices](https://gloom.sh/datasets/docs/datasets/gpu?utm_source=llms) - [Next Hiring postings](https://gloom.sh/datasets/docs/datasets/hiring-jobs?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/hiring-jobs?utm_source=llms Alternative data # Hiring postings One public job posting, with role, location and observed date 4 endpoints From 4 credits ## Try it **curl** ``` curl https://api.gloom.sh/v1/hiring \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/hiring", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/hiring", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "ticker": "NET", "companyName": "Cloudflare", "openCount": 6, "employeeCount": null, "change30d": null, "posted30d": null, "new7d": 6, "topFunction": "legal_compliance", "topCountry": null }, { "ticker": "RDDT", "companyName": "RDDT", "openCount": 6, "employeeCount": null, "change30d": null, "posted30d": null, "new7d": 6, "topFunction": "operations", "topCountry": { "code": "US", "share": 0.833333333333 } }, // … 2 more items ], "meta": { "dataset": "hiring-jobs", "requestId": "sample-request", "asOf": null, "dataThrough": null, "historyStart": null, "updatedAt": null, "page": null, "next": null, "coverage": { "covered": 4, "total": 4 }, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Exchange and market data providers" }, { "attribution": "Public company careers pages" } ] } } ``` Trimmed [Run it without a key: `GET /v1/datasets/hiring-jobs/sample`](https://api.gloom.sh/v1/datasets/hiring-jobs/sample) ## Endpoints **GET `/v1/hiring` 8 credits (Observed company hiring postings)** ### Parameters - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`ticker` `companyName` `openCount` `employeeCount` `change30d` `posted30d` `new7d` `topFunction` `topCountry` **GET `/v1/hiring?symbols=` 8 credits per listing (Company hiring summary and observed posting history)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`companyName` `coverage` `openCount` `openPerThousandEmployees` `new7d` `new30d` `closed30d` `change30d` `change90d` `datesReliable` `posted30d` `remoteShare` `evergreenCount` `evergreenShare` `contractShare` `medianAgeDays` `series` `ageBuckets` `functions` `countries` `seniority` `tags` `salary` - **`include` list**: Comma list of blocks to add, returned under `included`: `recent` (the newest postings). Default: none. **GET `/v1/job-postings` 8 credits per listing (Company careers postings)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`function` string** - **`q` string** - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`includeClosed` boolean** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `title` `function` `seniority` `location` `country` `remote` `employmentKind` `evergreen` `postedAt` `postedPrecision` `firstSeenAt` `url` `salaryMin` `salaryMax` `salaryCurrency` `salaryPeriod` `tags` **GET `/v1/datasets/hiring-jobs/coverage` 4 credits (Company careers coverage and posting counts)** ### Parameters - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`total` `byStatus` `postings` `openPostings` ## Sources Market data providers, Public company careers pages Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Supply chain](https://gloom.sh/datasets/docs/datasets/supply-chain?utm_source=llms) - [Next News](https://gloom.sh/datasets/docs/datasets/news?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/news?utm_source=llms News # News Publisher stories with ticker links, topics and sentiment, in real time 4 endpoints From 2 credits ## Try it **curl** ``` curl https://api.gloom.sh/v1/stories \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/stories", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/stories", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "id": "53e3a32d-3f4d-5d49-a1aa-1e1835456d1c", "headline": "8-K - CAPITAL ONE MULTI ASSET EXECUTION TRUST (0001163321) (Filer)", "summary": "Filed: 2026-10-05 AccNo: 0001193125-26-413925 Size: 734 KB Item 8.01: Other Events Item 9.01: Financial Statements and Exhibits", "topic": "filing", "topics": [ "filing" ], "sentiment": "neutral", "sectors": [], "scope": "single_ticker", "firstPublishedAt": "2026-10-05T18:11:19.000Z", "lastPublishedAt": "2026-10-05T18:11:19.000Z", "firstSeenAt": "2026-10-05T18:11:19.000Z", "lastSeenAt": "2026-10-05T18:11:19.000Z", "primaryUrl": "https://www.sec.gov/Archives/edgar/data/1163321/000119312526413925/0001193125-26-413925-index.htm", "primarySource": "sec-8k", "primaryPublisher": "SEC", "publishers": [ "SEC" ], "scores": { "importance": 60, "urgency": 0, "marketImpact": 0, "novelty": 0, "confidence": 1 }, "flags": { "breaking": false, "developing": false, "provisional": false, "stale": false }, "breaking": { "active": false, "provisional": false, "kind": null, "reason": null, "confidence": null, "firstDetectedAt": null, "lastMeaningfulAt": null, "confirmedAt": null, "expiresAt": null }, "variantCount": 1, "sourceCount": 1, "sources": [ "sec-8k" ], "tickerLinks": [] }, { "id": "fa03d949-4113-5c31-a10c-2e48b1363966", "headline": "8-K - CAPITAL ONE FUNDING, LLC (0001162387) (Filer)", "summary": "Filed: 2026-10-05 AccNo: 0001193125-26-413925 Size: 734 KB Item 8.01: Other Events Item 9.01: Financial Statements and Exhibits", "topic": "filing", "topics": [ "filing" ], "sentiment": "neutral", "sectors": [], "scope": "single_ticker", "firstPublishedAt": "2026-10-05T18:11:19.000Z", "lastPublishedAt": "2026-10-05T18:11:19.000Z", "firstSeenAt": "2026-10-05T18:11:19.000Z", "lastSeenAt": "2026-10-05T18:11:19.000Z", "primaryUrl": "https://www.sec.gov/Archives/edgar/data/1162387/000119312526413925/0001193125-26-413925-index.htm", "primarySource": "sec-8k", "primaryPublisher": "SEC", "publishers": [ "SEC" ], "scores": { "importance": 60, "urgency": 0, "marketImpact": 0, "novelty": 0, "confidence": 1 }, "flags": { "breaking": false, "developing": false, "provisional": false, "stale": false }, "breaking": { "active": false, "provisional": false, "kind": null, "reason": null, "confidence": null, "firstDetectedAt": null, "lastMeaningfulAt": null, "confirmedAt": null, "expiresAt": null }, "variantCount": 1, "sourceCount": 1, "sources": [ "sec-8k" ], "tickerLinks": [] }, // … 2 more items ], "meta": { "dataset": "news", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-05T18:11:19.000Z", "historyStart": null, "updatedAt": "2026-10-05T18:11:19.000Z", "page": null, "next": null, "coverage": { "stories": 4, "delaySeconds": 0 }, "symbols": null, "sampledAt": null, "source": [ { "attribution": "News publishers and public reports" } ] } } ``` Trimmed · 2026-10-05 [Run it without a key: `GET /v1/datasets/news/sample`](https://api.gloom.sh/v1/datasets/news/sample) ## Endpoints **GET `/v1/stories` 4 credits (Publisher stories with ticker and topic filters)** ### Parameters - **`feed` string**: `latest` `top` `breaking` `ticker` `sector` `topic` - **`tickers` string** - **`tickerTier` string**: `primary` `related` `any` - **`tickerRelations` string** - **`topics` string** - **`categories` string** - **`sectors` string** - **`sources` string** - **`excludeSources` string** - **`sentiment` string**: `positive` `neutral` `negative` - **`minImportance` integer**: 0 to 100. - **`minUrgency` integer**: 0 to 100. - **`breaking` boolean** - **`since` string**: Calendar date or UTC timestamp. - **`until` string**: Calendar date or UTC timestamp. - **`query` string** - **`cursor` string** - **`limit` integer**: 1 to 100. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `headline` `summary` `topic` `topics` `sentiment` `sectors` `scope` `firstPublishedAt` `lastPublishedAt` `firstSeenAt` `lastSeenAt` `primaryUrl` `primarySource` `primaryPublisher` `publishers` `scores` `flags` `breaking` `variantCount` `sourceCount` `sources` `tickerLinks` **GET `/v1/stories/sources` 2 credits (News source directory)** ### Parameters - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`sourceKey` `name` `enabled` `filterable` `qualityRank` `url` **GET `/v1/stories/facets` 2 credits (Story topic, sector and source counts)** ### Parameters - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`feeds` `topics` `sectors` `sources` **GET `/v1/stories/{id}` 10 credits (Story and its publisher variants)** ### Parameters - **`id` string required** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `headline` `summary` `topic` `topics` `sentiment` `sectors` `scope` `firstPublishedAt` `lastPublishedAt` `firstSeenAt` `lastSeenAt` `primaryUrl` `primarySource` `primaryPublisher` `publishers` `scores` `flags` `breaking` `variantCount` `sourceCount` `sources` `tickerLinks` `items` ## Good to know Stories are served in real time. ## Sources Publishers Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Hiring postings](https://gloom.sh/datasets/docs/datasets/hiring-jobs?utm_source=llms) - [Next Market prices and company fundamentals](https://gloom.sh/datasets/docs/datasets/market-data?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/market-data?utm_source=llms Market data and fundamentals # Market prices and company fundamentals Delayed quotes and history, financial statements, valuation statistics and company profiles 7 endpoints From 2 credits Daily bars back decades, AAPL from 1995 ## Try it **curl** ``` curl "https://api.gloom.sh/v1/fundamentals/statements?symbols=COST" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/fundamentals/statements?symbols=COST", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/fundamentals/statements?symbols=COST", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "symbol": "COST", "date": "2022-08-28", "period": "annual", "currency": "USD", "availableAt": "2022-10-05", "dateSource": "sec", "values": { "totalRevenue": 226954000000, "netIncome": 5844000000, "operatingCashFlow": 7392000000, "totalAssets": 64166000000, "cashFlowFromContinuingOperatingActivities": 7392000000 }, "fieldAvailability": { "totalRevenue": "2022-10-05", "netIncome": "2022-10-05", "operatingCashFlow": "2022-10-05", "totalAssets": "2022-10-05", "cashFlowFromContinuingOperatingActivities": "2022-10-05" }, "fieldSources": { "netIncome": { "source": "sec", "concept": "NetIncomeLoss", "basis": "parent", "accessionNumber": "0000909832-22-000021", "filed": "2022-10-05", "startDate": "2021-08-30", "endDate": "2022-08-28", "unit": "USD" } }, "unavailableFields": [ "netIncomeIncludingNoncontrollingInterests", "netIncomeCommonStockholders" ], "dateEvidence": { "accessionNumber": "0000909832-22-000021", "filed": "2022-10-05", "startDate": "2021-08-30" } }, { "symbol": "COST", "date": "2023-09-03", "period": "annual", "currency": "USD", "availableAt": "2023-10-11", "dateSource": "sec", "values": { "totalRevenue": 242290000000, "netIncome": 6292000000, "operatingCashFlow": 11068000000, "totalAssets": 68994000000, "cashFlowFromContinuingOperatingActivities": 11068000000 }, "fieldAvailability": { "totalRevenue": "2023-10-11", "netIncome": "2023-10-11", "operatingCashFlow": "2023-10-11", "totalAssets": "2023-10-11", "cashFlowFromContinuingOperatingActivities": "2023-10-11" }, "fieldSources": { "netIncome": { "source": "sec", "concept": "NetIncomeLoss", "basis": "parent", "accessionNumber": "0000909832-23-000042", "filed": "2023-10-11", "startDate": "2022-08-29", "endDate": "2023-09-03", "unit": "USD" } }, "unavailableFields": [ "netIncomeIncludingNoncontrollingInterests", "netIncomeCommonStockholders" ], "dateEvidence": { "accessionNumber": "0000909832-23-000042", "filed": "2023-10-11", "startDate": "2022-08-29" } }, // … 2 more items ], "meta": { "dataset": "market-data", "requestId": "sample-request", "asOf": null, "dataThrough": "2025-08-31", "historyStart": "2022-08-28", "updatedAt": "2025-10-08", "page": null, "next": null, "coverage": { "statements": 4 }, "symbols": [ { "input": "COST", "symbol": "COST", "status": "ok" } ], "sampledAt": null, "source": [ { "attribution": "U.S. Securities and Exchange Commission and the filing issuer" }, { "attribution": "Exchange and market data providers" }, // … 1 more items ] } } ``` Trimmed · 2025-08-31 [Run it without a key: `GET /v1/datasets/market-data/sample`](https://api.gloom.sh/v1/datasets/market-data/sample) ## Endpoints **GET `/v1/fundamentals/statements` 20 credits per listing (Income, balance sheet and cash flow)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`period` string**: Statement period, annual by default.`annual` `quarterly` - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`date` `period` `currency` `availableAt` `dateSource` `values` `fieldAvailability` `fieldSources` `unavailableFields` `dateEvidence` **GET `/v1/fundamentals/metrics` 20 credits per listing (Valuation ratios and financial statistics)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`marketCap` `marketCapCurrency` `financialCurrency` `enterpriseValue` `enterpriseToRevenue` `trailingPE` `forwardPE` `pegRatio` `eps` `revenue` `netIncome` `operatingCashFlow` `dividendYield` `dividendYieldBasis` `operatingMargin` `profitMargin` `lastQuarterGrowth` `sharesOutstanding` `floatShares` **GET `/v1/companies` 10 credits per listing (Company profile)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`name` `description` `sector` `industry` `employees` `website` `country` **GET `/v1/market/quotes` 4 credits (Delayed quotes, up to ten tickers)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 10, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. One price for the list. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`symbol` `input` `status` `resolved` `error` `quote` **GET `/v1/market/snapshot` 20 credits per listing (Fields for each listing)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`fields` string required**: Comma-separated field names, at most 25. - **`period` string**: `annual` `quarterly` - **`include` list**: Comma list of blocks to add, returned under `included`: `units` (the fields read, with their units). Default: none. **GET `/v1/market/bars` 4 credits per listing (Delayed history, up to 366 days)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`fields` string**: Price fields; price and volume by default. - **`from` string**: Calendar date: `YYYY-MM-DD`. - **`to` string**: Calendar date: `YYYY-MM-DD`. - **`period` string**: `daily` `weekly` `monthly` - **`include` list**: Comma list of blocks to add, returned under `included`: `units` (the fields read, with their units). Default: none. `from` must be on or before `to`. **GET `/v1/datasets/market-data/fields` 2 credits (Field units and history periods)** ### Parameters - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `label` `description` `unit` `kind` `source` `assetTypes` `history` `bloomberg` - **`include` list**: Comma list of blocks to add, returned under `included`: `unsupported` (bloomberg mnemonics not supported, and why). Default: none. ## Good to know Separate market allowance; cached reads continue. Exhaustion: `429 rate_limited` with `Retry-After`. Prices and bars are split-adjusted, not dividend-adjusted: a past close is not restated for dividends paid since. `historyStart` is the first row of the response, not where the dataset starts: daily bars go back decades for long-listed stocks (AAPL from 1995). ## Sources SEC filings, Market data providers, Exchanges Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous News](https://gloom.sh/datasets/docs/datasets/news?utm_source=llms) - [Next Social mentions](https://gloom.sh/datasets/docs/datasets/social-mentions?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/social-mentions?utm_source=llms Alternative data # Social mentions One ticker day of public social mentions and observed article views 2 endpoints From 8 credits ## Try it **curl** ``` curl "https://api.gloom.sh/v1/social-mentions?symbols=NVDA" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/social-mentions?symbols=NVDA", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/social-mentions?symbols=NVDA", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "symbol": "NVDA", "range": "1y", "x": { "days": [], "historyFrom": null, "completeThrough": null, "baseline": null, "refreshedAt": null }, "stance": [], "topPosts": [], "wikipedia": { "article": null, "days": [], "baseline": null }, "reddit": { "days": [], "baseline": null }, "pending": [] } ], "meta": { "dataset": "social-mentions", "requestId": "sample-request", "asOf": null, "dataThrough": null, "historyStart": null, "updatedAt": null, "page": null, "next": null, "coverage": { "x": 0, "reddit": 0, "wikipedia": 0 }, "symbols": [ { "input": "NVDA", "symbol": "NVDA", "status": "ok" } ], "sampledAt": null, "source": [ { "attribution": "Public social and community activity" } ] } } ``` Trimmed [Run it without a key: `GET /v1/datasets/social-mentions/sample`](https://api.gloom.sh/v1/datasets/social-mentions/sample) ## Endpoints **GET `/v1/social-mentions` 8 credits per listing (Daily social mentions and public article views)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`limit` integer**: 1 to 200. Default 200. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`range` string**: `1y` `5y` `max` - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`range` `x` `stance` `topPosts` `wikipedia` `reddit` `pending` **GET `/v1/social-mentions/posts` 8 credits per listing (Public posts mentioning a company ticker)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`date` string required**: Calendar date: `YYYY-MM-DD`. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `day` `author` `text` `postedAt` `views` `likes` `reposts` `replies` `url` `stance` ## Good to know Mentions measure public activity, not investment recommendations. ## Sources Public social and community activity Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Market prices and company fundamentals](https://gloom.sh/datasets/docs/datasets/market-data?utm_source=llms) - [Next App attention](https://gloom.sh/datasets/docs/datasets/app-attention?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/app-attention?utm_source=llms Alternative data # App attention One app chart observation, with rank, ratings and company mapping 4 endpoints From 4 credits ## Try it **curl** ``` curl https://api.gloom.sh/v1/apps \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/apps", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/apps", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "appId": "6760173601", "name": "Muse from Meta", "developer": "Meta Platforms, Inc.", "developerId": null, "appUrl": "https://apps.apple.com/us/app/muse-from-meta/id6760173601", "genres": [], "genreIds": [], "rank": 1, "rating": null, "ratingCount": null, "reviewCount": null, "ratingObservedAt": null, "ratingSourceUrl": null, "exchange": null, "entityId": null, "parentEntityId": null, "confidence": 1, "mappingSourceUrl": null, "mappingRevisionId": null, "current": true, "sourceId": "app-store:US:free:all", "store": "app-store", "country": "US", "chart": "free", "category": "all", "chartLimit": 10, "sourceUrl": "https://rss.marketingtools.apple.com/api/v2/us/apps/top-free/10/apps.json", "sourceUpdatedAt": "2026-10-03T23:14:23.000Z", "observedAt": "2026-10-04T01:00:00.000Z", "revisionId": "1", "supersedesRevisionId": null, "rankChange1d": null, "rankChange7d": null, "rankVelocity7d": null, "ratingChange7d": null, "ratingCountGrowth7d": null, "reviewGrowth7d": null, "stale": false, "symbol": "META" }, { "appId": "632064380", "name": "Vinted: Pre-loved marketplace", "developer": "Vinted Limited", "developerId": null, "appUrl": "https://apps.apple.com/us/app/vinted-pre-loved-marketplace/id632064380", "genres": [], "genreIds": [], "rank": 2, "rating": null, "ratingCount": null, "reviewCount": null, "ratingObservedAt": null, "ratingSourceUrl": null, "exchange": null, "entityId": null, "parentEntityId": null, "confidence": 1, "mappingSourceUrl": null, "mappingRevisionId": null, "current": true, "sourceId": "app-store:US:free:all", "store": "app-store", "country": "US", "chart": "free", "category": "all", "chartLimit": 10, "sourceUrl": "https://rss.marketingtools.apple.com/api/v2/us/apps/top-free/10/apps.json", "sourceUpdatedAt": "2026-10-03T23:14:23.000Z", "observedAt": "2026-10-04T01:00:00.000Z", "revisionId": "2", "supersedesRevisionId": null, "rankChange1d": null, "rankChange7d": null, "rankVelocity7d": null, "ratingChange7d": null, "ratingCountGrowth7d": null, "reviewGrowth7d": null, "stale": false, "symbol": null }, // … 3 more items ], "meta": { "dataset": "app-attention", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-04T01:00:00.000Z", "historyStart": null, "updatedAt": "2026-10-04T01:00:00.000Z", "page": null, "next": null, "coverage": { "configuredCountries": [ "AE", "AF", // … 175 more items ], "observedCountries": [ "US" ], "availableCharts": [ "free", "paid", // … 1 more items ], "categories": [ "all" ], "sources": [], "limitations": [ "Chart ranks are ordinal attention proxies, not downloads, revenue or market share.", "App Store official Apps charts provide top 100 free and paid apps; gaming charts are not verified. Grossing and genre ranks are unavailable.", // … 6 more items ], "historyDays": 0, "staleAfterHours": 48 }, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Public app store charts and listings" } ] } } ``` Trimmed · 2026-10-04 [Run it without a key: `GET /v1/datasets/app-attention/sample`](https://api.gloom.sh/v1/datasets/app-attention/sample) ## Endpoints **GET `/v1/apps` 8 credits (App store ranks, ratings and company attention)** ### Parameters - **`country` string** - **`category` string** - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`days` integer**: 7 to 730. - **`chart` string**: `free` `paid` `grossing` `unranked` - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`appId` `name` `developer` `developerId` `appUrl` `genres` `genreIds` `rank` `rating` `ratingCount` `reviewCount` `ratingObservedAt` `ratingSourceUrl` `exchange` `entityId` `parentEntityId` `confidence` `mappingSourceUrl` `mappingRevisionId` `current` `sourceId` `store` `country` `chart` `category` `chartLimit` `sourceUrl` `sourceUpdatedAt` `observedAt` `revisionId` `supersedesRevisionId` `rankChange1d` `rankChange7d` `rankVelocity7d` `ratingChange7d` `ratingCountGrowth7d` `reviewGrowth7d` `stale` `symbol` - **`include` list**: Comma list of blocks to add, returned under `included`: `summary` (counts and attention scores across the result); `companies` (companies by attention score); `peers` (peer companies); `countries` (attention by country); `history` (attention by day); `spreads` (apps ranked far apart across countries); `evidence` (the chart reads behind the result); `coverage` (countries, charts and sources covered, with limitations). Default: none. **GET `/v1/apps?symbols=` 8 credits per listing (App attention and history for a listed company)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`country` string** - **`category` string** - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`days` integer**: 7 to 730. - **`chart` string**: `free` `paid` `grossing` `unranked` - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`appId` `name` `developer` `developerId` `appUrl` `genres` `genreIds` `rank` `rating` `ratingCount` `reviewCount` `ratingObservedAt` `ratingSourceUrl` `exchange` `entityId` `parentEntityId` `confidence` `mappingSourceUrl` `mappingRevisionId` `current` `sourceId` `store` `country` `chart` `category` `chartLimit` `sourceUrl` `sourceUpdatedAt` `observedAt` `revisionId` `supersedesRevisionId` `rankChange1d` `rankChange7d` `rankVelocity7d` `ratingChange7d` `ratingCountGrowth7d` `reviewGrowth7d` `stale` - **`include` list**: Comma list of blocks to add, returned under `included`: `summary` (counts and attention scores across the result); `companies` (companies by attention score); `peers` (peer companies); `countries` (attention by country); `history` (attention by day); `spreads` (apps ranked far apart across countries); `evidence` (the chart reads behind the result); `coverage` (countries, charts and sources covered, with limitations). Default: none. **GET `/v1/apps/{store}:{appId}` 8 credits (Daily chart and rating history for an app)** ### Parameters - **`store` string required**: `app-store` `google-play` - **`appId` string required** - **`country` string** - **`category` string** - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`days` integer**: 7 to 730. - **`chart` string**: `free` `paid` `grossing` `unranked` - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`appId` `name` `developer` `developerId` `appUrl` `genres` `genreIds` `rank` `rating` `ratingCount` `reviewCount` `ratingObservedAt` `ratingSourceUrl` `exchange` `entityId` `parentEntityId` `confidence` `mappingSourceUrl` `mappingRevisionId` `current` `sourceId` `store` `country` `chart` `category` `chartLimit` `sourceUrl` `sourceUpdatedAt` `observedAt` `revisionId` `supersedesRevisionId` `symbol` `date` `present` **GET `/v1/datasets/app-attention/coverage` 4 credits (App chart coverage and freshness)** ### Parameters - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`configuredCountries` `observedCountries` `availableCharts` `categories` `sources` `limitations` `historyDays` `staleAfterHours` ## Good to know Ranks measure attention, not downloads or revenue. History begins at capture; missing ranks stay unknown. ## Sources App stores Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Social mentions](https://gloom.sh/datasets/docs/datasets/social-mentions?utm_source=llms) - [Next Power and grid](https://gloom.sh/datasets/docs/datasets/power?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/power?utm_source=llms Alternative data # Power and grid One electricity project, with planned capacity, current status and source evidence 4 endpoints From 4 credits ## Try it **curl** ``` curl https://api.gloom.sh/v1/power/projects \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/power/projects", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/power/projects", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "id": "us-caiso:22", "sourceId": "us-caiso", "sourceProjectId": "22", "kind": "queue", "name": "MONTEZUMA (HIGH WINDS III)", "country": "US", "region": "CAISO", "state": "CA", "county": "SOLANO", "zone": "Northern", "developer": null, "utility": "PGAE", "fuel": "hybrid", "technology": "Wind Turbine + Storage", "status": "active", "statusRaw": "ACTIVE", "capacityMw": 38, "requestedDate": "2003-11-18", "proposedDate": "2024-04-01", "completedDate": null, "withdrawnDate": null, "period": null, "asOf": null, "observedAt": "2026-10-04T01:00:00.000Z", "sourceUrl": "https://www.caiso.com/documents/publicqueuereport.xlsx", "sourceLocator": "Grid GenerationQueue!row 2", "confidence": 1, "evidence": { "Project Name": "MONTEZUMA (HIGH WINDS III)", "Queue Position": 22, "Interconnection Request Receive Date": 37943, "Queue Date": 37943.3333333, "Application Status": "ACTIVE", "Study Process": "AMEND 39", "Type-1": "Wind Turbine", "Type-2": "Storage", "Type-3": null, "Fuel-1": "Wind Turbine", "Fuel-2": "Battery", "Fuel-3": null, "MW-1": 38, "MW-2": 38, "MW-3": null, "Net MWs to Grid": 38, "Full Capacity, Partial or Energy Only (FC/P/EO)": "Partial Capacity", "TPD Allocation Percentage": 50, "Off-Peak Deliverability and Economic Only": "Off-Peak Deliverability", "TPD Allocation Group": "Group D", "County": "SOLANO", "State": "CA", "Utility": "PGAE", "PTO Study Region": "Northern", "Station or Transmission Line": "Birds Landing 230 kV", "Proposed On-line Date (as filed with IR)": 38533.2916667, "Current On-line Date": 45383.2916667, "Suspension Status": null, "Feasibility Study or Supplemental Review": null, "System Impact Study or Phase I Cluster Study": "Complete", "Facilities Study (FAS) or Phase II Cluster Study": "Complete", "Optional Study (OS)": null, "Interconnection Agreement Status": "Executed" }, "metrics": { "capacityBasis": "net MW to grid", "pointOfInterconnection": "Birds Landing 230 kV", "mwInService": null, "mfoMw": null, "interconnectionAgreement": "Executed" }, "historical": false, "snapshotId": "us-caiso:22:1", "revision": 1, "entities": [] }, { "id": "us-caiso:32", "sourceId": "us-caiso", "sourceProjectId": "32", "kind": "queue", "name": "TULE WIND", "country": "US", "region": "CAISO", "state": "CA", "county": "SAN DIEGO", "zone": "SDGE", "developer": null, "utility": "SDGE", "fuel": "hybrid", "technology": "Wind Turbine + Storage", "status": "active", "statusRaw": "ACTIVE", "capacityMw": 193.8, "requestedDate": "2004-05-24", "proposedDate": "2030-10-31", "completedDate": null, "withdrawnDate": null, "period": null, "asOf": null, "observedAt": "2026-10-04T01:00:00.000Z", "sourceUrl": "https://www.caiso.com/documents/publicqueuereport.xlsx", "sourceLocator": "Grid GenerationQueue!row 3", "confidence": 1, "evidence": { "Project Name": "TULE WIND", "Queue Position": 32, "Interconnection Request Receive Date": 38119, "Queue Date": 38131.2916667, "Application Status": "ACTIVE", "Study Process": "Serial LGIP", "Type-1": "Wind Turbine", "Type-2": "Storage", "Type-3": null, "Fuel-1": "Wind Turbine", "Fuel-2": "Battery", "Fuel-3": null, "MW-1": 127.6, "MW-2": 131.6, "MW-3": null, "Net MWs to Grid": 193.8, "Full Capacity, Partial or Energy Only (FC/P/EO)": "Partial Capacity", "TPD Allocation Percentage": 23, "Off-Peak Deliverability and Economic Only": "Off-Peak Deliverability", "TPD Allocation Group": "Group B", "County": "SAN DIEGO", "State": "CA", "Utility": "SDGE", "PTO Study Region": "SDGE", "Station or Transmission Line": "Boulevard East Substation 138 kV", "Proposed On-line Date (as filed with IR)": 39326.2916667, "Current On-line Date": 47787.2916667, "Suspension Status": null, "Feasibility Study or Supplemental Review": "Waived", "System Impact Study or Phase I Cluster Study": "Complete", "Facilities Study (FAS) or Phase II Cluster Study": "Complete", "Optional Study (OS)": "None", "Interconnection Agreement Status": "Executed" }, "metrics": { "capacityBasis": "net MW to grid", "pointOfInterconnection": "Boulevard East Substation 138 kV", "mwInService": null, "mfoMw": null, "interconnectionAgreement": "Executed" }, "historical": false, "snapshotId": "us-caiso:32:1", "revision": 1, "entities": [] }, // … 3 more items ], "meta": { "dataset": "power", "requestId": "sample-request", "asOf": null, "dataThrough": null, "historyStart": null, "updatedAt": "2026-10-04T01:00:00.000Z", "page": null, "next": null, "coverage": [ { "id": "us-caiso", "country": "US", "region": "CAISO", "kind": "queue", "role": "direct", "status": "current", "reason": null, "sourceUrl": "https://www.caiso.com/documents/publicqueuereport.xlsx", "asOf": null, "observedAt": "2026-10-04T01:00:00.000Z", "records": 5, "nextPollAt": null } ], "symbols": null, "sampledAt": null, "source": [ { "attribution": "Public electricity grid registers" }, { "attribution": "Government open data" } ] } } ``` Trimmed · 2026-10-04 [Run it without a key: `GET /v1/datasets/power/sample`](https://api.gloom.sh/v1/datasets/power/sample) ## Endpoints **GET `/v1/power/projects` 100 credits per listing (Electricity projects, capacity, queue rates and utility exposure)** ### Parameters - **`symbols` string**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`country` string** - **`region` string** - **`fuel` string** - **`status` string** - **`search` string** - **`sourceId` string** - **`loadClass` string** - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`limit` integer**: 1 to 200. Default 100. - **`sort` string**: `capacityMw` `name` `region` `status` `proposedDate` `generationMwh` `salesMwh` `revenueUsd` `summerPeakDemandMw` `winterPeakDemandMw` - **`from` string**: Timestamp with timezone: `YYYY-MM-DDTHH:mm:ssZ`. - **`to` string**: Timestamp with timezone: `YYYY-MM-DDTHH:mm:ssZ`. - **`kind` string**: `queue` `load` `capacity` `utility` - **`direction` string**: `asc` `desc` - **`historical` boolean** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `sourceId` `sourceProjectId` `kind` `name` `country` `region` `state` `county` `zone` `developer` `utility` `fuel` `technology` `status` `statusRaw` `capacityMw` `requestedDate` `proposedDate` `completedDate` `withdrawnDate` `period` `asOf` `observedAt` `sourceUrl` `sourceLocator` `confidence` `evidence` `metrics` `historical` `snapshotId` `revision` `entities` - **`include` list**: Comma list of blocks to add, returned under `included`: `aggregates` (capacity by region, fuel and status); `rates` (completion and withdrawal rates by cohort); `exposure` (requested and approved MW by utility); `filters` (values present, to filter by); `coverage` (each source and when it was read). Default: none. **GET `/v1/power/capacity` 8 credits per listing (Observed and published electricity grid history)** ### Parameters - **`symbols` string**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`country` string** - **`region` string** - **`fuel` string** - **`status` string** - **`search` string** - **`sourceId` string** - **`loadClass` string** - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`limit` integer**: 1 to 200. Default 200. - **`sort` string**: `capacityMw` `name` `region` `status` `proposedDate` `generationMwh` `salesMwh` `revenueUsd` `summerPeakDemandMw` `winterPeakDemandMw` - **`from` string**: Timestamp with timezone: `YYYY-MM-DDTHH:mm:ssZ`. - **`to` string**: Timestamp with timezone: `YYYY-MM-DDTHH:mm:ssZ`. - **`kind` string**: `queue` `load` `capacity` `utility` - **`direction` string**: `asc` `desc` - **`historical` boolean** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`sourceId` `country` `region` `fuel` `status` `kind` `projects` `capacityMw` `unknownCapacity` `basis` `sourceUrls` `observedAt` `asOf` `period` `historical` **GET `/v1/power/projects/{id}` 20 credits (Electricity project details and retained revisions)** ### Parameters - **`id` string required** - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `sourceId` `sourceProjectId` `kind` `name` `country` `region` `state` `county` `zone` `developer` `utility` `fuel` `technology` `status` `statusRaw` `capacityMw` `requestedDate` `proposedDate` `completedDate` `withdrawnDate` `period` `asOf` `observedAt` `sourceUrl` `sourceLocator` `confidence` `evidence` `metrics` `historical` `snapshotId` `revision` `entities` - **`include` list**: Comma list of blocks to add, returned under `included`: `revisions` (earlier reads, newest first). Default: none. **GET `/v1/datasets/power/coverage` 4 credits (Grid register coverage and freshness)** ### Parameters - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `country` `region` `kind` `role` `status` `reason` `sourceUrl` `asOf` `observedAt` `records` `nextPollAt` ## Good to know Queue requests are not committed capacity. Historical benchmarks are separate from current totals. ## Sources Public electricity grid registers, Government open data Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous App attention](https://gloom.sh/datasets/docs/datasets/app-attention?utm_source=llms) - [Next Executive pay](https://gloom.sh/datasets/docs/datasets/exec-pay?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/exec-pay?utm_source=llms Filings and company text # Executive pay One company proxy year, with CEO pay, named executives and pay ratio 2 endpoints From 2 credits ## Try it **curl** ``` curl "https://api.gloom.sh/v1/exec-pay?symbols=AAPL" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/exec-pay?symbols=AAPL", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/exec-pay?symbols=AAPL", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "symbol": "AAPL", "id": "54a038ac-76c8-4412-8fe5-c50c6eeeaa7e", "company": { "ticker": "AAPL", "cik": "0000320193", "name": "Apple Inc.", "shortName": "Apple" }, "proxyYear": 2026, "fiscalYear": 2025, "fiscalYearLabel": "2025", "filedAt": "2026-01-08T00:00:00.000Z", "meetingDate": "2026-02-24", "updatedAt": "2026-10-01T08:57:15.038Z", "ceoName": "Tim Cook", "ceoTitle": "Chief Executive Officer", "ceoTotal": 74294811, "ceoPriorYearTotal": 74609802, "payRatio": 533, "medianEmployeePay": 139483 } ], "meta": { "dataset": "exec-pay", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-01-08T00:00:00.000Z", "historyStart": null, "updatedAt": "2026-10-01T08:57:15.038Z", "page": null, "next": null, "coverage": null, "symbols": [ { "input": "AAPL", "symbol": "AAPL", "status": "ok" } ], "sampledAt": null, "source": [ { "attribution": "U.S. Securities and Exchange Commission and the filing issuer" } ] } } ``` Trimmed · 2026-01-08 [Run it without a key: `GET /v1/datasets/exec-pay/sample`](https://api.gloom.sh/v1/datasets/exec-pay/sample) ## Endpoints **GET `/v1/exec-pay` 2 credits per listing (Available executive compensation filings)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `company` `proxyYear` `fiscalYear` `fiscalYearLabel` `filedAt` `meetingDate` `updatedAt` `ceoName` `ceoTitle` `ceoTotal` `ceoPriorYearTotal` `payRatio` `medianEmployeePay` **GET `/v1/exec-pay?year=` 10 credits per listing (Executive compensation for a filing year)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`year` integer required**: 1900 to 2100. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `company` `proxyYear` `fiscalYear` `fiscalYearLabel` `filedAt` `meetingDate` `updatedAt` `ceoName` `ceoTitle` `ceoTotal` `ceoPriorYearTotal` `payRatio` `medianEmployeePay` `docUrl` `ceo` `namedExecutives` `sayOnPayPriorSupport` `highlights` `keyFigures` `otherYears` ## Good to know `dataThrough`: The newest filing time in the response. `updatedAt`: When the proxy record was last updated. ## Sources SEC filings Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Power and grid](https://gloom.sh/datasets/docs/datasets/power?utm_source=llms) - [Next Government awards](https://gloom.sh/datasets/docs/datasets/awards?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/awards?utm_source=llms Macro and positioning # Government awards One government award, with agency, recipient, amount, date and source record 2 endpoints From 4 credits ## Try it **curl** ``` curl https://api.gloom.sh/v1/awards \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/awards", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/awards", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "id": "c82c2156fd0b98e10ca2d06710516d77d843bed8", "revisionId": "ad48a8724d208e673fe89e0188a9e4608f5c7d60edf67db4daa5de04bf9853ad", "source": "uk-contracts-finder", "sourceAwardId": "ocds-b5fd17-5f523313-19f5-48ce-a74f-c387680547a6:ocds-b5fd17-5f523313-19f5-48ce-a74f-c387680547a6-1", "jurisdiction": "GB", "awardType": "prime", "awardStatus": "active", "title": "Microsoft Licences & Associated Services", "description": "Microsoft Licences & Associated Services. Procured via GCA Technology Products and Associated Services 2 Framework RM6098.", "awardDate": "2026-10-23", "dateBasis": null, "periodStart": "2026-10-01", "periodEnd": "2029-09-30", "fiscalYear": null, "currency": "GBP", "obligatedAmount": null, "ceilingAmount": null, "awardAmount": "677214.12", "recipient": { "name": "INSIGHT DIRECT (UK) LTD", "country": null, "identifiers": [] }, "agency": { "id": "GB-CFS-339004", "name": "NHS Lincolnshire Integrated Care Board" }, "parentAwardId": null, "parentRecipient": null, "modificationNumber": null, "actionType": null, "classifications": [ { "code": "48000000", "label": "Software package and information systems", "scheme": "CPV" } ], "naics": null, "psc": null, "sector": "Software package and information systems", "placeOfPerformance": null, "sourceUrl": "https://www.contractsfinder.service.gov.uk/Notice/586ce2d7-b4dd-4eb1-b656-48a01414864e", "publishedAt": "2026-10-07T14:07:12.000Z", "sourceUpdatedAt": "2026-10-07T14:07:12.000Z", "observedAt": "2026-10-07T16:43:55.167Z", "entity": null, "revenueComparison": null, "futureDated": null }, { "id": "fc6fc07f431ffdff07fae31d991fa0f4bfc10a09", "revisionId": "ee6ad989671c9772b8a22dc81f001c4d06bcbded86c93cde2baaf363f3ca213f", "source": "ted", "sourceAwardId": "732476-2026", "jurisdiction": "CZ", "awardType": "prime", "awardStatus": null, "title": "Czechia – Passenger cars – „Rámcová dohoda na dodávky osobních silničních vozidel v komerčním provedení“ – část 6", "description": null, "awardDate": "2026-10-22", "dateBasis": "publication", "periodStart": null, "periodEnd": null, "fiscalYear": null, "currency": "CZK", "obligatedAmount": null, "ceilingAmount": null, "awardAmount": "1541235.13", "recipient": { "name": "Škoda Auto a. s.", "country": "CZ", "identifiers": [ { "value": "CZ-ICO:00177041", "scheme": "source" } ] }, "agency": { "name": "Ministerstvo vnitra" }, "parentAwardId": null, "parentRecipient": null, "modificationNumber": null, "actionType": null, "classifications": [ { "code": "34110000", "scheme": "CPV" }, { "code": "34100000", "scheme": "CPV" } ], "naics": null, "psc": null, "sector": "CPV 34", "placeOfPerformance": null, "sourceUrl": "https://ted.europa.eu/en/notice/-/detail/732476-2026", "publishedAt": "2026-10-22", "sourceUpdatedAt": null, "observedAt": "2026-10-22T09:16:49.634Z", "entity": { "cik": null, "basis": "reviewed", "method": "identifier", "ticker": "VOW3", "exchange": "XETRA", "legalName": "Škoda Auto a.s.", "confidence": 0.99, "parentName": "VOLKSWAGEN AKTIENGESELLSCHAFT", "evidenceUrl": "https://api.gleif.org/api/v1/lei-records/529900I8XOZDM4ZQSQ21", "evidenceDate": "2026-10-19" }, "revenueComparison": null, "futureDated": null }, // … 1 more items ], "meta": { "dataset": "awards", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-23T03:34:08.936Z", "historyStart": null, "updatedAt": "2026-10-23T03:34:08.936Z", "page": null, "next": null, "coverage": [ { "source": "au-austender-linked-2026-10-21-338b965b1025", "startDate": "2024-06-01", "endDate": "2024-06-30", "status": "running", "records": 0, "pages": 8, "rejectedRecords": 0, "cursor": null, "lastError": null, "updatedAt": "2026-10-22T14:50:01.928Z" }, { "source": "au-austender-linked-2026-10-21-338b965b1025", "startDate": "2024-07-01", "endDate": "2024-07-31", "status": "complete", "records": 46, "pages": 118, "rejectedRecords": 0, "cursor": null, "lastError": null, "updatedAt": "2026-10-22T14:49:33.879Z" }, // … 1 more items ], "symbols": null, "sampledAt": null, "source": [ { "attribution": "USAspending.gov" }, { "attribution": "European Union TED" }, // … 4 more items ] } } ``` Trimmed · 2026-10-23 [Run it without a key: `GET /v1/datasets/awards/sample`](https://api.gloom.sh/v1/datasets/awards/sample) ## Endpoints **GET `/v1/awards` 4 credits per listing (Government awards with source evidence)** ### Parameters - **`symbols` string**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`jurisdiction` string** - **`currency` string** - **`agency` string** - **`sector` string** - **`source` string** - **`parentId` string** - **`awardType` string**: `prime` `subaward` `modification` `notice` - **`from` string**: Calendar date: `YYYY-MM-DD`. - **`to` string**: Calendar date: `YYYY-MM-DD`. - **`fiscalYear` integer**: 2000 to 2100. - **`query` string** - **`minAmount` string**: Nonnegative decimal amount, supplied as a string to preserve precision. - **`cursor` string** - **`limit` integer**: 1 to 200. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `revisionId` `source` `sourceAwardId` `jurisdiction` `awardType` `awardStatus` `title` `description` `awardDate` `dateBasis` `periodStart` `periodEnd` `fiscalYear` `currency` `obligatedAmount` `ceilingAmount` `awardAmount` `recipient` `agency` `parentAwardId` `parentRecipient` `modificationNumber` `actionType` `classifications` `naics` `psc` `sector` `placeOfPerformance` `sourceUrl` `publishedAt` `sourceUpdatedAt` `observedAt` `entity` `revenueComparison` `futureDated` - **`include` list**: Comma list of blocks to add, returned under `included`: `agencies` (awards totalled by agency); `sectors` (awards totalled by sector); `leaders` (listed companies with the largest awards); `history` (awards totalled by month); `alerts` (recent large awards); `sources` (each source registry and when it was last read); `coverage` (the date ranges each source covers). Default: none. `from` must be on or before `to`. **GET `/v1/awards/{id}` 10 credits (Award evidence and revisions)** ### Parameters - **`id` string required** - **`revisionsCursor` string** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `revisionId` `source` `sourceAwardId` `jurisdiction` `awardType` `awardStatus` `title` `description` `awardDate` `dateBasis` `periodStart` `periodEnd` `fiscalYear` `currency` `obligatedAmount` `ceilingAmount` `awardAmount` `recipient` `agency` `parentAwardId` `parentRecipient` `modificationNumber` `actionType` `classifications` `naics` `psc` `sector` `placeOfPerformance` `sourceUrl` `publishedAt` `sourceUpdatedAt` `observedAt` `entity` `revenueComparison` `futureDated` - **`include` list**: Comma list of blocks to add, returned under `included`: `revisions` (earlier versions of the award, newest first); `subawards` (awards under this one); `modifications` (modifications of this award); `edges` (who pays whom: government customer and subcontractor links). Default: none. ## Good to know `dataThrough`: The newest observed award time in the response. `updatedAt`: The newest observation or successful source read. ## Sources USAspending.gov, European Union TED, UK Contracts Finder and Find a Tender, Government of Canada, Australian Government AusTender, GLEIF Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Executive pay](https://gloom.sh/datasets/docs/datasets/exec-pay?utm_source=llms) - [Next KPIs and guidance](https://gloom.sh/datasets/docs/datasets/kpis-guidance?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/kpis-guidance?utm_source=llms Filings and company text # KPIs and guidance One company metric or guidance range with its source quote 2 endpoints From 2 credits History from Sep 2023 ## Try it **curl** ``` curl "https://api.gloom.sh/v1/kpis?symbols=AAPL" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/kpis?symbols=AAPL", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/kpis?symbols=AAPL", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "symbol": "AAPL", "key": "3afeb1496bc4e0090dcae42a3092cbc471686fc5b35adfab693fca84a10d6dfa", "metric": { "id": "revenue", "name": "Revenue", "sector": "general", "unit": "currency", "definition": "Revenue for the stated period; segment and product scope remain separate dimensions.", "aliases": { "en": [ "Revenue", "sales", // … 3 more items ], "ko": [ "매출액", "매출", // … 1 more items ], "ja": [ "売上高", "売上収益" ], "zh": [ "营业收入", "營業收入" ], "fr": [ "chiffre d'affaires" ], "de": [ "Umsatz" ] }, "favorable": "higher" }, "unit": "currency", "currency": "USD", "basis": "reported", "dimensions": {}, "latest": { "unit": "currency", "basis": "reported", "value": 109417000000, "period": { "end": "2026-06-27", "kind": "quarter", "label": "Fiscal 2026 third quarter / Three Months Ended June 27, 2026", "start": "2026-04-01", "fiscalYear": 2026, "fiscalQuarter": 3 }, "currency": "USD", "metricId": "revenue", "confidence": 0.99, "dimensions": {}, "revisionReason": null, "valueQualifier": "exact", "id": "a4ecbf30-e5a5-4d52-aed0-0c5a1abad796", "symbol": "AAPL", "metric": { "id": "revenue", "name": "Revenue", "sector": "general", "unit": "currency", "definition": "Revenue for the stated period; segment and product scope remain separate dimensions.", "aliases": { "en": [ "Revenue", "sales", // … 3 more items ], "ko": [ "매출액", "매출", // … 1 more items ], "ja": [ "売上高", "売上収益" ], "zh": [ "营业收入", "營業收入" ], "fr": [ "chiffre d'affaires" ], "de": [ "Umsatz" ] }, "favorable": "higher" }, "seriesKey": "3afeb1496bc4e0090dcae42a3092cbc471686fc5b35adfab693fca84a10d6dfa", "asOf": "2026-07-30T00:00:00.000Z", "supersedesId": null, "revision": 1, "current": true, "evidence": [ { "id": "ea3b2ca7-95b1-4d74-82d6-1ce30b10c6bc", "documentId": "0d16a239-6f47-44d2-a8bd-d5433d9227b8", "sourceId": "sec-release:0000320193-26-000018:a8-kex991q3202606272026.htm", "sourceKind": "press_release", "url": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000018/a8-kex991q3202606272026.htm", "title": "Apple Inc. earnings release", "publishedAt": "2026-07-30T00:00:00.000Z", "country": "US", "language": "en", "quote": "Apple Inc. CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited) (In millions, except number of shares, which are reflected in thousands, and per-share amounts) Three Months Ended Nine Months Ended June 27, 2026 June 28, 2025 June 27, 2026 June 28, 2025 Net sales Products $ 78,678 $ 66,613 $ 272,629 $ 233,287 Services 30,739 27,423 91,728 80,408 Total net sales (1) 109,417 94,036 364,357 313,695", "quoteOffset": 5103, "quoteSourceLength": 404, "quoteMatchMode": "exact", "confidence": 0.99 } ], "conflict": false, "seriesLabels": {}, "contested": false }, "observations": [ { "unit": "currency", "basis": "reported", "value": 109417000000, "period": { "end": "2026-06-27", "kind": "quarter", "label": "Fiscal 2026 third quarter / Three Months Ended June 27, 2026", "start": "2026-04-01", "fiscalYear": 2026, "fiscalQuarter": 3 }, "currency": "USD", "metricId": "revenue", "confidence": 0.99, "dimensions": {}, "revisionReason": null, "valueQualifier": "exact", "id": "a4ecbf30-e5a5-4d52-aed0-0c5a1abad796", "symbol": "AAPL", "metric": { "id": "revenue", "name": "Revenue", "sector": "general", "unit": "currency", "definition": "Revenue for the stated period; segment and product scope remain separate dimensions.", "aliases": { "en": [ "Revenue", "sales", // … 3 more items ], "ko": [ "매출액", "매출", // … 1 more items ], "ja": [ "売上高", "売上収益" ], "zh": [ "营业收入", "營業收入" ], "fr": [ "chiffre d'affaires" ], "de": [ "Umsatz" ] }, "favorable": "higher" }, "seriesKey": "3afeb1496bc4e0090dcae42a3092cbc471686fc5b35adfab693fca84a10d6dfa", "asOf": "2026-07-30T00:00:00.000Z", "supersedesId": null, "revision": 1, "current": true, "evidence": [ { "id": "ea3b2ca7-95b1-4d74-82d6-1ce30b10c6bc", "documentId": "0d16a239-6f47-44d2-a8bd-d5433d9227b8", "sourceId": "sec-release:0000320193-26-000018:a8-kex991q3202606272026.htm", "sourceKind": "press_release", "url": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000018/a8-kex991q3202606272026.htm", "title": "Apple Inc. earnings release", "publishedAt": "2026-07-30T00:00:00.000Z", "country": "US", "language": "en", "quote": "Apple Inc. CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited) (In millions, except number of shares, which are reflected in thousands, and per-share amounts) Three Months Ended Nine Months Ended June 27, 2026 June 28, 2025 June 27, 2026 June 28, 2025 Net sales Products $ 78,678 $ 66,613 $ 272,629 $ 233,287 Services 30,739 27,423 91,728 80,408 Total net sales (1) 109,417 94,036 364,357 313,695", "quoteOffset": 5103, "quoteSourceLength": 404, "quoteMatchMode": "exact", "confidence": 0.99 } ], "conflict": false, "seriesLabels": {}, "contested": false } ] }, { "symbol": "AAPL", "key": "04e134873e72790b32c68d73cd08c91c039ed80d72f74b9d6b706b45c6fb5885", "metric": { "id": "revenue", "name": "Revenue", "sector": "general", "unit": "currency", "definition": "Revenue for the stated period; segment and product scope remain separate dimensions.", "aliases": { "en": [ "Revenue", "sales", // … 3 more items ], "ko": [ "매출액", "매출", // … 1 more items ], "ja": [ "売上高", "売上収益" ], "zh": [ "营业收入", "營業收入" ], "fr": [ "chiffre d'affaires" ], "de": [ "Umsatz" ] }, "favorable": "higher" }, "unit": "currency", "currency": "USD", "basis": "reported", "dimensions": { "product": "iPhone" }, "latest": { "unit": "currency", "basis": "reported", "value": 209586000000, "period": { "end": "2025-09-27", "kind": "year", "label": "Fiscal year ended September 27, 2025", "start": "2024-09-29", "fiscalYear": 2025, "fiscalQuarter": null }, "currency": "USD", "metricId": "revenue", "confidence": 1, "dimensions": { "product": "iPhone" }, "revisionReason": null, "valueQualifier": "exact", "id": "436acf2b-1229-40bc-b085-602cf42ecb1d", "symbol": "AAPL", "metric": { "id": "revenue", "name": "Revenue", "sector": "general", "unit": "currency", "definition": "Revenue for the stated period; segment and product scope remain separate dimensions.", "aliases": { "en": [ "Revenue", "sales", // … 3 more items ], "ko": [ "매출액", "매출", // … 1 more items ], "ja": [ "売上高", "売上収益" ], "zh": [ "营业收入", "營業收入" ], "fr": [ "chiffre d'affaires" ], "de": [ "Umsatz" ] }, "favorable": "higher" }, "seriesKey": "04e134873e72790b32c68d73cd08c91c039ed80d72f74b9d6b706b45c6fb5885", "asOf": "2025-10-31T00:00:00.000Z", "supersedesId": null, "revision": 1, "current": true, "evidence": [ { "id": "2a220214-58b0-4874-bc33-c76a57b1842a", "documentId": "2ab894ab-9d95-4502-9794-061ee1f7d05c", "sourceId": "filing:7f812a99-751e-43f4-a933-f1b38c27c40e", "sourceKind": "filing", "url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm", "title": "Apple Inc. 10-K 2025-10-31", "publishedAt": "2025-10-31T00:00:00.000Z", "country": "US", "language": "en", "quote": "The following table shows net sales by category for 2025, 2024 and 2023 (dollars in millions):\n2025 Change 2024 Change 2023\niPhone $ 209,586 4 % $ 201,183 — % $ 200,583", "quoteOffset": 109145, "quoteSourceLength": 168, "quoteMatchMode": "exact", "confidence": 1 } ], "conflict": false, "seriesLabels": { "product": "iPhone" }, "contested": false }, "observations": [ { "unit": "currency", "basis": "reported", "value": 209586000000, "period": { "end": "2025-09-27", "kind": "year", "label": "Fiscal year ended September 27, 2025", "start": "2024-09-29", "fiscalYear": 2025, "fiscalQuarter": null }, "currency": "USD", "metricId": "revenue", "confidence": 1, "dimensions": { "product": "iPhone" }, "revisionReason": null, "valueQualifier": "exact", "id": "436acf2b-1229-40bc-b085-602cf42ecb1d", "symbol": "AAPL", "metric": { "id": "revenue", "name": "Revenue", "sector": "general", "unit": "currency", "definition": "Revenue for the stated period; segment and product scope remain separate dimensions.", "aliases": { "en": [ "Revenue", "sales", // … 3 more items ], "ko": [ "매출액", "매출", // … 1 more items ], "ja": [ "売上高", "売上収益" ], "zh": [ "营业收入", "營業收入" ], "fr": [ "chiffre d'affaires" ], "de": [ "Umsatz" ] }, "favorable": "higher" }, "seriesKey": "04e134873e72790b32c68d73cd08c91c039ed80d72f74b9d6b706b45c6fb5885", "asOf": "2025-10-31T00:00:00.000Z", "supersedesId": null, "revision": 1, "current": true, "evidence": [ { "id": "2a220214-58b0-4874-bc33-c76a57b1842a", "documentId": "2ab894ab-9d95-4502-9794-061ee1f7d05c", "sourceId": "filing:7f812a99-751e-43f4-a933-f1b38c27c40e", "sourceKind": "filing", "url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm", "title": "Apple Inc. 10-K 2025-10-31", "publishedAt": "2025-10-31T00:00:00.000Z", "country": "US", "language": "en", "quote": "The following table shows net sales by category for 2025, 2024 and 2023 (dollars in millions):\n2025 Change 2024 Change 2023\niPhone $ 209,586 4 % $ 201,183 — % $ 200,583", "quoteOffset": 109145, "quoteSourceLength": 168, "quoteMatchMode": "exact", "confidence": 1 } ], "conflict": false, "seriesLabels": { "product": "iPhone" }, "contested": false } ] }, // … 1 more items ], "meta": { "dataset": "kpis-guidance", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-07-30T00:00:00.000Z", "historyStart": "2023-09-30", "updatedAt": null, "page": null, "next": null, "coverage": { "country": "US", "languages": [ "en" ], "documents": 10, "observations": 36, "guidance": 0, "firstPeriod": "2023-09-30", "lastPeriod": "2026-06-27", "lastPublishedAt": "2026-07-30T00:00:00.000Z", "sourceKinds": [ "filing", "press_release" ], "conflicts": 0 }, "symbols": [ { "input": "AAPL", "symbol": "AAPL", "status": "ok" } ], "sampledAt": null, "source": [ { "attribution": "U.S. Securities and Exchange Commission and the filing issuer" }, { "attribution": "Company earnings calls and public issuer reports" } ] } } ``` Trimmed · 2026-07-30 [Run it without a key: `GET /v1/datasets/kpis-guidance/sample`](https://api.gloom.sh/v1/datasets/kpis-guidance/sample) ## Endpoints **GET `/v1/kpis` 2 credits per listing (Cited company operating metrics)** With `from` or `to`: 4 credits. ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`metric` string** - **`basis` string**: `reported` `adjusted` `constant_currency` `organic` - **`from` string**: Calendar date: `YYYY-MM-DD`. - **`to` string**: Calendar date: `YYYY-MM-DD`. - **`asOf` string**: Calendar date: `YYYY-MM-DD`. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`key` `metric` `unit` `currency` `basis` `dimensions` `latest` `observations` - **`include` list**: Comma list of blocks to add, returned under `included`: `dictionary` (every metric the company reports); `methodology` (how the figures are read, in words); `coverage` (how many documents and figures the dataset has for the company); `revisions` (values later revised). Default: none. `from` must be on or before `to`. **GET `/v1/guidance` 2 credits per listing (Company guidance ranges and revisions)** With `from` or `to`: 4 credits. ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`metric` string** - **`basis` string**: `reported` `adjusted` `constant_currency` `organic` - **`from` string**: Calendar date: `YYYY-MM-DD`. - **`to` string**: Calendar date: `YYYY-MM-DD`. - **`asOf` string**: Calendar date: `YYYY-MM-DD`. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `metricId` `metric` `period` `unit` `currency` `basis` `dimensions` `confidence` `seriesKey` `asOf` `issuedDate` `low` `high` `point` `hedge` `rangeText` `conditions` `status` `direction` `previousId` `midpointChangePct` `actual` `supersedesId` `revision` `current` `evidence` - **`include` list**: Comma list of blocks to add, returned under `included`: `dictionary` (every metric the company reports); `methodology` (how the figures are read, in words); `coverage` (how many documents and figures the dataset has for the company); `history` (earlier guidance it replaced). Default: none. `from` must be on or before `to`. ## Good to know `dataThrough`: The newest SEC filing behind the response. `updatedAt`: null: the store keeps publication dates, not read times. `historyStart`: The first period in this response, not a dataset-wide start. ## Sources SEC filings, Issuer reports Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Government awards](https://gloom.sh/datasets/docs/datasets/awards?utm_source=llms) - [Next 8-K events](https://gloom.sh/datasets/docs/datasets/events?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/events?utm_source=llms Filings and company text # 8-K events One 8-K filing, with item codes, event labels and filing link 1 endpoint From 2 credits ## Try it **curl** ``` curl "https://api.gloom.sh/v1/filing-events?symbols=META" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/filing-events?symbols=META", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/filing-events?symbols=META", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "symbol": "META", "id": "27c4f127-1b01-4140-b8ec-3de988654ea3", "company": { "ticker": "META", "cik": "0001326801", "name": "Meta Platforms, Inc.", "shortName": "Meta Platforms" }, "filedAt": "2026-10-21T20:03:35.000Z", "filingDate": "2026-10-21", "form": "8-K", "docUrl": "https://www.sec.gov/Archives/edgar/data/1326801/000162828026066700/meta-20261019.htm", "items": [ "1.01", "2.02", // … 2 more items ], "labels": [ "Material agreement", "Results of operations", // … 2 more items ], "kinds": [ "agreement", "results", // … 1 more items ], "material": true, "headline": "Meta approves Class C stock dividend and Zuckerberg agreement tying most sales to voting-share reductions", "summary": "Board approved charter amendment October 19; shareholders consented October 20, creating non-voting Class C shares, effective expected January 19, 2027.\nOne Class C share per outstanding Class A and B share; record and payment dates remain to be set, with payment due within five business days of effectiveness.\nZuckerberg’s agreement makes 80% of his dividend shares subject to sale restrictions; 20% are freely saleable, with quarterly releases conditional on continued full-time leadership.", "people": [], "read": true } ], "meta": { "dataset": "events", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-21T20:03:35.000Z", "historyStart": null, "updatedAt": null, "page": null, "next": null, "coverage": null, "symbols": [ { "input": "META", "symbol": "META", "status": "ok" } ], "sampledAt": null, "source": [ { "attribution": "U.S. Securities and Exchange Commission and the filing issuer" } ] } } ``` Trimmed · 2026-10-21 [Run it without a key: `GET /v1/datasets/events/sample`](https://api.gloom.sh/v1/datasets/events/sample) ## Endpoints **GET `/v1/filing-events` 2 credits per listing (Item-classified SEC 8-K events)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`limit` integer**: 1 to 200. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `company` `filedAt` `filingDate` `form` `docUrl` `items` `labels` `kinds` `material` `headline` `summary` `people` `read` ## Good to know `dataThrough`: The newest filing time in the response. `updatedAt`: null: the read model has no update time. ## Sources SEC filings Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous KPIs and guidance](https://gloom.sh/datasets/docs/datasets/kpis-guidance?utm_source=llms) - [Next US consumer prices](https://gloom.sh/datasets/docs/datasets/cpi?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/cpi?utm_source=llms Macro and positioning # US consumer prices One CPI component, with index weight, monthly change and yearly change 1 endpoint From 1 credit ## Try it **curl** ``` curl https://api.gloom.sh/v1/macro/cpi \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/macro/cpi", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/macro/cpi", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "id": "all-items", "code": "SA0", "label": "All items", "depth": 0, "parent": null, "pinned": true, "derived": false, "weight": 100, "change": 0.6485, "annualized3m": 4.5623, "annualized6m": 3.6692, "yoy": 3.7377, "contribution": null, "contributionYoy": null, "read": "All items rose 0.6% in September and 3.7% over the year; core rose 0.3% and 2.6%.", "history": [ [ "2025-10", null, // … 1 more items ], [ "2025-11", null, // … 1 more items ], // … 10 more items ] }, { "id": "core", "code": "SA0L1E", "label": "Core (ex food and energy)", "depth": 0, "parent": null, "pinned": true, "derived": false, "weight": 79.075, "change": 0.3348, "annualized3m": 3.4124, "annualized6m": 2.8516, "yoy": 2.5644, "contribution": 0.265, "contributionYoy": 2.046, "read": "Core (ex food and energy) added 0.27 points to the 0.6% rise and is 79% of the basket.", "history": [ [ "2025-10", null, // … 1 more items ], [ "2025-11", null, // … 1 more items ], // … 10 more items ] }, // … 1 more items ], "meta": { "dataset": "cpi", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-09", "historyStart": null, "updatedAt": "2026-10-14T12:45:36.520Z", "page": null, "next": null, "coverage": null, "symbols": null, "sampledAt": null, "source": [ { "attribution": "U.S. Bureau of Labor Statistics" }, { "attribution": "Federal Reserve Bank of St. Louis, original source BLS" } ] } } ``` Trimmed · 2026-09 [Run it without a key: `GET /v1/datasets/cpi/sample`](https://api.gloom.sh/v1/datasets/cpi/sample) ## Endpoints **GET `/v1/macro/cpi` 1 credit (US CPI components, weights and contributions)** ### Parameters - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `code` `label` `depth` `parent` `pinned` `derived` `weight` `change` `annualized3m` `annualized6m` `yoy` `contribution` `contributionYoy` `read` `history` - **`include` list**: Comma list of blocks to add, returned under `included`: `release` (the release: period, publication time and the next one); `basis` (how each figure is computed, and the order of a history entry); `schedule` (the next scheduled releases, soonest first). Default: none. ## Good to know `dataThrough`: The release month, `YYYY-MM`. `updatedAt`: When the BLS levels were retrieved. BLS.gov cannot vouch for the data or analyses derived from these data after the data have been retrieved from BLS.gov. Derived calculations are Gloom's, not BLS figures. ## Sources U.S. Bureau of Labor Statistics, Federal Reserve Bank of St. Louis, original source BLS Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous 8-K events](https://gloom.sh/datasets/docs/datasets/events?utm_source=llms) - [Next EIA energy inventories](https://gloom.sh/datasets/docs/datasets/energy-inventories?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/energy-inventories?utm_source=llms Macro and positioning # EIA energy inventories One weekly EIA inventory series, with observed level and weekly change 1 endpoint From 1 credit ## Try it **curl** ``` curl https://api.gloom.sh/v1/energy/inventories \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/energy/inventories", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/energy/inventories", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "id": "crude-commercial", "key": "WCESTUS1", "report": "petroleum", "tab": "crude", "label": "Commercial crude", "unit": "kb", "basis": "computed", "weekEnding": "2026-10-16", "value": 412517, "previousWeekEnding": "2026-10-09", "weekChange": -3060, "yearAgo": { "weekEnding": "2025-10-17", "value": 422824, "change": -10307, "changePercent": -2.44 }, "fiveYear": { "years": [ 2021, 2022, // … 3 more items ], "min": 420336, "max": 438096.43, "average": 426601.49, "averageChange": 146.6, "vsAverage": -14084.49, "vsAveragePercent": -3.3, "position": -44.02 }, "read": "Draw of 3.1M bbl against a 5-year average build of 147k bbl for this week. Stocks 3.3% below the 5-year average and below the 5-year range.", "seasonal": { "year": 2026, "weeks": 52, "current": [ [ 31, 406987 ], [ 32, 424410 ], // … 10 more items ], "previous": [ [ 31, 423662 ], [ 32, 426698 ], // … 10 more items ], "band": [ [ 31, 424094.71, // … 2 more items ], [ 32, 426264.29, // … 2 more items ], // … 10 more items ] } }, { "id": "gasoline", "key": "WGTSTUS1", "report": "petroleum", "tab": "products", "label": "Gasoline", "unit": "kb", "basis": "computed", "weekEnding": "2026-10-16", "value": 205310, "previousWeekEnding": "2026-10-09", "weekChange": -2952, "yearAgo": { "weekEnding": "2025-10-17", "value": 216679, "change": -11369, "changePercent": -5.25 }, "fiveYear": { "years": [ 2021, 2022, // … 3 more items ], "min": 208945.71, "max": 223367.86, "average": 216015.54, "averageChange": -1711.43, "vsAverage": -10705.54, "vsAveragePercent": -4.96, "position": -25.21 }, "read": "Draw of 3.0M bbl, larger than the 5-year average draw of 1.7M bbl for this week. Stocks 5.0% below the 5-year average and below the 5-year range.", "seasonal": { "year": 2026, "weeks": 52, "current": [ [ 31, 209658 ], [ 32, 208690 ], // … 10 more items ], "previous": [ [ 31, 227082 ], [ 32, 226290 ], // … 10 more items ], "band": [ [ 31, 217940.57, // … 2 more items ], [ 32, 216307.71, // … 2 more items ], // … 10 more items ] } }, // … 1 more items ], "meta": { "dataset": "energy-inventories", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-16", "historyStart": null, "updatedAt": null, "page": null, "next": null, "coverage": null, "symbols": null, "sampledAt": null, "source": [ { "attribution": "U.S. Energy Information Administration" } ] } } ``` Trimmed · 2026-10-16 [Run it without a key: `GET /v1/datasets/energy-inventories/sample`](https://api.gloom.sh/v1/datasets/energy-inventories/sample) ## Endpoints **GET `/v1/energy/inventories` 1 credit (EIA petroleum and gas inventories)** ### Parameters - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `key` `report` `tab` `label` `unit` `basis` `weekEnding` `value` `previousWeekEnding` `weekChange` `yearAgo` `fiveYear` `read` `seasonal` - **`include` list**: Comma list of blocks to add, returned under `included`: `reports` (each report: the week it covers and the next release). Default: none. ## Good to know `dataThrough`: The newest `weekEnding` across reports. `updatedAt`: null: the service exposes no read time. ## Sources U.S. Energy Information Administration Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous US consumer prices](https://gloom.sh/datasets/docs/datasets/cpi?utm_source=llms) - [Next CFTC positioning](https://gloom.sh/datasets/docs/datasets/cot?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/cot?utm_source=llms Macro and positioning # CFTC positioning One futures contract report, with open interest and positions by trader class 2 endpoints From 1 credit ## Try it **curl** ``` curl "https://api.gloom.sh/v1/cot?report=legacy" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/cot?report=legacy", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/cot?report=legacy", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "contractCode": "067651", "marketName": "WTI-PHYSICAL - NEW YORK MERCANTILE EXCHANGE", "exchangeCode": "NYME", "commodityCode": "067", "reportDate": "2026-10-13", "openInterest": 1900179, "position": { "long": 344653, "short": 244310, "spreading": 546758, "id": "noncommercial", "label": "Noncommercial", "net": 100343, "netPercentOfOpenInterest": 5.28071302756, "weeklyChange": 1283, "previousReportDate": "2026-10-06", "percentile1Y": { "value": 40.5660377358, "rank": 21.5, "sampleCount": 53, "windowStart": "2025-10-13", "windowEnd": "2026-10-13", "historyStart": "2025-10-14", "historyEnd": "2026-10-13", "completeWindow": true, "min": 39800, "max": 233620, "mean": 120643.849057 }, "percentile3Y": { "value": 15.6050955414, "rank": 24.5, "sampleCount": 157, "windowStart": "2023-10-13", "windowEnd": "2026-10-13", "historyStart": "2023-10-17", "historyEnd": "2026-10-13", "completeWindow": true, "min": 39800, "max": 306388, "mean": 174029.783439 } }, "status": "available" }, { "contractCode": "088691", "marketName": "GOLD - COMMODITY EXCHANGE INC.", "exchangeCode": "CMX", "commodityCode": "088", "reportDate": "2026-10-13", "openInterest": 396345, "position": { "long": 245300, "short": 37421, "spreading": 45895, "id": "noncommercial", "label": "Noncommercial", "net": 207879, "netPercentOfOpenInterest": 52.4490027627, "weeklyChange": -2456, "previousReportDate": "2026-10-06", "percentile1Y": { "value": 65.0943396226, "rank": 34.5, "sampleCount": 53, "windowStart": "2025-10-13", "windowEnd": "2026-10-13", "historyStart": "2025-10-14", "historyEnd": "2026-10-13", "completeWindow": true, "min": 154260, "max": 251238, "mean": 194777.264151 }, "percentile3Y": { "value": 50.6369426752, "rank": 79.5, "sampleCount": 157, "windowStart": "2023-10-13", "windowEnd": "2026-10-13", "historyStart": "2023-10-17", "historyEnd": "2026-10-13", "completeWindow": true, "min": 112738, "max": 315390, "mean": 215416.050955 } }, "status": "available" }, // … 1 more items ], "meta": { "dataset": "cot", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-13", "historyStart": null, "updatedAt": "2026-10-22T20:57:42.732Z", "page": null, "next": null, "coverage": null, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Commodity Futures Trading Commission" } ] } } ``` Trimmed · 2026-10-13 [Run it without a key: `GET /v1/datasets/cot/sample`](https://api.gloom.sh/v1/datasets/cot/sample) ## Endpoints **GET `/v1/cot` 1 credit (CFTC positioning by contract)** ### Parameters - **`report` string**: `legacy` `disaggregated` - **`traderClass` string**: Must belong to the selected report. Legacy: noncommercial (default), commercial, nonreportable. Disaggregated: producer, swap, managed-money (default), other-reportable, nonreportable.`noncommercial` `commercial` `nonreportable` `producer` `swap` `managed-money` `other-reportable` - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`contractCode` `marketName` `exchangeCode` `commodityCode` `reportDate` `openInterest` `position` `status` - **`include` list**: Comma list of blocks to add, returned under `included`: `classes` (the trader classes this report has). Default: none. **GET `/v1/cot/{contractCode}` 2 credits (CFTC contract positioning history)** ### Parameters - **`contractCode` string required**: Six-character CFTC market code; normalized to uppercase. - **`report` string**: `legacy` `disaggregated` - **`traderClass` string**: Must belong to the selected report. Legacy: noncommercial (default), commercial, nonreportable. Disaggregated: producer, swap, managed-money (default), other-reportable, nonreportable.`noncommercial` `commercial` `nonreportable` `producer` `swap` `managed-money` `other-reportable` - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`contract` `reportFamily` `scope` `sourceUrl` `openInterest` `positions` `history` `classes` ## Good to know `dataThrough`: The position observation date. `updatedAt`: When the CFTC file was downloaded. ## Sources Commodity Futures Trading Commission Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous EIA energy inventories](https://gloom.sh/datasets/docs/datasets/energy-inventories?utm_source=llms) - [Next Hiring momentum](https://gloom.sh/datasets/docs/datasets/hiring-momentum?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/hiring-momentum?utm_source=llms Alternative data # Hiring momentum One company week of hiring momentum, with observed openings and changes 10 endpoints From 4 credits ## Try it **curl** ``` curl https://api.gloom.sh/v1/hiring/momentum \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/hiring/momentum", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/hiring/momentum", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "symbol": "NET", "entityId": "symbol:NET", "name": "Cloudflare", "sector": null, "mappingConfidence": 1, "mappingSourceUrl": "https://boards-api.greenhouse.io/v1/boards/cloudflare/jobs?content=false", "latest": { "week": "2026-09-28", "observedAt": "2026-10-03T23:20:16.432Z", "openCount": 6, "added": null, "removed": null, "netChange": null, "changePct": null, "remoteShare": 0, "remoteKnown": 6, "evergreenCount": 0, "sourceCount": 1, "completeness": "partial", "confidence": 1, "kind": "observed" }, "historyWeeks": 1, "zScore": null, "signal": null, "status": "pending" }, { "symbol": "RDDT", "entityId": "symbol:RDDT", "name": "RDDT", "sector": null, "mappingConfidence": 1, "mappingSourceUrl": "https://boards-api.greenhouse.io/v1/boards/reddit/jobs?content=false", "latest": { "week": "2026-09-28", "observedAt": "2026-10-03T23:20:17.797Z", "openCount": 6, "added": null, "removed": null, "netChange": null, "changePct": null, "remoteShare": 1, "remoteKnown": 3, "evergreenCount": 0, "sourceCount": 1, "completeness": "partial", "confidence": 1, "kind": "observed" }, "historyWeeks": 1, "zScore": null, "signal": null, "status": "pending" }, // … 2 more items ], "meta": { "dataset": "hiring-momentum", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-03T23:24:26.530Z", "historyStart": null, "updatedAt": "2026-10-03T23:24:26.530Z", "page": null, "next": null, "coverage": { "total": 4 }, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Exchange and market data providers" }, { "attribution": "Public company careers pages" } ] } } ``` Trimmed · 2026-10-03 [Run it without a key: `GET /v1/datasets/hiring-momentum/sample`](https://api.gloom.sh/v1/datasets/hiring-momentum/sample) ## Endpoints **GET `/v1/hiring/momentum` 4 credits (Weekly observed hiring momentum)** ### Parameters - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`updatedSince` string**: Timestamp with timezone: `YYYY-MM-DDTHH:mm:ssZ`. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`symbol` `entityId` `name` `sector` `mappingConfidence` `mappingSourceUrl` `latest` `historyWeeks` `zScore` `signal` `status` **GET `/v1/hiring/momentum?symbols=` 8 credits per listing (Company weekly hiring evidence)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`entityId` `name` `sector` `mappingConfidence` `mappingSourceUrl` `latest` `historyWeeks` `zScore` `signal` `status` `series` `functions` `seniority` `countries` `locations` `signals` `coverage` - **`include` list**: Comma list of blocks to add, returned under `included`: `evidence` (the postings behind the counts); `peers` (peers' momentum). Default: none. **GET `/v1/hiring/moves` 8 credits (Hiring moves: who posts new roles faster or slower than their own trailing weeks and their peers)** ### Parameters - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`signal` string** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`symbol` `name` `sector` `industry` `sourceTickers` `week` `newRoles` `closedRoles` `openRoles` `baseline` `ratio` `zScore` `peers` `peerRelative` `direction` `signal` `drivers` `topTitles` `flags` `peakDay` `unplacedRead` `priorMaxOpen` `why` `firstComputedAt` `computedAt` `signalSince` `confirmed` - **`include` list**: Comma list of blocks to add, returned under `included`: `coverage` (companies measured and not, and why not). Default: none. **GET `/v1/hiring/moves/{symbol}` 8 credits (A company's weekly new roles, its latest move and the postings behind it)** ### Parameters - **`symbol` string required**: Company symbol; normalized to uppercase. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`symbol` `name` `latest` `week` `weeks` `history` `evidence` `evidenceTotals` **GET `/v1/hiring/expansion` 8 credits (Hiring expansion: companies' first roles in a new country or city, with the postings there)** ### Parameters - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`kind` string** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`symbol` `name` `sector` `industry` `sourceTickers` `week` `kind` `group` `dimension` `key` `label` `country` `newRoles` `titles` `history` `baseline` `ratio` `zScore` `companyRatio` `flags` `reads` `topTitles` `places` `postings` `why` `firstComputedAt` `computedAt` - **`include` list**: Comma list of blocks to add, returned under `included`: `coverage` (companies measured, signals by kind, and what was held back). Default: none. **GET `/v1/hiring/anomalies` 8 credits (Hiring anomalies: one place or role family far above a company's own weeks, and role families it never posted)** ### Parameters - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`kind` string** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`symbol` `name` `sector` `industry` `sourceTickers` `week` `kind` `group` `dimension` `key` `label` `country` `newRoles` `titles` `history` `baseline` `ratio` `zScore` `companyRatio` `flags` `reads` `topTitles` `places` `postings` `why` `firstComputedAt` `computedAt` - **`include` list**: Comma list of blocks to add, returned under `included`: `coverage` (companies measured, signals by kind, and what was held back). Default: none. **GET `/v1/hiring/signals/{symbol}` 8 credits (A company's expansion and anomaly signals, how far back its history goes and the postings behind each)** ### Parameters - **`symbol` string required**: Company symbol; normalized to uppercase. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`symbol` `name` `week` `watchedSince` `held` `skipped` `signals` `history` **GET `/v1/hiring/building` 8 credits (What companies are building: role families and themes whose share of a company's new roles rose against its own weeks, with the postings behind each)** ### Parameters - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`dimension` string** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`symbol` `name` `sector` `industry` `sourceTickers` `week` `dimension` `key` `label` `recent` `before` `change` `ratio` `zScore` `titles` `topTitles` `postings` `why` `firstComputedAt` `computedAt` - **`include` list**: Comma list of blocks to add, returned under `included`: `coverage` (companies measured, shifts by dimension, and what was held back). Default: none. **GET `/v1/hiring/building/{symbol}` 8 credits (A company's new roles by role family and theme, recent weeks against the weeks before, and its shifts)** ### Parameters - **`symbol` string required**: Company symbol; normalized to uppercase. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`symbol` `name` `week` `held` `skipped` `window` `functions` `themes` `shifts` `history` **GET `/v1/datasets/hiring-momentum/coverage` 4 credits (Weekly hiring coverage and retained observation counts)** ### Parameters - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`companies` `sources` `snapshots` `revisions` `firstObservedAt` `lastObservedAt` ## Sources Market data providers, Public company careers pages Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous CFTC positioning](https://gloom.sh/datasets/docs/datasets/cot?utm_source=llms) - [Next Credit documents and covenants](https://gloom.sh/datasets/docs/datasets/credit-documents?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/credit-documents?utm_source=llms Filings and company text # Credit documents and covenants One credit facility or covenant, with legal terms and dated evidence 3 endpoints From 8 credits ## Try it **curl** ``` curl https://api.gloom.sh/v1/credit/instruments \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/credit/instruments", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/credit/instruments", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [], "meta": { "dataset": "credit-documents", "requestId": "sample-request", "asOf": null, "dataThrough": null, "historyStart": null, "updatedAt": null, "page": null, "next": null, "coverage": { "rows": 0, "truncated": false }, "symbols": null, "sampledAt": null, "source": [ { "attribution": "U.S. Securities and Exchange Commission and the filing issuer" }, { "attribution": "Public company filings" } ] } } ``` Trimmed [Run it without a key: `GET /v1/datasets/credit-documents/sample`](https://api.gloom.sh/v1/datasets/credit-documents/sample) ## Endpoints **GET `/v1/credit/instruments` 8 credits (Credit headroom and springing covenant screen)** ### Parameters - **`headroomBelow` number**: -10000 to 10000. - **`springingWithinMonths` integer**: 1 to 120. - **`limit` integer**: 1 to 500. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`symbol` `issuerName` `instrumentId` `instrumentName` `kind` `value` `date` `currency` `reason` `evidence` **GET `/v1/credit/instruments?symbols=` 8 credits per listing (Credit facilities, covenants and maturities)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `key` `name` `currency` `facilityType` `lifecycle` `principal` `commitment` `drawn` `maturity` `obligor` - **`include` list**: Comma list of blocks to add, returned under `included`: `facts` (the filing passages behind each instrument); `issuer` (the issuer the filings name); `covenants` (financial covenants and their headroom); `maturities` (principal due by year); `changeOfControl` (debt that can be put back on a change of control). Default: none. **GET `/v1/credit/{symbol}/instruments/{id}` 20 credits (Credit instrument evidence)** ### Parameters - **`symbol` string required**: Company symbol; normalized to uppercase. - **`id` string required** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `key` `name` `currency` `facilityType` `lifecycle` `principal` `commitment` `drawn` `maturity` `obligor` `facts` ## Sources SEC filings, Public company filings Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Hiring momentum](https://gloom.sh/datasets/docs/datasets/hiring-momentum?utm_source=llms) - [Next Perpetuals](https://gloom.sh/datasets/docs/datasets/perps?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/perps?utm_source=llms Alternative data # Perpetuals One perpetual contract observation, with funding, open interest and market price 6 endpoints From 1 credit ## Try it **curl** ``` curl https://api.gloom.sh/v1/perps/markets \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/perps/markets", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/perps/markets", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "marketId": "hyperliquid:default:ETH", "venue": "hyperliquid", "dex": "default", "symbol": "ETH", "baseAsset": "ETH", "displayName": "ETH", "assetClass": "crypto", "underlyingSymbol": null, "underlyingCurrency": null, "priceMultiplier": 1, "qualityFlags": [], "quoteCurrency": "USDC", "marginCurrency": "USDC", "contractType": "linear", "markPrice": 2685.5, "oraclePrice": 2686.4, "lastPrice": null, "previousDayPrice": 2666.5, "priceChange24h": 0.00712544534033, "premium": -0.000335020845742, "venuePremium": -0.0002977963, "fundingRate": 0.0000125, "fundingIntervalHours": 1, "fundingKind": "current", "fundingRate8h": 0.0001, "fundingApr": 0.1095, "predictedFundingRate": null, "predictedFundingIntervalHours": null, "nextFundingAt": null, "openInterestBase": 1200726.5714, "openInterestUsd": 3224551207.49, "volume24hUsd": 246085707.188, "maxLeverage": 25, "isolatedOnly": false, "delisted": false, "observedAt": "2026-10-03T21:30:00.000Z", "sourceAsOf": null, "sourceUrl": "https://api.hyperliquid.xyz/info", "confidence": "high", "stale": false, "oiChange1h": null, "oiChange24h": null, "oiUsdChange1h": null, "oiUsdChange24h": null, "underlying": null, "underlyingPremium": null, "closedMarketPremium": null, "longShortRatio": null, "longShortRatioReason": null }, { "marketId": "hyperliquid:default:BTC", "venue": "hyperliquid", "dex": "default", "symbol": "BTC", "baseAsset": "BTC", "displayName": "BTC", "assetClass": "crypto", "underlyingSymbol": null, "underlyingCurrency": null, "priceMultiplier": 1, "qualityFlags": [], "quoteCurrency": "USDC", "marginCurrency": "USDC", "contractType": "linear", "markPrice": 84724, "oraclePrice": 84760, "lastPrice": null, "previousDayPrice": 84450, "priceChange24h": 0.00324452338662, "premium": -0.000424728645588, "venuePremium": -0.0004129306, "fundingRate": 0.0000082984, "fundingIntervalHours": 1, "fundingKind": "current", "fundingRate8h": 0.0000663872, "fundingApr": 0.072693984, "predictedFundingRate": null, "predictedFundingIntervalHours": null, "nextFundingAt": null, "openInterestBase": 36935.97822, "openInterestUsd": 3129363818.71, "volume24hUsd": 472844757.19, "maxLeverage": 40, "isolatedOnly": false, "delisted": false, "observedAt": "2026-10-03T21:30:00.000Z", "sourceAsOf": null, "sourceUrl": "https://api.hyperliquid.xyz/info", "confidence": "high", "stale": false, "oiChange1h": null, "oiChange24h": null, "oiUsdChange1h": null, "oiUsdChange24h": null, "underlying": null, "underlyingPremium": null, "closedMarketPremium": null, "longShortRatio": null, "longShortRatioReason": null }, // … 3 more items ], "meta": { "dataset": "perps", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-03T21:30:00.000Z", "historyStart": null, "updatedAt": "2026-10-03T21:30:00.000Z", "page": null, "next": null, "coverage": { "total": 5 }, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Exchange and market data providers" }, { "attribution": "Exchange and market data providers" }, // … 1 more items ] } } ``` Trimmed · 2026-10-03 [Run it without a key: `GET /v1/datasets/perps/sample`](https://api.gloom.sh/v1/datasets/perps/sample) ## Endpoints **GET `/v1/perps/markets` 1 credit (Perpetual contract prices, funding and open interest)** ### Parameters - **`search` string** - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`assetClass` string**: `stocks` `indices` `energy` `metals` `fx` `crypto` `other` - **`sort` string**: `oi` `funding` `oi-change` `premium` - **`includeDelisted` boolean** - **`updatedSince` string**: Timestamp with timezone: `YYYY-MM-DDTHH:mm:ssZ`. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`marketId` `venue` `dex` `symbol` `baseAsset` `displayName` `assetClass` `underlyingSymbol` `underlyingCurrency` `priceMultiplier` `qualityFlags` `quoteCurrency` `marginCurrency` `contractType` `markPrice` `oraclePrice` `lastPrice` `previousDayPrice` `priceChange24h` `premium` `venuePremium` `fundingRate` `fundingIntervalHours` `fundingKind` `fundingRate8h` `fundingApr` `predictedFundingRate` `predictedFundingIntervalHours` `nextFundingAt` `openInterestBase` `openInterestUsd` `volume24hUsd` `maxLeverage` `isolatedOnly` `delisted` `observedAt` `sourceAsOf` `sourceUrl` `confidence` `stale` `oiChange1h` `oiChange24h` `oiUsdChange1h` `oiUsdChange24h` `underlying` `underlyingPremium` `closedMarketPremium` `longShortRatio` `longShortRatioReason` **GET `/v1/perps/markets?baseAsset=` 1 credit (Compare perpetual venues for one underlying asset)** ### Parameters - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`baseAsset` string required** - **`updatedSince` string**: Timestamp with timezone: `YYYY-MM-DDTHH:mm:ssZ`. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`marketId` `venue` `dex` `symbol` `baseAsset` `displayName` `assetClass` `underlyingSymbol` `underlyingCurrency` `priceMultiplier` `qualityFlags` `quoteCurrency` `marginCurrency` `contractType` `markPrice` `oraclePrice` `lastPrice` `previousDayPrice` `priceChange24h` `premium` `venuePremium` `fundingRate` `fundingIntervalHours` `fundingKind` `fundingRate8h` `fundingApr` `predictedFundingRate` `predictedFundingIntervalHours` `nextFundingAt` `openInterestBase` `openInterestUsd` `volume24hUsd` `maxLeverage` `isolatedOnly` `delisted` `observedAt` `sourceAsOf` `sourceUrl` `confidence` `stale` `oiChange1h` `oiChange24h` `oiUsdChange1h` `oiUsdChange24h` `underlying` `underlyingPremium` `closedMarketPremium` `longShortRatio` `longShortRatioReason` **GET `/v1/perps/markets?symbols=` 1 credit per listing (Equity-linked perpetuals and underlying references)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`identity` string**: `listing` - **`updatedSince` string**: Timestamp with timezone: `YYYY-MM-DDTHH:mm:ssZ`. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`marketId` `venue` `dex` `venueSymbol` `baseAsset` `displayName` `assetClass` `underlyingSymbol` `underlyingCurrency` `priceMultiplier` `qualityFlags` `quoteCurrency` `marginCurrency` `contractType` `markPrice` `oraclePrice` `lastPrice` `previousDayPrice` `priceChange24h` `premium` `venuePremium` `fundingRate` `fundingIntervalHours` `fundingKind` `fundingRate8h` `fundingApr` `predictedFundingRate` `predictedFundingIntervalHours` `nextFundingAt` `openInterestBase` `openInterestUsd` `volume24hUsd` `maxLeverage` `isolatedOnly` `delisted` `observedAt` `sourceAsOf` `sourceUrl` `confidence` `stale` `oiChange1h` `oiChange24h` `oiUsdChange1h` `oiUsdChange24h` `underlying` `underlyingPremium` `closedMarketPremium` `longShortRatio` `longShortRatioReason` **GET `/v1/perps/markets/{marketId}/history` 2 credits (Perpetual prices, funding and candle history)** ### Parameters - **`marketId` string required** - **`from` string**: Timestamp with timezone: `YYYY-MM-DDTHH:mm:ssZ`. - **`to` string**: Timestamp with timezone: `YYYY-MM-DDTHH:mm:ssZ`. - **`limit` integer**: 1 to 200. - **`resolution` string**: `auto` `minute` `hour` `day` - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`time` `resolution` `markPrice` `oraclePrice` `premium` `fundingRate` `fundingIntervalHours` `openInterestBase` `openInterestUsd` `sampleCount` `firstObservedAt` `lastObservedAt` - **`include` list**: Comma list of blocks to add, returned under `included`: `funding` (funding payments); `candles` (hourly candles). Default: none. **GET `/v1/perps/rankings` 1 credit (Funding, open-interest and premium dislocations)** ### Parameters - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`ranking` `rank` `marketId` `venue` `dex` `symbol` `baseAsset` `displayName` `assetClass` `underlyingSymbol` `underlyingCurrency` `priceMultiplier` `qualityFlags` `quoteCurrency` `marginCurrency` `contractType` `markPrice` `oraclePrice` `lastPrice` `previousDayPrice` `priceChange24h` `premium` `venuePremium` `fundingRate` `fundingIntervalHours` `fundingKind` `fundingRate8h` `fundingApr` `predictedFundingRate` `predictedFundingIntervalHours` `nextFundingAt` `openInterestBase` `openInterestUsd` `volume24hUsd` `maxLeverage` `isolatedOnly` `delisted` `observedAt` `sourceAsOf` `sourceUrl` `confidence` `stale` `oiChange1h` `oiChange24h` `oiUsdChange1h` `oiUsdChange24h` `underlying` `underlyingPremium` `closedMarketPremium` `longShortRatio` `longShortRatioReason` **GET `/v1/perps/markets/{marketId}` 5 credits (One perpetual market with retained source evidence)** ### Parameters - **`marketId` string required** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`marketId` `venue` `dex` `symbol` `baseAsset` `displayName` `assetClass` `underlyingSymbol` `underlyingCurrency` `priceMultiplier` `qualityFlags` `quoteCurrency` `marginCurrency` `contractType` `markPrice` `oraclePrice` `lastPrice` `previousDayPrice` `priceChange24h` `premium` `venuePremium` `fundingRate` `fundingIntervalHours` `fundingKind` `fundingRate8h` `fundingApr` `predictedFundingRate` `predictedFundingIntervalHours` `nextFundingAt` `openInterestBase` `openInterestUsd` `volume24hUsd` `maxLeverage` `isolatedOnly` `delisted` `observedAt` `sourceAsOf` `sourceUrl` `confidence` `stale` `oiChange1h` `oiChange24h` `oiUsdChange1h` `oiUsdChange24h` `underlying` `underlyingPremium` `closedMarketPremium` `longShortRatio` `longShortRatioReason` - **`include` list**: Comma list of blocks to add, returned under `included`: `evidence` (source reads behind the market); `methodologyUrl` (how the figures are computed). Default: none. ## Good to know Perpetual contracts are derivatives, not ownership of the underlying asset. Funding and premiums can diverge. ## Sources Market data providers, Exchanges, Public derivatives exchange data Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Credit documents and covenants](https://gloom.sh/datasets/docs/datasets/credit-documents?utm_source=llms) - [Next Catalysts and litigation](https://gloom.sh/datasets/docs/datasets/catalysts?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/catalysts?utm_source=llms Alternative data # Catalysts and litigation One regulatory event or deadline, with source evidence and revisions 3 endpoints From 1 credit History from Oct 2026 ## Try it **curl** ``` curl https://api.gloom.sh/v1/catalysts \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/catalysts", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/catalysts", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "id": "59f68ff9ff738a132e6f1973eef3ba6f", "revisionId": "59f68ff9ff738a132e6f1973eef3ba6f:1", "revision": 1, "source": "fda_approvals", "externalId": "NDA020766:SUPPL:22", "type": "approval", "agency": "FDA", "jurisdiction": "US", "country": "US", "title": "XENICAL: supplement approval", "summary": "Labeling", "status": "approved", "announcedDate": "2007-01-05", "effectiveDate": "2007-01-05", "deadlineDate": null, "datePrecision": { "announced": "day", "effective": "day" }, "parties": [ { "name": "CHEPLAPHARM", "role": "current application sponsor", "entityId": null, "ticker": null, "exchange": null, "resolution": "unresolved", "confidence": 0 } ], "sourceUrl": "https://www.accessdata.fda.gov/scripts/cder/daf/index.cfm?event=overview.process&ApplNo=020766", "sourceDocumentId": "NDA020766", "language": "en", "observedAt": "2026-10-04T01:00:00.000Z", "sourcePublishedAt": null, "quote": "{\n \"submission_type\": \"SUPPL\",\n \"submission_number\": \"22\",\n \"submission_status\": \"AP\",\n \"submission_status_date\": \"20070105\",\n \"review_priority\": \"STANDARD\",\n \"submission_class_code\": \"LABELING\",\n \"submission_class_code_description\": \"Labeling\",\n \"application_docs\": [\n {\n \"id\": \"13381\",\n \"url\": \"http://www.accessdata.fda.gov/drugsatfda_docs/label/2007/020766s022lbl.pdf\",\n \"date\": \"20070108\",\n \"type\": \"Label\"\n },\n {\n \"id\": \"25751\",\n \"url\": \"http://www.accessdata.fda.gov/drugsatfda_docs/appletter/2007/020766s022_ltr.pdf\",\n \"date\": \"20070112\",\n \"type\": \"Letter\"\n }\n ]\n}", "quoteOffset": 473, "quoteSourceLength": 677, "quoteMatchMode": "whitespace", "confidence": 1, "metadata": { "extraction": "deterministic source fields", "applicationNumber": "NDA020766", "attributionBasis": "Current sponsor of the application; not necessarily the historical sponsor on the approval action date", "submissionType": "SUPPL", "submissionNumber": "22", "products": [ { "product_number": "001", "reference_drug": "Yes", "brand_name": "XENICAL", "active_ingredients": [ { "name": "ORLISTAT", "strength": "120MG" } ], "reference_standard": "Yes", "dosage_form": "CAPSULE", "route": "ORAL", "marketing_status": "Prescription" } ], "reviewPriority": "STANDARD", "effectiveDateMeaning": "FDA approval action date" }, "sector": null, "opinion": null, "changes": [], "supersedesRevisionId": null, "firstSeenAt": "2026-10-04T01:00:00.000Z", "lastSeenAt": "2026-10-04T01:00:00.000Z" }, { "id": "02044c98983fab923ea948fc388055c1", "revisionId": "02044c98983fab923ea948fc388055c1:1", "revision": 1, "source": "fda_approvals", "externalId": "NDA020766:SUPPL:14", "type": "approval", "agency": "FDA", "jurisdiction": "US", "country": "US", "title": "XENICAL: supplement approval", "summary": "Manufacturing (CMC)", "status": "approved", "announcedDate": "2002-02-27", "effectiveDate": "2002-02-27", "deadlineDate": null, "datePrecision": { "announced": "day", "effective": "day" }, "parties": [ { "name": "CHEPLAPHARM", "role": "current application sponsor", "entityId": null, "ticker": null, "exchange": null, "resolution": "unresolved", "confidence": 0 } ], "sourceUrl": "https://www.accessdata.fda.gov/scripts/cder/daf/index.cfm?event=overview.process&ApplNo=020766", "sourceDocumentId": "NDA020766", "language": "en", "observedAt": "2026-10-04T01:00:00.000Z", "sourcePublishedAt": null, "quote": "{\n \"submission_type\": \"SUPPL\",\n \"submission_number\": \"14\",\n \"submission_status\": \"AP\",\n \"submission_status_date\": \"20020227\",\n \"review_priority\": \"PRIORITY\",\n \"submission_class_code\": \"MANUF (CMC)\",\n \"submission_class_code_description\": \"Manufacturing (CMC)\"\n}", "quoteOffset": 473, "quoteSourceLength": 283, "quoteMatchMode": "whitespace", "confidence": 1, "metadata": { "extraction": "deterministic source fields", "applicationNumber": "NDA020766", "attributionBasis": "Current sponsor of the application; not necessarily the historical sponsor on the approval action date", "submissionType": "SUPPL", "submissionNumber": "14", "products": [ { "product_number": "001", "reference_drug": "Yes", "brand_name": "XENICAL", "active_ingredients": [ { "name": "ORLISTAT", "strength": "120MG" } ], "reference_standard": "Yes", "dosage_form": "CAPSULE", "route": "ORAL", "marketing_status": "Prescription" } ], "reviewPriority": "PRIORITY", "effectiveDateMeaning": "FDA approval action date" }, "sector": null, "opinion": null, "changes": [], "supersedesRevisionId": null, "firstSeenAt": "2026-10-04T01:00:00.000Z", "lastSeenAt": "2026-10-04T01:00:00.000Z" }, // … 3 more items ], "meta": { "dataset": "catalysts", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-04T01:00:00.000Z", "historyStart": "2026-10-04T01:00:00.000Z", "updatedAt": "2026-10-04T01:00:00.000Z", "page": null, "next": null, "coverage": { "totalEvents": 8, "linkedEvents": 0, "jurisdictions": [ "US" ] }, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Government and regulatory publications" } ] } } ``` Trimmed · 2026-10-04 [Run it without a key: `GET /v1/datasets/catalysts/sample`](https://api.gloom.sh/v1/datasets/catalysts/sample) ## Endpoints **GET `/v1/catalysts` 2 credits per listing (Government-sourced catalysts and deadlines)** ### Parameters - **`symbols` string**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`agency` string** - **`country` string** - **`sector` string** - **`status` string** - **`source` string** - **`search` string** - **`from` string**: Calendar date: `YYYY-MM-DD`. - **`to` string**: Calendar date: `YYYY-MM-DD`. - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`type` string**: `regulatory` `clinical` `litigation` `antitrust` `recall` `sanctions` `export_control` `tariff` `rulemaking` `approval` `advisory` `advisory-meeting` `pdufa` - **`dateField` string**: `announced` `effective` `deadline` `any` `observed` - **`upcoming` boolean** - **`changed` boolean** - **`litigation` boolean** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `revisionId` `revision` `source` `externalId` `type` `agency` `jurisdiction` `country` `title` `summary` `status` `announcedDate` `effectiveDate` `deadlineDate` `datePrecision` `parties` `sourceUrl` `sourceDocumentId` `language` `observedAt` `sourcePublishedAt` `quote` `quoteOffset` `quoteSourceLength` `quoteMatchMode` `confidence` `metadata` `sector` `opinion` `changes` `supersedesRevisionId` `firstSeenAt` `lastSeenAt` - **`include` list**: Comma list of blocks to add, returned under `included`: `facets` (values present in the result, to filter by); `coverage` (what the dataset covers: regulator events, links and sources, with company events counted apart). Default: none. `from` must be on or before `to`. **GET `/v1/catalysts/{id}` 5 credits (Catalyst evidence and revisions)** ### Parameters - **`id` string required** - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `revisionId` `revision` `source` `externalId` `type` `agency` `jurisdiction` `country` `title` `summary` `status` `announcedDate` `effectiveDate` `deadlineDate` `datePrecision` `parties` `sourceUrl` `sourceDocumentId` `language` `observedAt` `sourcePublishedAt` `quote` `quoteOffset` `quoteSourceLength` `quoteMatchMode` `confidence` `metadata` `sector` `opinion` `changes` `supersedesRevisionId` `firstSeenAt` `lastSeenAt` - **`include` list**: Comma list of blocks to add, returned under `included`: `history` (earlier revisions, newest first). Default: none. **GET `/v1/catalysts/changes` 1 credit per listing (Observed catalyst revisions)** ### Parameters - **`symbols` string**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`cursor` string**: meta.cursor of the previous read: the feed goes on after it. - **`limit` integer**: 1 to 200. - **`since` string required**: Timestamp with timezone: `YYYY-MM-DDTHH:mm:ssZ`. - **`revisions` string**: material (default): first sightings, and revisions that change a status or a date. all: every revision, including party links, titles, opinions and text-only edits; each row's `changes` lists what moved. Either way, an event first seen with every date more than 30 days past is not a first sighting.`material` `all` - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `revisionId` `revision` `source` `externalId` `type` `agency` `jurisdiction` `country` `title` `summary` `status` `announcedDate` `effectiveDate` `deadlineDate` `datePrecision` `parties` `sourceUrl` `sourceDocumentId` `language` `observedAt` `sourcePublishedAt` `quote` `quoteOffset` `quoteSourceLength` `quoteMatchMode` `confidence` `metadata` `sector` `opinion` `changes` `supersedesRevisionId` `firstSeenAt` `lastSeenAt` - **`include` list**: Comma list of blocks to add, returned under `included`: `facets` (values present in the result, to filter by); `coverage` (what the dataset covers: regulator events, links and sources, with company events counted apart). Default: none. ## Sources Government and regulatory publications Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Perpetuals](https://gloom.sh/datasets/docs/datasets/perps?utm_source=llms) - [Next Research attention](https://gloom.sh/datasets/docs/datasets/research-attention?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/research-attention?utm_source=llms Alternative data # Research attention One company research count, with publication lag, rounding and privacy thresholds 2 endpoints From 4 credits ## Try it **curl** ``` curl https://api.gloom.sh/v1/research-attention \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/research-attention", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/research-attention", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [], "meta": { "dataset": "research-attention", "requestId": "sample-request", "asOf": null, "dataThrough": null, "historyStart": null, "updatedAt": null, "page": null, "next": null, "coverage": { "publishedHours": 0, "publishedTickers": 0, "baselineDays": 28 }, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Gloom research activity aggregates" } ] } } ``` Trimmed [Run it without a key: `GET /v1/datasets/research-attention/sample`](https://api.gloom.sh/v1/datasets/research-attention/sample) ## Endpoints **GET `/v1/research-attention` 4 credits (Privacy-thresholded company research activity)** ### Parameters - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`window` string**: `now` `today` `week` - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`symbol` `ticker` `exchange` `name` `country` `sector` `rank` `researchUnits` `sharePct` `zScore` `baselinePeriods` `priceChangePct` `relativeVolume` `marketAsOf` `news` `history` `evidence` - **`include` list**: Comma list of blocks to add, returned under `included`: `sectors` (research by sector); `countries` (research by country); `period` (the window counted); `privacy` (thresholds every count passes before it is published). Default: none. **GET `/v1/research-attention?symbols=` 8 credits per listing (Released company research counts and aggregate history)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`window` string**: `now` `today` `week` - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`ticker` `exchange` `name` `country` `sector` `rank` `researchUnits` `sharePct` `zScore` `baselinePeriods` `priceChangePct` `relativeVolume` `marketAsOf` `news` `history` `evidence` - **`include` list**: Comma list of blocks to add, returned under `included`: `sectors` (research by sector); `countries` (research by country); `period` (the window counted); `privacy` (thresholds every count passes before it is published); `series` (the company's research by period). Default: none. ## Good to know Opt-in, lagged, rounded research activity. Only privacy-thresholded aggregates are published. ## Sources Gloom research activity aggregates Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Catalysts and litigation](https://gloom.sh/datasets/docs/datasets/catalysts?utm_source=llms) - [Next Exposure engine](https://gloom.sh/datasets/docs/datasets/exposure?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/exposure?utm_source=llms Alternative data # Exposure engine Operating exposure scenarios with sourced evidence and explicit coverage gaps 2 endpoints From 2 credits ## Try it **curl** ``` curl https://api.gloom.sh/v1/exposure/scenarios \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/exposure/scenarios", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/exposure/scenarios", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "id": "taiwan-disruption", "label": "Taiwan disruption", "shocks": [ { "id": "taiwan", "kind": "country", "target": "TW", "changePct": -100 } ] }, { "id": "china-demand", "label": "China demand -20%", "shocks": [ { "id": "china", "kind": "country", "target": "CN", "changePct": -20 } ] }, // … 8 more items ], "meta": { "dataset": "exposure", "requestId": "sample-request", "asOf": null, "dataThrough": null, "historyStart": null, "updatedAt": null, "page": null, "next": null, "coverage": null, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Exchange and market data providers" }, { "attribution": "News publishers and public reports" }, // … 1 more items ] } } ``` Trimmed [Run it without a key: `GET /v1/datasets/exposure/sample`](https://api.gloom.sh/v1/datasets/exposure/sample) ## Endpoints **GET `/v1/exposure/scenarios` 2 credits (Operating exposure scenario catalogue)** ### Parameters - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `label` `shocks` **POST `/v1/exposure/analyze` 50 credits (Stateless operating exposure analysis from public evidence)** ### Parameters - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`scenario` `evaluatedAt` `depth` `requestedHoldings` `holdings` `portfolio` `unknowns` `methodology` ### Request body Stateless JSON request, at most 16384 bytes. Holdings are not stored. JSON schema ``` { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "holdings": { "minItems": 1, "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "symbol": { "type": "string", "minLength": 1, "maxLength": 40, "pattern": "^[A-Za-z0-9.:-]+$" }, "weight": { "type": "number", "minimum": -10, "maximum": 10, "description": "Signed fraction of portfolio NAV; 0.25 means 25%, -0.1 means 10% short. Never normalized." } }, "required": [ "symbol", "weight" ], "additionalProperties": false } }, "scenarioId": { "type": "string", "enum": [ "taiwan-disruption", "china-demand", "europe-demand", "china-semiconductor-ban", "china-tariff", "oil-up", "rates-up", "usd-up", "tsmc-outage", "microsoft-capex" ] } }, "required": [ "holdings", "scenarioId" ], "additionalProperties": false } ``` ## Good to know Scenario parameters are stress assumptions, not forecasts. `POST /v1/exposure/analyze` accepts a JSON body up to 16 KB. ## Sources Market data providers, Publishers, SEC filings Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Research attention](https://gloom.sh/datasets/docs/datasets/research-attention?utm_source=llms) - [Next Earnings-call transcripts](https://gloom.sh/datasets/docs/datasets/transcripts?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/transcripts?utm_source=llms Filings and company text # Earnings-call transcripts One company earnings call with speakers, full transcript, summary and guidance 2 endpoints From 4 credits ## Try it **curl** ``` curl https://api.gloom.sh/v1/transcripts \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/transcripts", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/transcripts", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "ticker": "NVDA", "id": "864fa17a-f64a-5e3d-a9cd-e6a38fc6e0da", "companyName": "NVIDIA Corporation", "fiscalYear": 2027, "fiscalQuarter": 2, "callAt": "2026-08-26T21:00:00.000Z", "callTimeKnown": true, "eventKind": "earnings", "eventLabel": null, "status": "published", "durationSeconds": null, "wordCount": 3262, "hasTranscript": true, "sentiment": null, "webcastUrl": "https://investor.nvidia.com/financial-info/financial-reports-and-sec-filings/default.aspx" } ], "meta": { "dataset": "transcripts", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-08-26T21:00:00.000Z", "historyStart": null, "updatedAt": null, "page": null, "next": null, "coverage": { "calls": 1 }, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Company earnings webcasts" } ] } } ``` Trimmed · 2026-08-26 [Run it without a key: `GET /v1/datasets/transcripts/sample`](https://api.gloom.sh/v1/datasets/transcripts/sample) ## Endpoints **GET `/v1/transcripts` 4 credits per listing (Published earnings calls by company)** ### Parameters - **`symbols` string**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`limit` integer**: 1 to 200. Default 25. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`ticker` `id` `companyName` `fiscalYear` `fiscalQuarter` `callAt` `callTimeKnown` `eventKind` `eventLabel` `status` `durationSeconds` `wordCount` `hasTranscript` `sentiment` `webcastUrl` **GET `/v1/transcripts/{id}` 10 credits (Earnings transcript, speakers, summary and guidance)** ### Parameters - **`id` string required** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `companyName` `fiscalYear` `fiscalQuarter` `callAt` `eventKind` `eventLabel` `status` `durationSeconds` `wordCount` `hasTranscript` `sentiment` `webcastUrl` `timing` `symbol` `turns` `participants` `summary` `guidance` `riskFactors` `analystFocus` `notable` `keyFigures` `sentimentRationale` `qaStartTurn` `asrModel` `language` `slidesUrl` `isTranslated` `hasSlides` `updatedAt` - **`include` list**: Comma list of blocks to add, returned under `included`: `fullText` (the transcript as one text). Default: none. ## Sources Company earnings webcasts Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Exposure engine](https://gloom.sh/datasets/docs/datasets/exposure?utm_source=llms) - [Next Risk factors](https://gloom.sh/datasets/docs/datasets/risk-factors?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/risk-factors?utm_source=llms Filings and company text # Risk factors One 10-K risk section and its changes from the year before 2 endpoints From 2 credits History from Dec 2025 ## Try it **curl** ``` curl "https://api.gloom.sh/v1/risk-factors?symbols=CVX" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/risk-factors?symbols=CVX", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/risk-factors?symbols=CVX", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "symbol": "CVX", "id": "0000093410-26-000078", "company": { "ticker": "CVX", "name": "Chevron Corporation", "cik": "0000093410" }, "reportYear": 2026, "periodEnd": "2025-12-31", "fiscalYear": 2025, "filedAt": "2026-02-24T00:00:00.000Z", "updatedAt": "2026-10-08T12:00:00.000Z", "riskCount": 3, "groupCount": 1, "wordCount": 547, "addedCount": null, "removedCount": null, "rewordedCount": null, "overview": null, "quality": "suspect" } ], "meta": { "dataset": "risk-factors", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-02-24T00:00:00.000Z", "historyStart": "2025-12-31", "updatedAt": "2026-10-08T12:00:00.000Z", "page": null, "next": null, "coverage": { "reports": 1 }, "symbols": [ { "input": "CVX", "symbol": "CVX", "status": "ok" } ], "sampledAt": null, "source": [ { "attribution": "U.S. Securities and Exchange Commission and the filing issuer" } ] } } ``` Trimmed · 2026-02-24 [Run it without a key: `GET /v1/datasets/risk-factors/sample`](https://api.gloom.sh/v1/datasets/risk-factors/sample) ## Endpoints **GET `/v1/risk-factors` 2 credits per listing (Available annual risk-factor filings)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `company` `reportYear` `periodEnd` `fiscalYear` `filedAt` `updatedAt` `riskCount` `groupCount` `wordCount` `addedCount` `removedCount` `rewordedCount` `overview` `quality` **GET `/v1/risk-factors?year=` 10 credits per listing (Risk factors and annual differences)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`year` integer required**: 1900 to 2100. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `company` `reportYear` `periodEnd` `fiscalYear` `filedAt` `updatedAt` `riskCount` `groupCount` `wordCount` `addedCount` `removedCount` `rewordedCount` `overview` `quality` `docUrl` `groups` `risks` `diff` `notes` `otherYears` ## Sources SEC filings Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Earnings-call transcripts](https://gloom.sh/datasets/docs/datasets/transcripts?utm_source=llms) - [Next Document search](https://gloom.sh/datasets/docs/datasets/document-search?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/document-search?utm_source=llms Filings and company text # Document search One searchable filing, transcript or news passage with its source link 2 endpoints From 4 credits ## Try it **curl** ``` curl "https://api.gloom.sh/v1/search?q=CAPITAL+ONE&sort=newest&limit=5&count=false" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/search?q=CAPITAL+ONE&sort=newest&limit=5&count=false", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/search?q=CAPITAL+ONE&sort=newest&limit=5&count=false", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "id": "filing:0001193125-26-413925:0", "docType": "filing", "sourceId": "0001193125-26-413925", "chunkIndex": 0, "symbol": null, "title": "8-K - CAPITAL ONE MULTI ASSET EXECUTION TRUST (0001163321) (Filer)", "url": "https://www.sec.gov/Archives/edgar/data/1163321/000119312526413925/0001193125-26-413925-index.htm", "publishedAt": "2026-10-05T18:11:19.000Z", "snippet": "Filed: 2026-10-05 AccNo: 0001193125-26-413925 Size: 734 KB Item 8.01: Other Events Item 9.01: Financial Statements and Exhibits", "metadata": { "source": "8-K", "form": "8-K" }, "score": 1, "matchCount": 1 } ], "meta": { "dataset": "document-search", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-05T18:11:19.000Z", "historyStart": null, "updatedAt": null, "page": null, "next": null, "coverage": { "matches": 1, "countCapped": false }, "symbols": null, "sampledAt": null, "source": [ { "attribution": "U.S. Securities and Exchange Commission and the filing issuer" }, { "attribution": "News publishers and public reports" }, // … 1 more items ] } } ``` Trimmed · 2026-10-05 [Run it without a key: `GET /v1/datasets/document-search/sample`](https://api.gloom.sh/v1/datasets/document-search/sample) ## Endpoints **GET `/v1/search` 4 credits (Search filings, transcripts and news)** ### Parameters - **`symbols` string**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. One price for the list. - **`docTypes` string** - **`sources` string** - **`from` string**: Calendar date: `YYYY-MM-DD`. - **`to` string**: Calendar date: `YYYY-MM-DD`. - **`sort` string**: `relevance` `newest` `oldest` - **`limit` integer**: 1 to 100. Default 50. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. Pages up to 5,000 rows deep. - **`count` boolean** - **`distinct` boolean** - **`q` string required** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `docType` `sourceId` `chunkIndex` `symbol` `title` `url` `publishedAt` `snippet` `metadata` `score` `matchCount` `from` must be on or before `to`. **GET `/v1/documents/{docType}:{sourceId}` 10 credits (Indexed document text and chunk metadata)** ### Parameters - **`docType` string required**: `filing` `transcript` `news` - **`sourceId` string required** - **`limit` integer**: 1 to 1000. Default 200. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. Pages up to 5,000 rows deep. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`docType` `sourceId` `symbol` `title` `url` `publishedAt` `chunks` ## Sources SEC filings, Publishers, Company earnings transcripts Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Risk factors](https://gloom.sh/datasets/docs/datasets/risk-factors?utm_source=llms) - [Next FINRA short volume](https://gloom.sh/datasets/docs/datasets/short-volume?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/short-volume?utm_source=llms Macro and positioning # FINRA short volume One ticker day of short-sale volume, total volume and off-exchange ratios 1 endpoint From 2 credits History from Sep 2026 ## Try it **curl** ``` curl "https://api.gloom.sh/v1/short-volume?symbols=AAPL" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/short-volume?symbols=AAPL", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/short-volume?symbols=AAPL", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "symbol": "AAPL", "date": "2026-09-21", "shortVolume": "5442428.346356", "shortExemptVolume": "23826", "totalVolume": "12178460.751537", "ratioPercent": 44.68896732, "markets": [ "B", "Q", // … 1 more items ], "fetchedAt": "2026-09-22T00:00:00.000Z", "sourceUrl": "https://cdn.finra.org/equity/regsho/daily/CNMSshvol20260921.txt", "refreshFailed": false, "unavailableReason": null } ], "meta": { "dataset": "short-volume", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-09-21", "historyStart": "2026-09-21", "updatedAt": "2026-09-22T00:00:00.000Z", "page": null, "next": null, "coverage": { "windowStart": "2025-09-21", "windowEnd": "2026-09-21", "expectedFiles": 1, "ingestedFiles": 1, "missingFiles": 0, "expectedMonths": 13, "discoveredMonths": 0, "completeWindow": false }, "symbols": [ { "input": "AAPL", "symbol": "AAPL", "status": "ok" } ], "sampledAt": null, "source": [ { "attribution": "Public trading activity reports" } ] } } ``` Trimmed · 2026-09-21 [Run it without a key: `GET /v1/datasets/short-volume/sample`](https://api.gloom.sh/v1/datasets/short-volume/sample) ## Endpoints **GET `/v1/short-volume` 2 credits per listing (Daily off-exchange short-sale volume and ratios)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`scope` string**: `nms` `otc` - **`limit` integer**: 1 to 1000. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`date` `shortVolume` `shortExemptVolume` `totalVolume` `ratioPercent` `markets` `fetchedAt` `sourceUrl` `refreshFailed` `unavailableReason` - **`include` list**: Comma list of blocks to add, returned under `included`: `latest` (the newest day, with its change and percentile); `coverage` (the days covered). Default: none. ## Good to know Short-sale volume is not short interest and does not measure open short positions. ## Sources Public trading activity reports Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Document search](https://gloom.sh/datasets/docs/datasets/document-search?utm_source=llms) - [Next FINRA short interest](https://gloom.sh/datasets/docs/datasets/short-interest?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/short-interest?utm_source=llms Macro and positioning # FINRA short interest One ticker settlement date, with short positions and days to cover 1 endpoint From 2 credits History from Jan 2026 ## Try it **curl** ``` curl "https://api.gloom.sh/v1/short-interest?symbols=AAPL" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/short-interest?symbols=AAPL", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/short-interest?symbols=AAPL", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "symbol": "AAPL", "settlementDate": "2026-01-15", "sharesShort": 113576032, "previousSharesShort": 112730000, "averageDailyVolume": 43772789, "daysToCover": 2.59, "changePercent": 0.75, "revised": true, "issueName": "Apple Inc. Common Stock" }, { "symbol": "AAPL", "settlementDate": "2026-02-13", "sharesShort": 133373267, "previousSharesShort": 116854414, "averageDailyVolume": 59148111, "daysToCover": 2.25, "changePercent": 14.14, "revised": false, "issueName": "Apple Inc. Common Stock" } ], "meta": { "dataset": "short-interest", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-02-13", "historyStart": "2026-01-15", "updatedAt": null, "page": null, "next": null, "coverage": { "observations": 2 }, "symbols": [ { "input": "AAPL", "symbol": "AAPL", "status": "ok" } ], "sampledAt": null, "source": [ { "attribution": "Public short interest reports" } ] } } ``` Trimmed · 2026-02-13 [Run it without a key: `GET /v1/datasets/short-interest/sample`](https://api.gloom.sh/v1/datasets/short-interest/sample) ## Endpoints **GET `/v1/short-interest` 2 credits per listing (Settlement-date short interest and days to cover)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`years` integer**: 1 to 10. - **`limit` integer**: 1 to 1000. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`settlementDate` `sharesShort` `previousSharesShort` `averageDailyVolume` `daysToCover` `changePercent` `revised` `issueName` ## Sources Public short interest reports Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous FINRA short volume](https://gloom.sh/datasets/docs/datasets/short-volume?utm_source=llms) - [Next SEC filings, insiders and 13F holders](https://gloom.sh/datasets/docs/datasets/sec?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/sec?utm_source=llms Filings and company text # SEC filings, insiders and 13F holders SEC filings, insider transactions and institutional ownership with dated source records 8 endpoints From 1 credit ## Try it **curl** ``` curl "https://api.gloom.sh/v1/filings?symbols=AAPL" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/filings?symbols=AAPL", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/filings?symbols=AAPL", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "symbol": "AAPL", "accessionNumber": "0001140361-26-038674", "form": "4", "filingDate": "2026-10-05", "acceptedAt": "2026-10-06T02:42:45.000Z", "primaryDocument": "xslF345X06/form4.xml", "primaryDocDescription": "FORM 4", "items": null, "reportDate": null, "cik": "0000320193", "companyName": "Apple Inc.", "filingUrl": "https://www.sec.gov/Archives/edgar/data/320193/0001140361-26-038674-index.htm", "primaryDocumentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000114036126038674/xslF345X06/form4.xml", "fileNumber": null, "acceptedAtShifted": false, "acceptedAtRaw": "2026-10-06T02:42:45.000Z" }, { "symbol": "AAPL", "accessionNumber": "0001140361-26-038672", "form": "4", "filingDate": "2026-10-05", "acceptedAt": "2026-10-06T02:39:10.000Z", "primaryDocument": "xslF345X06/form4.xml", "primaryDocDescription": "FORM 4", "items": null, "reportDate": null, "cik": "0000320193", "companyName": "Apple Inc.", "filingUrl": "https://www.sec.gov/Archives/edgar/data/320193/0001140361-26-038672-index.htm", "primaryDocumentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000114036126038672/xslF345X06/form4.xml", "fileNumber": null, "acceptedAtShifted": false, "acceptedAtRaw": "2026-10-06T02:39:10.000Z" }, // … 3 more items ], "meta": { "dataset": "sec", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-06T02:42:45.000Z", "historyStart": null, "updatedAt": null, "page": null, "next": null, "coverage": { "filings": 5 }, "symbols": [ { "input": "AAPL", "symbol": "AAPL", "status": "ok" } ], "sampledAt": null, "source": [ { "attribution": "U.S. Securities and Exchange Commission and the filing issuer" }, { "attribution": "Institutional ownership filings and data providers" } ] } } ``` Trimmed · 2026-10-06 [Run it without a key: `GET /v1/datasets/sec/sample`](https://api.gloom.sh/v1/datasets/sec/sample) ## Endpoints **GET `/v1/filings` 1 credit per listing (SEC filing lists)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`limit` integer**: 1 to 50. Default 50. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. Pages up to 5,000 rows deep. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`accessionNumber` `form` `filingDate` `acceptedAt` `primaryDocument` `primaryDocDescription` `items` `reportDate` `cik` `companyName` `filingUrl` `primaryDocumentUrl` `fileNumber` `acceptedAtShifted` `acceptedAtRaw` **GET `/v1/sec/filing/documents` 1 credit (Documents within a SEC filing)** ### Parameters - **`cik` string** - **`accession` string** - **`form` string** - **`primaryDocument` string** - **`filingUrl` string** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`name` `description` `type` `url` `size` `primary` **GET `/v1/sec/filing/content` 5 credits (SEC filing document content)** ### Parameters - **`cik` string** - **`accession` string** - **`form` string** - **`primaryDocument` string** - **`primaryDocumentUrl` string** - **`filingUrl` string** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`content` `form4` `form4Transactions` **GET `/v1/insider-trades` 25 credits per listing (Form 4 open-market buys and sells by company, each citing its filing)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`since` string**: Timestamp with timezone: `YYYY-MM-DDTHH:mm:ssZ`. - **`side` string**: buy: lines coded P (open-market purchase); sell: coded S.`buy` `sell` - **`limit` integer**: 1 to 50. Default 20. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. Pages up to 5,000 rows deep. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`accessionNumber` `form` `filingDate` `acceptedAt` `observedAt` `originalFilingDate` `sourceUrl` `issuerCik` `issuerName` `ticker` `line` `isDerivative` `transactionType` `side` `acquiredDisposed` `transactionDate` `reportedName` `reportingOwnerCik` `role` `title` `director` `officer` `tenPercentOwner` `securityTitle` `ownershipType` `ownershipNature` `shareClass` `derivative` `shares` `pricePerShare` `totalValue` `sharesOwned` `counted` `exclusion` `source` - **`include` list**: Comma list of blocks to add, returned under `included`: `summary` (where the rows come from, how many match and whether that is every one). Default: none. **GET `/v1/holdings` 2 credits per listing (Institutional holders and quarter-to-quarter changes)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`quarter` string** - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. Pages up to 5,000 rows deep. - **`limit` integer**: 1 to 25. Default 25. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `cik` `fund` `ticker` `cusip` `issuer` `type` `value` `shares` `previousShares` `weight` `previousWeight` `weightChange` `action` - **`include` list**: Comma list of blocks to add, returned under `included`: `summary` (holders, entries, exits and value for the quarter). Default: none. **GET `/v1/insider-trades/changes` 1 credit (Form 4 buys and sells in the order their filings were added, to poll for new ones)** ### Parameters - **`symbols` string**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. One price for the list. - **`since` string required**: Timestamp with timezone: `YYYY-MM-DDTHH:mm:ssZ`. - **`side` string**: buy: lines coded P (open-market purchase); sell: coded S.`buy` `sell` - **`cursor` string**: meta.cursor of the previous read: the feed goes on after it. - **`limit` integer**: 1 to 200. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`accessionNumber` `form` `filingDate` `acceptedAt` `observedAt` `originalFilingDate` `sourceUrl` `issuerCik` `issuerName` `ticker` `line` `isDerivative` `transactionType` `side` `acquiredDisposed` `transactionDate` `reportedName` `reportingOwnerCik` `role` `title` `director` `officer` `tenPercentOwner` `securityTitle` `ownershipType` `ownershipNature` `shareClass` `derivative` `shares` `pricePerShare` `totalValue` `sharesOwned` `counted` `exclusion` `source` **GET `/v1/insider-trades/signals` 25 credits (Companies ranked by recent open-market insider buying or selling, with the reasons and filters)** ### Parameters - **`side` string**: `buy` `sell` - **`window` integer**: Days of trading each row covers, ending today (UTC). - **`limit` integer**: 1 to 50. - **`role` string**: `all` `officers` `directors` `owners` - **`minValue` integer**: US dollars the insiders traded in the window. - **`cluster` boolean** - **`position` string**: new on the buy side, exited on the sell side.`new` `exited` - **`cap` string**: Market value: micro under $300M, small to $2B, mid to $10B, large above.`micro` `small` `mid` `large` - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`ticker` `issuerCik` `company` `score` `reasons` `insiders` `buys` `value` `shares` `firstBuy` `lastBuy` `lastFiled` `marketCap` `signals` `whySignals` `buyers` - **`include` list**: Comma list of blocks to add, returned under `included`: `coverage` (days of the EDGAR index read, and any missing). Default: none. **GET `/v1/holdings/crowding` 25 credits (Institutional ownership concentration and fund flows)** ### Parameters - **`quarter` string** - **`limit` integer**: 1 to 50. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `ticker` `cusip` `issuer` `type` `holderCount` `newCount` `exitCount` `comparedFunds` `totalValue` `weightChange` - **`include` list**: Comma list of blocks to add, returned under `included`: `summary` (the quarter and the funds read). Default: none. ## Good to know `acceptedAt` is when EDGAR accepted a filing. SEC's file sometimes carries New York's offset twice over: `acceptedAt` is then moved back and `acceptedAtShifted` is `true`. `acceptedAtRaw` is the time as SEC wrote it, unmoved. `/insider-trades`: Form 4 lines coded P (`side` buy) or S (sell), each with `accessionNumber`, `sourceUrl` and `acceptedAt`. `include=summary` adds each listing's `totalRows`, every row that matches the query on every page, and `complete`, false when the query reaches back past what the dataset holds. `meta.page.total` counts the rows too. `since` is SEC's acceptance time, or the filing day when there is none. To poll, read `/insider-trades/changes` with its `meta.cursor`: [Polling insider trades](https://gloom.sh/datasets/docs/insider-trades?utm_source=llms). ## Sources SEC filings, Institutional filings Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous FINRA short interest](https://gloom.sh/datasets/docs/datasets/short-interest?utm_source=llms) - [Next Congress trades](https://gloom.sh/datasets/docs/datasets/congress?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/congress?utm_source=llms Alternative data # Congress trades Congressional transactions with member, ticker, amounts and dated disclosure evidence 1 endpoint From 2 credits ## Try it **curl** ``` curl https://api.gloom.sh/v1/congress-trades \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/congress-trades", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/congress-trades", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "id": "senate:028aef33-dc0d-44a1-992f-aa35ee42685b:0", "chamber": "senate", "filingId": "028aef33-dc0d-44a1-992f-aa35ee42685b", "docId": "028aef33-dc0d-44a1-992f-aa35ee42685b", "memberName": "A. Mitchell McConnell Jr.", "stateDistrict": "", "filingDate": "2026-09-21", "transactionDate": "2026-08-20", "notificationDate": null, "lagDays": 32, "side": "BUY", "transactionType": "Purchase", "ticker": "WMB", "assetName": "Williams Companies, Inc. (The) Common Stock", "assetType": "OP", "owner": "Joint", "amount": "$15,001 - $50,000", "amountLow": 15001, "amountHigh": 50000, "capGainsOver200": null, "filingStatus": null, "subholdingOf": null, "description": "Option Type: Call Strike price: $75.00 Expires: 2026-08-21", "sourceUrl": "https://efdsearch.senate.gov/search/view/ptr/028aef33-dc0d-44a1-992f-aa35ee42685b/", "returnSinceTx": null, "returnSinceFiling": null, "returnAsOf": null, "party": null, "committees": null }, { "id": "senate:028aef33-dc0d-44a1-992f-aa35ee42685b:2", "chamber": "senate", "filingId": "028aef33-dc0d-44a1-992f-aa35ee42685b", "docId": "028aef33-dc0d-44a1-992f-aa35ee42685b", "memberName": "A. Mitchell McConnell Jr.", "stateDistrict": "", "filingDate": "2026-09-21", "transactionDate": "2026-08-19", "notificationDate": null, "lagDays": 33, "side": "BUY", "transactionType": "Purchase", "ticker": null, "assetName": "GS Managed Structured Note Strategy S&P 500 Linked Note", "assetType": "ST", "owner": "Spouse", "amount": "$50,001 - $100,000", "amountLow": 50001, "amountHigh": 100000, "capGainsOver200": null, "filingStatus": null, "subholdingOf": null, "description": null, "sourceUrl": "https://efdsearch.senate.gov/search/view/ptr/028aef33-dc0d-44a1-992f-aa35ee42685b/", "returnSinceTx": null, "returnSinceFiling": null, "returnAsOf": null, "party": null, "committees": null }, // … 2 more items ], "meta": { "dataset": "congress", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-08T16:55:20.000Z", "historyStart": null, "updatedAt": "2026-10-08T16:55:20.000Z", "page": null, "next": null, "coverage": { "year": 2026, "chamber": "all", "filingCount": 1, "filingsScanned": 1, "filingsParsed": 1, "filingsPending": 0, "senateUnavailable": false, "summariesTruncated": false }, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Public government financial disclosures" } ] } } ``` Trimmed · 2026-10-08 [Run it without a key: `GET /v1/datasets/congress/sample`](https://api.gloom.sh/v1/datasets/congress/sample) ## Endpoints **GET `/v1/congress-trades` 2 credits per listing (Congressional transactions with disclosure evidence)** ### Parameters - **`symbols` string**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`chamber` string**: `all` `house` `senate` - **`year` integer**: Disclosure year from 2008 through the current UTC year. - **`limit` integer**: 1 to 500. Default 150. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`filingLimit` integer**: 1 to 60. - **`member` string** - **`side` string**: `BUY` `SELL` `EXCHANGE` `OTHER` - **`owner` string**: `self` `spouse` `joint` `dependent` `other` - **`assetType` string**: `stock` `option` `other` - **`minAmount` string** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `chamber` `filingId` `docId` `memberName` `stateDistrict` `filingDate` `transactionDate` `notificationDate` `lagDays` `side` `transactionType` `ticker` `assetName` `assetType` `owner` `amount` `amountLow` `amountHigh` `capGainsOver200` `filingStatus` `subholdingOf` `description` `sourceUrl` `returnSinceTx` `returnSinceFiling` `returnAsOf` `party` `committees` - **`include` list**: Comma list of blocks to add, returned under `included`: `members` (members by trades); `tickers` (listings by trades); `filings` (filings scanned and parsed). Default: none. ## Good to know Published disclosure windows only. Filings not parsed yet are pending. Returns and market prices are not refreshed on read. ## Sources Public government financial disclosures Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous SEC filings, insiders and 13F holders](https://gloom.sh/datasets/docs/datasets/sec?utm_source=llms) - [Next Yield curves and macro series](https://gloom.sh/datasets/docs/datasets/macro?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/macro?utm_source=llms Macro and positioning # Yield curves and macro series Economic series observations, scheduled releases and government yield curves by date 4 endpoints From 1 credit ## Try it **curl** ``` curl https://api.gloom.sh/v1/yield-curves \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/yield-curves", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/yield-curves", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "curve": { "id": "us", "label": "US Treasury", "country": "US", "basis": "par", "couponsPerYear": 2 }, "asOf": "2026-09-29", "points": [ { "tenor": "1M", "years": 0.0833333333333, "yield": 4.04 }, { "tenor": "6W", "years": 0.125, "yield": 4.14 }, // … 12 more items ], "previous": null, "checkedAt": "2026-09-30T12:00:00.000Z" } ], "meta": { "dataset": "macro", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-09-29", "historyStart": null, "updatedAt": "2026-09-30T12:00:00.000Z", "page": null, "next": null, "coverage": { "curves": 1 }, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Government and central bank publications" }, { "attribution": "Government and economic data providers" }, // … 1 more items ] } } ``` Trimmed · 2026-09-29 [Run it without a key: `GET /v1/datasets/macro/sample`](https://api.gloom.sh/v1/datasets/macro/sample) ## Endpoints **GET `/v1/yield-curves` 1 credit (Government yield curves by country)** ### Parameters - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`curve` `asOf` `points` `previous` `checkedAt` **GET `/v1/yield-curves/{curve}` 2 credits (Yield curve with dated lookbacks, spreads and ranked moves)** ### Parameters - **`curve` string required**: `us` `us-real` `us-breakeven` `eu-aaa` `de` `gb` `jp` `ca` - **`date` string**: Calendar date: `YYYY-MM-DD`. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`curve` `requestedDate` `asOf` `points` `lookbacks` `spreads` `moves` `checkedAt` **GET `/v1/macro/series/{seriesId}` 2 credits (Economic series observations and metadata)** ### Parameters - **`seriesId` string required** - **`from` string**: Calendar date: `YYYY-MM-DD`. - **`to` string**: Calendar date: `YYYY-MM-DD`. - **`limit` integer**: 1 to 1000. - **`sortOrder` string**: `asc` `desc` - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`date` `value` - **`include` list**: Comma list of blocks to add, returned under `included`: `info` (the series: title, unit, frequency and seasonal adjustment). Default: none. `from` must be on or before `to`. **GET `/v1/macro/calendar` 1 credit (Economic releases, forecasts and reported actuals)** ### Parameters - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `date` `time` `country` `event` `actual` `forecast` `prior` `impact` `indicatorId` ## Good to know `/yield-curves/{curve}` `moves`: each tenor's 1D and 1W change in percentage points, ranked by size against every move of that horizon since `since` (midrank percentile, 0 to 100; null under 250 moves). ## Sources Government and central bank publications, Government and economic data providers, Public economic release calendars Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Congress trades](https://gloom.sh/datasets/docs/datasets/congress?utm_source=llms) - [Next Central bank rates](https://gloom.sh/datasets/docs/datasets/central-bank-rates?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/central-bank-rates?utm_source=llms Macro and positioning # Central bank rates One central bank policy rate, with changes and scheduled meeting dates 1 endpoint From 2 credits ## Try it **curl** ``` curl https://api.gloom.sh/v1/central-bank-rates \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/central-bank-rates", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/central-bank-rates", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "id": "US", "label": "United States", "countryCodes": [ "US" ], "instrument": "Fed funds target range", "source": "fred", "sourceSeriesIds": [ "DFEDTARL", "DFEDTARU" ], "notes": [ "Midpoint of the target range, not the effective federal funds rate.", "Change date is the first observed new level, not necessarily the announcement or effective date." ], "centralBank": "Federal Reserve", "sourceUrl": "https://fred.stlouisfed.org/series/DFEDTARL", "unit": "percent", "publicationFrequency": "daily", "value": 3.875, "asOf": "2026-09-27", "changeBps": 25, "lastChangeDate": "2026-09-17", "previousValue": 3.625, "previousAsOf": "2026-09-16", "direction": "hike", "percentile": { "value": 79.6296296296, "rank": 21.5, "sampleCount": 27, "windowStart": "2025-09-27", "windowEnd": "2026-09-27", "min": 3.625, "max": 3.875, "mean": 3.72685185185 }, "history": [ { "date": "2026-09-01", "value": 3.625 }, { "date": "2026-09-02", "value": 3.625 }, // … 25 more items ], "range": { "lower": 3.75, "upper": 4 }, "lagDays": 0, "fetchedAt": "2026-10-08T12:00:00Z", "confirmedAt": null, "confirmationSourceUrl": null, "status": "available", "unavailableReason": null, "seriesNotes": [], "nextMeeting": { "date": "2026-10-28", "sourceUrl": "https://www.federalreserve.gov/monetarypolicy/fomccalendars.htm", "verifiedAt": "2026-10-12", "kind": "decision" }, "lastDecision": { "date": "2026-09-16", "sourceUrl": "https://www.federalreserve.gov/monetarypolicy/fomccalendars.htm", "verifiedAt": "2026-10-12", "kind": "decision" }, "nextMeetingStatus": "scheduled" }, { "id": "EA", "label": "Euro area", "countryCodes": [ "FR", "DE", // … 1 more items ], "instrument": "Deposit facility rate", "source": "fred", "sourceSeriesIds": [ "ECBDFR" ], "notes": [ "France, Germany and Italy share ECB policy. The EU is represented by the euro area; non-euro EU states have separate policy rates." ], "centralBank": "European Central Bank", "sourceUrl": "https://fred.stlouisfed.org/series/ECBDFR", "unit": "percent", "publicationFrequency": "daily", "value": null, "asOf": null, "changeBps": null, "lastChangeDate": null, "previousValue": null, "previousAsOf": null, "direction": "unavailable", "percentile": { "value": null, "rank": null, "sampleCount": 0, "windowStart": null, "windowEnd": null, "min": null, "max": null, "mean": null }, "history": [], "range": null, "lagDays": null, "fetchedAt": null, "confirmedAt": null, "confirmationSourceUrl": null, "status": "unavailable", "unavailableReason": "source-unavailable", "seriesNotes": [], "nextMeeting": { "date": "2026-10-29", "sourceUrl": "https://www.ecb.europa.eu/press/calendars/mgcgc/html/index.en.html", "verifiedAt": "2026-10-12", "kind": "decision" }, "lastDecision": null, "nextMeetingStatus": "scheduled" }, // … 20 more items ], "meta": { "dataset": "central-bank-rates", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-09-27", "historyStart": null, "updatedAt": "2026-10-08T12:00:00Z", "page": null, "next": null, "coverage": { "banks": 22, "gaps": [] }, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Central bank and economic data providers" } ] } } ``` Trimmed · 2026-09-27 [Run it without a key: `GET /v1/datasets/central-bank-rates/sample`](https://api.gloom.sh/v1/datasets/central-bank-rates/sample) ## Endpoints **GET `/v1/central-bank-rates` 2 credits (Policy rates, changes and meeting dates)** ### Parameters - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `label` `countryCodes` `instrument` `source` `sourceSeriesIds` `notes` `centralBank` `sourceUrl` `unit` `publicationFrequency` `value` `asOf` `changeBps` `lastChangeDate` `previousValue` `previousAsOf` `direction` `percentile` `history` `range` `lagDays` `fetchedAt` `confirmedAt` `confirmationSourceUrl` `status` `unavailableReason` `seriesNotes` `nextMeeting` `lastDecision` `nextMeetingStatus` ## Sources Central bank and economic data providers Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Yield curves and macro series](https://gloom.sh/datasets/docs/datasets/macro?utm_source=llms) - [Next Credit default swaps](https://gloom.sh/datasets/docs/datasets/cds?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/cds?utm_source=llms Macro and positioning # Credit default swaps Observed corporate, index and sovereign credit derivatives trade prints and spreads 4 endpoints From 4 credits ## Try it **curl** ``` curl https://api.gloom.sh/v1/cds/trades \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/cds/trades", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/cds/trades", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "disseminationId": "5625692725000000101", "originalDisseminationId": "5625692725000000101", "actionType": "MODI", "eventTimestamp": "2022-03-01T22:26:14.000Z", "executionTimestamp": "2022-03-01T22:26:14.000Z", "effectiveDate": "2022-03-02", "expirationDate": "2026-12-20", "maturityDate": null, "issuerName": "Sabre Holdings Corporation", "underlierId": "US78573NAC65", "underlierIdSource": "ISIN", "upi": "QZPHX5SZ2BPF", "upiFisn": "NA/CDS Corp SN Sr", "upiUnderlierName": "SR SECD NT 144A", "notionalAmount": 1000000, "notionalCapped": false, "notionalCurrency": "USD", "fixedRate": 0.05, "reportedSpread": 0.000582, "spreadNotation": "3", "upfrontAmount": null, "upfrontCurrency": null, "source": "DTCC PPD" }, { "disseminationId": "5616787938000000201", "originalDisseminationId": null, "actionType": "NEWT", "eventTimestamp": "2023-02-02T19:06:26.000Z", "executionTimestamp": "2023-02-02T19:06:26.000Z", "effectiveDate": "2023-02-02", "expirationDate": "2027-12-20", "maturityDate": null, "issuerName": null, "underlierId": "999B35AH7", "underlierIdSource": "REDID", "upi": "QZR9FC1JS2BP", "upiFisn": "NA/CDS Corp SN Sr", "upiUnderlierName": "UNISYS CORPORATION", "notionalAmount": 2000000, "notionalCapped": false, "notionalCurrency": "USD", "fixedRate": 0.05, "reportedSpread": null, "spreadNotation": null, "upfrontAmount": 227900, "upfrontCurrency": "USD", "source": "DTCC PPD" }, // … 3 more items ], "meta": { "dataset": "cds", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-08T00:00:00.000Z", "historyStart": null, "updatedAt": "2026-10-08T00:00:00.000Z", "page": null, "next": null, "coverage": { "trades": 5 }, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Public credit derivatives reports" }, { "attribution": "Public security-based swap reports" } ] } } ``` Trimmed · 2026-10-08 [Run it without a key: `GET /v1/datasets/cds/sample`](https://api.gloom.sh/v1/datasets/cds/sample) ## Endpoints **GET `/v1/cds/trades` 4 credits (Reported corporate credit derivatives trades)** ### Parameters - **`issuer` string** - **`days` integer**: 1 to 90. - **`limit` integer**: 1 to 1000. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`disseminationId` `originalDisseminationId` `actionType` `eventTimestamp` `executionTimestamp` `effectiveDate` `expirationDate` `maturityDate` `issuerName` `underlierId` `underlierIdSource` `upi` `upiFisn` `upiUnderlierName` `notionalAmount` `notionalCapped` `notionalCurrency` `fixedRate` `reportedSpread` `spreadNotation` `upfrontAmount` `upfrontCurrency` `source` - **`include` list**: Comma list of blocks to add, returned under `included`: `sources` (prints by source). Default: none. **GET `/v1/cds/curves` 4 credits (Daily five-year corporate credit spreads)** ### Parameters - **`days` integer**: 30 to 1000. - **`issuer` string required** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`date` `spreadBp` `prints` `reported` `maturity` - **`include` list**: Comma list of blocks to add, returned under `included`: `sources` (prints by source). Default: none. **GET `/v1/cds/indexes` 50 credits (Credit index levels and daily history)** ### Parameters - **`days` integer**: 30 to 1000. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `name` `quote` `currency` `couponBp` `change1D` `date` `maturity` `level` `prints` `change1W` `change1M` `points` **GET `/v1/cds/sovereigns` 50 credits (Sovereign credit spreads and daily history)** ### Parameters - **`days` integer**: 30 to 1000. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `name` `currency` `reported` `date` `maturity` `level` `prints` `change1W` `change1M` `points` ## Good to know Reported credit derivatives prints are not executable quotes. Derived spreads may use fallback discount rates. ## Sources Public credit derivatives reports, Public security-based swap reports Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Central bank rates](https://gloom.sh/datasets/docs/datasets/central-bank-rates?utm_source=llms) - [Next Debt maturities](https://gloom.sh/datasets/docs/datasets/debt-maturities?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/debt-maturities?utm_source=llms Filings and company text # Debt maturities One company's reported debt due by maturity year, from XBRL filings 1 endpoint From 4 credits Refresh at most every 6h History from Sep 2025 ## Try it **curl** ``` curl "https://api.gloom.sh/v1/debt-maturities?symbols=AAPL" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/debt-maturities?symbols=AAPL", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/debt-maturities?symbols=AAPL", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "symbol": "AAPL", "entityName": "Apple Inc.", "taxonomy": "us-gaap", "latest": { "asOf": "2025-09-27", "filed": "2025-10-31", "accession": "0000320193-25-000079", "form": "10-K", "currency": "USD", "filingUrl": "https://www.sec.gov/Archives/edgar/data/320193/0000320193-25-000079-index.htm", "complete": true, "buckets": [ { "id": "InNextTwelveMonths", "label": "Next 12 months", "year": 2026, "fact": { "value": 12393000000, "tag": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "unit": "USD", "start": null, "end": "2025-09-27", "accession": "0000320193-25-000079", "filed": "2025-10-31", "form": "10-K" }, "value": 12393000000 }, { "id": "InYearTwo", "label": "Year 2", "year": 2027, "fact": { "value": 10078000000, "tag": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo", "unit": "USD", "start": null, "end": "2025-09-27", "accession": "0000320193-25-000079", "filed": "2025-10-31", "form": "10-K" }, "value": 10078000000 }, // … 4 more items ], "totalPrincipal": { "value": 91281000000, "unit": "USD", "asOf": "2025-09-27", "filed": "2025-10-31", "percentile": { "value": null, "rank": null, "sampleCount": 1, "minimumSamples": 5, "windowStart": "2015-09-27", "windowEnd": "2025-09-27", "historyStart": "2025-09-27", "historyEnd": "2025-09-27", "min": 91281000000, "max": 91281000000, "mean": 91281000000 } }, "next12Months": { "value": 12393000000, "unit": "USD", "asOf": "2025-09-27", "filed": "2025-10-31", "percentile": { "value": null, "rank": null, "sampleCount": 1, "minimumSamples": 5, "windowStart": "2015-09-27", "windowEnd": "2025-09-27", "historyStart": "2025-09-27", "historyEnd": "2025-09-27", "min": 12393000000, "max": 12393000000, "mean": 12393000000 } }, "next12MonthsShare": { "value": 13.5767574851, "unit": "%", "asOf": "2025-09-27", "filed": "2025-10-31", "percentile": { "value": null, "rank": null, "sampleCount": 1, "minimumSamples": 5, "windowStart": "2015-09-27", "windowEnd": "2025-09-27", "historyStart": "2025-09-27", "historyEnd": "2025-09-27", "min": 13.5767574851, "max": 13.5767574851, "mean": 13.5767574851 } }, "next3Years": { "value": 31771000000, "unit": "USD", "asOf": "2025-09-27", "filed": "2025-10-31", "percentile": { "value": null, "rank": null, "sampleCount": 1, "minimumSamples": 5, "windowStart": "2015-09-27", "windowEnd": "2025-09-27", "historyStart": "2025-09-27", "historyEnd": "2025-09-27", "min": 31771000000, "max": 31771000000, "mean": 31771000000 } }, "next3YearsShare": { "value": 34.805709841, "unit": "%", "asOf": "2025-09-27", "filed": "2025-10-31", "percentile": { "value": null, "rank": null, "sampleCount": 1, "minimumSamples": 5, "windowStart": "2015-09-27", "windowEnd": "2025-09-27", "historyStart": "2025-09-27", "historyEnd": "2025-09-27", "min": 34.805709841, "max": 34.805709841, "mean": 34.805709841 } }, "interestExpense": { "value": null, "unit": "USD", "asOf": "2025-09-27", "filed": "2025-10-31", "percentile": { "value": null, "rank": null, "sampleCount": 0, "minimumSamples": 5, "windowStart": "2015-09-27", "windowEnd": "2025-09-27", "historyStart": null, "historyEnd": null, "min": null, "max": null, "mean": null } }, "borrowingCostPercent": { "value": null, "unit": "%", "asOf": "2025-09-27", "filed": "2025-10-31", "percentile": { "value": null, "rank": null, "sampleCount": 0, "minimumSamples": 5, "windowStart": "2015-09-27", "windowEnd": "2025-09-27", "historyStart": null, "historyEnd": null, "min": null, "max": null, "mean": null } }, "interestExpenseFact": null, "borrowingCostEvidence": null }, "history": [ { "asOf": "2025-09-27", "filed": "2025-10-31", "accession": "0000320193-25-000079", "currency": "USD", "complete": true, "totalPrincipal": 91281000000, "next12Months": 12393000000, "next3Years": 31771000000, "next12MonthsShare": 13.5767574851, "next3YearsShare": 34.805709841, "interestExpense": null, "borrowingCostPercent": null, "interestExpenseTag": null, "borrowingCostDebtTags": null } ], "latestQuarter": { "asOf": "2026-06-27", "filed": "2026-07-31", "accession": "0000320193-26-000020", "form": "10-Q", "currency": "USD", "filingUrl": "https://www.sec.gov/Archives/edgar/data/320193/0000320193-26-000020-index.htm", "current": { "value": 11007000000, "tag": "LongTermDebtCurrent", "unit": "USD", "start": null, "end": "2026-06-27", "accession": "0000320193-26-000020", "filed": "2026-07-31", "form": "10-Q" }, "noncurrent": { "value": 71340000000, "tag": "LongTermDebtNoncurrent", "unit": "USD", "start": null, "end": "2026-06-27", "accession": "0000320193-26-000020", "filed": "2026-07-31", "form": "10-Q" } }, "debtFree": null, "debtFreeEvidence": null, "source": { "name": "SEC EDGAR company facts", "url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000320193.json", "cadence": "Annual filing, refreshed at most every six hours" } } ], "meta": { "dataset": "debt-maturities", "requestId": "sample-request", "asOf": null, "dataThrough": "2025-09-27", "historyStart": "2025-09-27", "updatedAt": "2026-07-31", "page": null, "next": null, "coverage": { "observations": 1 }, "symbols": [ { "input": "AAPL", "symbol": "AAPL", "status": "ok" } ], "sampledAt": null, "source": [ { "attribution": "U.S. Securities and Exchange Commission and the filing issuer" } ] } } ``` Trimmed · 2025-09-27 [Run it without a key: `GET /v1/datasets/debt-maturities/sample`](https://api.gloom.sh/v1/datasets/debt-maturities/sample) ## Endpoints **GET `/v1/debt-maturities` 4 credits per listing (SEC XBRL debt maturity schedule)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`entityName` `taxonomy` `latest` `history` `latestQuarter` `debtFree` `debtFreeEvidence` `source` ## Good to know A foreign issuer's 20-F or 40-F ladder comes from its IFRS maturity analysis, in the filing's own bands: `latest.sourceBuckets` (`label`, `fromMonths`, `toMonths`, null for no end, `value`) and `latest.sourceTotal`, in `latest.currency`. `latest.amountBasis` says what these amounts and `latest.buckets[].value` are: `principal`, `carrying` (balance sheet amounts) or `contractual_undiscounted` (principal and interest still to be paid). Unless it is `principal`, the `value` of `totalPrincipal`, `next12Months`, `next3Years` and their shares is null. `latest.includesLeases: true` means the filing names lease liabilities among these borrowings; without it the filing names none, which does not mean they are left out. ## Sources SEC filings Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Credit default swaps](https://gloom.sh/datasets/docs/datasets/cds?utm_source=llms) - [Next Revenue breakdown](https://gloom.sh/datasets/docs/datasets/revenue-breakdown?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/revenue-breakdown?utm_source=llms Filings and company text # Revenue breakdown One company's reported revenue by product, segment and region, from filings 1 endpoint From 4 credits History from Sep 2023 ## Try it **curl** ``` curl "https://api.gloom.sh/v1/revenue-breakdown?symbols=AAPL" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/revenue-breakdown?symbols=AAPL", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/revenue-breakdown?symbols=AAPL", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "symbol": "AAPL", "key": "p:IPhone", "label": "iPhone", "currency": "USD", "points": [ { "end": "2023-09-25", "fiscalYear": 2023, "fiscalQuarter": 4, "value": null }, { "end": "2023-12-26", "fiscalYear": 2024, "fiscalQuarter": 1, "value": null }, // … 10 more items ], "ttm": null, "yoy": 0.216903683101, "share": 0.495827887805, "filed": "2026-07-31" }, { "symbol": "AAPL", "key": "p:Service", "label": "Services", "currency": "USD", "points": [ { "end": "2023-09-25", "fiscalYear": 2023, "fiscalQuarter": 4, "value": null }, { "end": "2023-12-26", "fiscalYear": 2024, "fiscalQuarter": 1, "value": null }, // … 10 more items ], "ttm": null, "yoy": 0.120920395289, "share": 0.280934406902, "filed": "2026-07-31" }, // … 3 more items ], "meta": { "dataset": "revenue-breakdown", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-06-30", "historyStart": "2023-09-25", "updatedAt": "2026-07-31", "page": null, "next": null, "coverage": { "views": [ "product", "segment" ], "quarters": 12 }, "symbols": [ { "input": "AAPL", "symbol": "AAPL", "status": "ok" } ], "sampledAt": null, "source": [ { "attribution": "U.S. Securities and Exchange Commission and the filing issuer" } ] } } ``` Trimmed · 2026-06-30 [Run it without a key: `GET /v1/datasets/revenue-breakdown/sample`](https://api.gloom.sh/v1/datasets/revenue-breakdown/sample) ## Endpoints **GET `/v1/revenue-breakdown` 4 credits per listing (SEC product, segment and geographic revenue)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`view` string**: `product` `segment` `region` - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`key` `label` `currency` `points` `ttm` `yoy` `share` `filed` - **`include` list**: Comma list of blocks to add, returned under `included`: `total` (total revenue by quarter); `views` (the breakdowns the company reports: product, geography). Default: none. ## Sources SEC filings Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Debt maturities](https://gloom.sh/datasets/docs/datasets/debt-maturities?utm_source=llms) - [Next Depositary receipts (ADR reference)](https://gloom.sh/datasets/docs/datasets/depositary-receipts?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/depositary-receipts?utm_source=llms Market data and fundamentals # Depositary receipts (ADR reference) One US depositary receipt: its ratio, home lines, sources and market check 2 endpoints From 2 credits History from Oct 2026 ## Try it **curl** ``` curl "https://api.gloom.sh/v1/depositary-receipts?symbols=YPF" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/depositary-receipts?symbols=YPF", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/depositary-receipts?symbols=YPF", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "symbol": "YPF", "receipt": "YPF", "name": "YPF SOCIEDAD ANONIMA", "venue": "NYSE", "cusip": "984245100", "isin": "US9842451000", "country": "AR", "programLevel": "Level III", "sponsored": true, "depositaries": [ "BNY" ], "homeIsin": "ARP9897X1319", "homeListings": [ { "symbol": "YPFD:XBUE", "exchange": "XBUE" } ], "ratio": 10, "ratioText": "1 receipt = 10 ordinary shares", "asOf": "2026-10-24", "status": "confirmed", "reviewReason": null, "source": { "kind": "reviewed", "label": "Issuer annual report or depositary notice, reviewed", "ratio": 10, "date": "2026-10-24" }, "sources": [ { "kind": "reviewed", "label": "Issuer annual report or depositary notice, reviewed", "ratio": 10, "date": "2026-10-24" }, { "kind": "depositary_directory", "label": "Depositary bank directory", "ratio": 10, "date": "2026-10-24" }, // … 1 more items ], "history": [ { "ratio": 10, "previousRatio": null, "asOf": "2026-10-24", "recordedAt": "2026-10-24T20:57:47.909Z", "reason": "first read: the reviewed notice states 10; the price check passes (+2.1%)" } ], "check": { "status": "pass", "checkedAt": "2026-10-24T20:57:47.909Z", "reason": null, "homeListing": "YPFD:XBUE", "homeCurrency": "ARS", "impliedRate": 1680.0804829, "spotRate": 1529, "referenceRate": 1644.77411311, "referenceBasis": "peers", "gap": 0.0214657863982, "spotGap": 0.0988099953547, "count": { "status": "unavailable", "countRatio": null } }, "firstSeenAt": "2026-10-24T20:57:47.909Z", "updatedAt": "2026-10-24T20:57:47.909Z" } ], "meta": { "dataset": "depositary-receipts", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-24T20:57:47.909Z", "historyStart": "2026-10-24T20:57:47.909Z", "updatedAt": "2026-10-24T20:57:47.909Z", "page": null, "next": null, "coverage": { "receipts": 2493, "confirmed": 1101, "stated": 1336, "withHomeLines": 1191, "review": 56, "withdrawn": 0, "lastCheckedAt": "2026-10-24T20:57:47.909Z", "lastUpdatedAt": "2026-10-24T20:57:47.909Z", "firstSeenAt": "2026-10-24T20:57:47.909Z" }, "symbols": [ { "input": "YPF", "symbol": "YPF", "status": "ok" } ], "sampledAt": null, "source": [ { "attribution": "U.S. Securities and Exchange Commission and the filing issuer" }, { "attribution": "Depositary banks' published receipt programs" }, // … 1 more items ] } } ``` Trimmed · 2026-10-24 [Run it without a key: `GET /v1/datasets/depositary-receipts/sample`](https://api.gloom.sh/v1/datasets/depositary-receipts/sample) ## Endpoints **GET `/v1/depositary-receipts` 4 credits (Every US depositary receipt: ratio, home lines, sources and latest check)** ### Parameters - **`country` string**: The issuer's country, ISO 3166 alpha-2 (JP, BR). - **`homeExchange` string**: A venue of the ordinary shares (TSE, LSE, HKEX, BYMA, XLON); any notation the symbols read. - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. - **`venue` string**: `NYSE` `NASDAQ` `AMEX` `OTC` - **`status` string**: `confirmed` `stated` `review` `withdrawn` - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`receipt` `name` `venue` `cusip` `isin` `country` `programLevel` `sponsored` `depositaries` `homeIsin` `homeListings` `ratio` `ratioText` `asOf` `status` `reviewReason` `source` `sources` `history` `check` `firstSeenAt` `updatedAt` **GET `/v1/depositary-receipts?symbols=` 2 credits per listing (A receipt's ratio, home lines, sources, history and check, by receipt or home line)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`receipt` `name` `venue` `cusip` `isin` `country` `programLevel` `sponsored` `depositaries` `homeIsin` `homeListings` `ratio` `ratioText` `asOf` `status` `reviewReason` `source` `sources` `history` `check` `firstSeenAt` `updatedAt` ## Good to know Ratio: the ordinary shares one receipt represents. Confirmed: the price check fits it (home price times ratio over receipt price, against the currency's rate), two sources state it, or a reviewed issuer or depositary notice does. Stated: one source states it and no price could check it. Review and withdrawn rows carry no ratio: the sources disagree and the market cannot settle it, or the market contradicts it. ## Sources SEC filings, Depositary banks' published receipt programs, Gloom market checks of each ratio Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Revenue breakdown](https://gloom.sh/datasets/docs/datasets/revenue-breakdown?utm_source=llms) - [Next Futures curves, archives and generics](https://gloom.sh/datasets/docs/datasets/futures?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/futures?utm_source=llms Market data and fundamentals # Futures curves, archives and generics Futures contract curves, archived settlements and rolling generic historical price series 3 endpoints From 4 credits ## Try it **curl** ``` curl https://api.gloom.sh/v1/futures/curves/VX \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/futures/curves/VX", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/futures/curves/VX", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "symbol": "VX/V6", "label": "VIX 2026-10", "expiration": "2026-10-21", "currency": "USD", "quoteUnit": "volatility points", "price": 17.3343, "change": 0.2525, "asOf": "2026-10-07", "volume": 95088, "openInterest": 148367, "delayMinutes": null, "samples": 177, "historyStart": "2026-01-26", "historyEnd": "2026-10-07", "percentile": 0.847457627119, "stale": false, "settlement": null, "settlementDate": null, "lastTrade": "2026-10-21", "firstNotice": null, "inDelivery": false }, { "symbol": "VX/X6", "label": "VIX 2026-11", "expiration": "2026-11-18", "currency": "USD", "quoteUnit": "volatility points", "price": 17.6458, "change": 0.0083, "asOf": "2026-10-07", "volume": 82507, "openInterest": 166151, "delayMinutes": null, "samples": 158, "historyStart": "2026-02-23", "historyEnd": "2026-10-07", "percentile": 0.949367088608, "stale": false, "settlement": null, "settlementDate": null, "lastTrade": "2026-11-18", "firstNotice": null, "inDelivery": false }, // … 7 more items ], "meta": { "dataset": "futures", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-07", "historyStart": null, "updatedAt": "2026-10-08T17:00:08.300Z", "page": null, "next": null, "coverage": null, "delayed": true, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Exchange and market data providers" }, { "attribution": "Public exchange publications" } ] } } ``` Trimmed · 2026-10-07 [Run it without a key: `GET /v1/datasets/futures/sample`](https://api.gloom.sh/v1/datasets/futures/sample) ## Endpoints **GET `/v1/futures/curves/{root}` 50 credits (Current futures term structure for a root)** ### Parameters - **`root` string required** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`symbol` `label` `expiration` `currency` `quoteUnit` `price` `change` `asOf` `volume` `openInterest` `delayMinutes` `samples` `historyStart` `historyEnd` `percentile` `stale` `settlement` `settlementDate` `lastTrade` `firstNotice` `inDelivery` - **`include` list**: Comma list of blocks to add, returned under `included`: `spec` (the root's contract terms; null where they are not listed); `slope` (front against next contract, with roll yield); `ghosts` (the curve at earlier dates); `catalogue` (how the contract list was built). Default: none. **GET `/v1/futures/curves/{root}?date=` 4 credits (Archived futures curve for a specified date)** ### Parameters - **`root` string required** - **`date` string required**: Calendar date: `YYYY-MM-DD`. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`contract` `deliveryMonth` `expiration` `symbol` `label` `tradeDate` `price` `volume` `openInterest` `asOf` `stale` `currency` `quoteUnit` **GET `/v1/futures/continuous/{ticker}` 4 credits (Generic futures contract data)** ### Parameters - **`ticker` string required** - **`from` string**: Calendar date: `YYYY-MM-DD`. - **`to` string**: Calendar date: `YYYY-MM-DD`. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`date` `price` `contract` `volume` `stale` `currency` `quoteUnit` - **`include` list**: Comma list of blocks to add, returned under `included`: `series` (how the series rolls and adjusts, and the contract it holds now); `rolls` (each roll date). Default: none. `from` must be on or before `to`. ## Good to know `/futures/continuous/{ticker}`: a bare generic (`CL1`) follows its root's standard roll, the same contract as the continuous `CL=F`. With `include=series`, its `roll` is `{ rule: "first-notice", days, standard: true }`, `days` business days before first notice or last trade (2 for crude and Henry Hub gas, 6 for index and currency futures, 0 for VX, 1 otherwise), and `current.rollsOn` is its first session on the next contract. `CL1F5` rolls 5 days before, `CL1D15` on the 15th, `CL1E` after expiry, `CL1OI` on the open interest switch; `R` or `A` adjusts. ## Sources Market data providers, Public exchange publications Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Depositary receipts (ADR reference)](https://gloom.sh/datasets/docs/datasets/depositary-receipts?utm_source=llms) - [Next Rate path](https://gloom.sh/datasets/docs/datasets/rate-path?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/rate-path?utm_source=llms Market data and fundamentals # Rate path One futures-implied policy path, with conditional probabilities for central bank meetings 1 endpoint From 50 credits ## Try it **curl** ``` curl https://api.gloom.sh/v1/rate-path \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/rate-path", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/rate-path", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "date": "2026-10-28", "impliedRate": 3.925, "targetMidpoint": 3.92, "changeBps": 4.5, "percentile": 89.2857142857, "samples": 252, "asOf": "2026-10-08T16:49:13.000Z", "probabilities": [ { "targetMidpoint": 3.875, "probability": 0.82 }, { "targetMidpoint": 4.125, "probability": 0.18 } ], "method": "following-month", "reason": null }, { "date": "2026-12-09", "impliedRate": 4.13636363636, "targetMidpoint": 4.13136363636, "changeBps": 25.6363636364, "percentile": 94.0476190476, "samples": 252, "asOf": "2026-10-08T16:37:48.000Z", "probabilities": [ { "targetMidpoint": 4.125, "probability": 0.974545454545 }, { "targetMidpoint": 4.375, "probability": 0.0254545454546 } ], "method": "monthly-weighted", "reason": null }, // … 5 more items ], "meta": { "dataset": "rate-path", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-08T16:37:20.000Z", "historyStart": null, "updatedAt": "2026-10-08T16:59:54.547Z", "page": null, "next": null, "coverage": null, "delayed": true, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Exchange and market data providers" }, { "attribution": "Public central bank and economic publications" } ] } } ``` Trimmed · 2026-10-08 [Run it without a key: `GET /v1/datasets/rate-path/sample`](https://api.gloom.sh/v1/datasets/rate-path/sample) ## Endpoints **GET `/v1/rate-path` 50 credits (Implied policy rate paths and meeting probabilities)** ### Parameters - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`date` `impliedRate` `targetMidpoint` `changeBps` `percentile` `samples` `asOf` `probabilities` `method` `reason` - **`include` list**: Comma list of blocks to add, returned under `included`: `current` (effective rate and target range now); `fedFunds` (fed funds futures); `sofr` (sOFR futures); `ghosts` (the path at earlier dates); `slope` (cuts priced over the next year); `dotPlot` (the Fed's projections); `schedule` (meeting dates and their source). Default: none. ## Good to know Conditional 25bp outcomes assume a constant EFFR basis and no unscheduled change; not a unique probability distribution. ## Sources Market data providers, Public central bank and economic publications Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Futures curves, archives and generics](https://gloom.sh/datasets/docs/datasets/futures?utm_source=llms) - [Next Options flow, chains and implied volatility](https://gloom.sh/datasets/docs/datasets/options?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/options?utm_source=llms Market data and fundamentals # Options flow, chains and implied volatility Recorded option flow, gamma positioning, volatility surfaces and delayed expiry chains 5 endpoints From 4 credits ## Try it **curl** ``` curl "https://api.gloom.sh/v1/options/surfaces?symbols=SPY" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/options/surfaces?symbols=SPY", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/options/surfaces?symbols=SPY", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "symbol": "SPY", "sessionDate": "2026-10-08", "capturedAt": "2026-10-08T16:55:20.000Z", "spot": 774.95, "surface": { "version": 1, "symbol": "SPY", "spot": 774.95, "spotAsOf": "2026-10-08T16:46:00.000Z", "capturedAt": "2026-10-08T16:55:20.000Z", "source": "gloom", "expiries": [ { "expiration": 1793923200, "years": 0.07991755, "rate": 0.0406, "rateMethod": "treasury-boundary", "rateAsOf": [ "2026-10-06" ], "forward": 775.6269, "dividendYield": 0.029675, "atmIV": 0.126587, "termSlope": null, "skew": { "atm": 0.126587000116, "put25": 0.141791148747, "call25": 0.118896006031, "putCallSkew": 0.0228951427152, "riskReversal": -0.0228951427152, "butterfly": 0.00375657727322, "moneynessSkew": 0.0839814407755 }, "expectedMove": { "straddle": 22.64, "straddlePercent": 2.92147880508, "sigma": 27.7321719066, "sigmaPercent": 3.57857563799, "strike": 775 }, "fit": { "method": "svi", "years": 0.0799175545408, "residual": 0.00657595737329, "points": [ { "logMoneyness": -0.439063494066, "volatility": 0.5312546875 }, { "logMoneyness": -0.41926086677, "volatility": 0.516606396484 }, // … 147 more items ], "droppedPoints": 0, "parameters": { "a": -0.00725848103029, "b": 0.0506111737499, "rho": -0.3735715516, "m": -0.0348805814207, "sigma": 0.178208106518 }, "slopes": [ -0.0692962279997, -0.0518973261897, // … 147 more items ], "fallbackReason": null }, "filterCounts": { "invalid-contract": 0, "expiry-mismatch": 0, "zero-bid": 3, "crossed": 0, "wide-spread": 7, "no-interest": 3, "stale-duplicate": 0, "duplicate": 0, "itm": 82, "iv-unavailable": 0 }, "warnings": [], "asOf": "2026-10-08T16:55:20.000Z", "points": [ [ 500, 0, // … 6 more items ], [ 510, 0, // … 6 more items ], // … 147 more items ] } ], "failures": [] } } ], "meta": { "dataset": "options", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-08", "historyStart": null, "updatedAt": "2026-10-08T16:55:20.000Z", "page": null, "next": null, "coverage": null, "symbols": [ { "input": "SPY", "symbol": "SPY", "status": "ok" } ], "sampledAt": null, "source": [ { "attribution": "Exchange and market data providers" }, { "attribution": "Exchange and market data providers" }, // … 1 more items ] } } ``` Trimmed · 2026-10-08 [Run it without a key: `GET /v1/datasets/options/sample`](https://api.gloom.sh/v1/datasets/options/sample) ## Endpoints **GET `/v1/options/flow` 4 credits per listing (Options trade flow)** ### Parameters - **`symbols` string**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`limit` integer**: 1 to 200. Default 100. - **`cursor` string**: meta.page.nextCursor of the previous page. - **`before` string**: The same as cursor, which takes its place: a client written before 2026-10-26 may still send it. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `at` `underlying` `contract` `right` `strike` `expiry` `side` `kind` `size` `price` `premium` `volume` `openInterest` `volOi` `iv` **GET `/v1/options/iv` 4 credits per listing (Historical implied volatility for an underlying symbol)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`from` string**: Calendar date: `YYYY-MM-DD`. - **`to` string**: Calendar date: `YYYY-MM-DD`. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`sessionDate` `capturedAt` `method` `spot` `iv7` `iv30` `iv60` `iv90` `iv180` `iv365` `put25_30` `call25_30` `detail` `from` must be on or before `to`. **GET `/v1/options/surfaces` 50 credits per listing (Implied volatility across strikes and expiries)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`date` string**: Calendar date: `YYYY-MM-DD`. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`sessionDate` `capturedAt` `spot` `surface` **GET `/v1/options/chains` 50 credits per listing (Option calls and puts for a specified expiry)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`expiry` string required**: Calendar date: `YYYY-MM-DD`. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`contractSymbol` `side` `strike` `currency` `lastPrice` `change` `percentChange` `volume` `openInterest` `bid` `ask` `impliedVolatility` `inTheMoney` `expiration` `lastTradeDate` - **`include` list**: Comma list of blocks to add, returned under `included`: `expirationDates` (every expiry listed, epoch seconds). Default: none. **GET `/v1/options/gamma` 50 credits per listing (Retained dealer gamma positioning for one expiry)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`expiry` string required**: Calendar date: `YYYY-MM-DD`. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`strike` `calls` `puts` `net` - **`include` list**: Comma list of blocks to add, returned under `included`: `summary` (spot, totals, the flip strike and the band); `byExpiry` (gamma by expiry). Default: none. ## Sources Exchanges, Market data providers, Public economic rate publications Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Rate path](https://gloom.sh/datasets/docs/datasets/rate-path?utm_source=llms) - [Next Earnings calendar and moves](https://gloom.sh/datasets/docs/datasets/earnings?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/earnings?utm_source=llms Market data and fundamentals # Earnings calendar and moves Report dates, earnings surprises and implied versus realized stock price moves 2 endpoints From 4 credits ## Try it **curl** ``` curl https://api.gloom.sh/v1/earnings \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/earnings", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/earnings", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "symbol": "AAPL", "name": "Apple Inc.", "date": "2025-10-30", "timing": null, "timingSource": null, "reportedAt": null, "fiscalPeriod": "2025-09", "marketCap": 4902477100000, "epsEstimate": 1.73, "epsActual": 1.85, "epsActualSource": "calendar", "epsAnalysts": 10, "revenueEstimate": null, "revenueAnalysts": null, "implied": null, "realized": null, "epsBasis": null, "dateStatus": "reported", "averageMove": null, "averageReports": 0 } ], "meta": { "dataset": "earnings", "requestId": "sample-request", "asOf": null, "dataThrough": null, "historyStart": null, "updatedAt": null, "page": null, "next": null, "coverage": { "reports": 1 }, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Exchange and market data providers" }, { "attribution": "Exchange and market data providers" }, // … 2 more items ] } } ``` Trimmed [Run it without a key: `GET /v1/datasets/earnings/sample`](https://api.gloom.sh/v1/datasets/earnings/sample) ## Endpoints **GET `/v1/earnings` 4 credits (Earnings calendar with reporting dates and estimates)** ### Parameters - **`symbols` string**: Listings, comma-separated, at most 100, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. One price for the list. - **`from` string**: Calendar date: `YYYY-MM-DD`. - **`to` string**: Calendar date: `YYYY-MM-DD`. - **`perDay` number** - **`limit` integer**: 1 to 200. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`symbol` `name` `date` `timing` `timingSource` `reportedAt` `fiscalPeriod` `marketCap` `epsEstimate` `epsActual` `epsActualSource` `epsAnalysts` `revenueEstimate` `revenueAnalysts` `implied` `realized` `epsBasis` `dateStatus` `averageMove` `averageReports` `from` must be on or before `to`. **GET `/v1/earnings/moves` 4 credits per listing (Historical price moves around earnings reports)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`limit` integer**: 1 to 200. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`name` `date` `timing` `timingSource` `reportedAt` `fiscalPeriod` `marketCap` `epsEstimate` `epsActual` `epsActualSource` `epsAnalysts` `revenueEstimate` `revenueAnalysts` `implied` `realized` `epsBasis` `dateStatus` `revenueActual` `revenueActualSource` ## Sources Exchanges, Market data providers, SEC filings, Public earnings calendars Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Options flow, chains and implied volatility](https://gloom.sh/datasets/docs/datasets/options?utm_source=llms) - [Next IPO calendar](https://gloom.sh/datasets/docs/datasets/ipo?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/ipo?utm_source=llms Market data and fundamentals # IPO calendar Public offerings with expected dates, offer terms, listing venues and status 1 endpoint From 4 credits ## Try it **curl** ``` curl https://api.gloom.sh/v1/ipos \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/ipos", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/ipos", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "id": "NOMA", "company": "Nomadar Corp.", "companyLocal": null, "symbol": "NOMA", "mic": "XNAS", "exchange": "NASDAQ", "venue": "Nasdaq", "segment": "Capital Market", "country": "US", "region": "us", "timezone": "America/New_York", "listingDate": "2025-10-31", "dateKind": "actual", "subscriptionOpen": null, "subscriptionClose": null, "currency": "USD", "priceLow": null, "priceHigh": null, "offerPrice": null, "sharesOffered": 13268718, "offerSize": null, "offerSizeUsd": null, "status": "listed", "listingType": "direct", "filedDate": null, "firstDay": null, "updatedAt": "2025-11-01T00:00:00.000Z" }, { "id": "VACI.U", "company": "Viking Acquisition Corp I", "companyLocal": null, "symbol": "VACI.U", "mic": "XNYS", "exchange": "NYSE", "venue": "NYSE", "segment": null, "country": "US", "region": "us", "timezone": "America/New_York", "listingDate": "2025-10-31", "dateKind": "actual", "subscriptionOpen": null, "subscriptionClose": null, "currency": "USD", "priceLow": null, "priceHigh": null, "offerPrice": 10, "sharesOffered": 20000000, "offerSize": 200000000, "offerSizeUsd": null, "status": "listed", "listingType": "spac", "filedDate": null, "firstDay": null, "updatedAt": "2025-11-01T00:00:00.000Z" }, // … 3 more items ], "meta": { "dataset": "ipo", "requestId": "sample-request", "asOf": null, "dataThrough": "2025-11-01T00:00:00.000Z", "historyStart": null, "updatedAt": "2025-11-01T00:00:00.000Z", "page": null, "next": null, "coverage": { "deals": 5 }, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Exchange and market data providers" }, { "attribution": "Public exchange calendars and issuer publications" } ] } } ``` Trimmed · 2025-11-01 [Run it without a key: `GET /v1/datasets/ipo/sample`](https://api.gloom.sh/v1/datasets/ipo/sample) ## Endpoints **GET `/v1/ipos` 4 credits (Upcoming and recent initial public offerings)** ### Parameters - **`from` string**: Calendar date: `YYYY-MM-DD`. - **`to` string**: Calendar date: `YYYY-MM-DD`. - **`status` string** - **`region` string** - **`country` string** - **`q` string** - **`limit` integer**: 1 to 200. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `company` `companyLocal` `symbol` `mic` `exchange` `venue` `segment` `country` `region` `timezone` `listingDate` `dateKind` `subscriptionOpen` `subscriptionClose` `currency` `priceLow` `priceHigh` `offerPrice` `sharesOffered` `offerSize` `offerSizeUsd` `status` `listingType` `filedDate` `firstDay` `updatedAt` `from` must be on or before `to`. ## Sources Exchanges, Public exchange calendars and issuer publications Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Earnings calendar and moves](https://gloom.sh/datasets/docs/datasets/earnings?utm_source=llms) - [Next Mergers and acquisitions](https://gloom.sh/datasets/docs/datasets/mna?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/mna?utm_source=llms Market data and fundamentals # Mergers and acquisitions One acquisition, with parties, cash terms, current status and event evidence 2 endpoints From 4 credits ## Try it **curl** ``` curl https://api.gloom.sh/v1/mna-deals \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/mna-deals", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/mna-deals", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "id": "msft-atvi", "target": { "name": "Activision Blizzard", "symbol": "ATVI", "country": "US" }, "acquirer": { "name": "Microsoft", "symbol": "MSFT", "country": "US" }, "status": "pending", "stage": null, "hostile": false, "terms": { "consideration": "cash", "cashPerShare": 95, "exchangeRatio": null, "ratioSymbol": null, "currency": "USD", "election": false, "cvr": false, "partial": false }, "value": 68700000000, "valueCurrency": "USD", "valueUsd": null, "announced": "2022-01-18", "expectedClose": null, "closed": null, "headline": "Microsoft to acquire Activision Blizzard", "updatedAt": "2022-01-18T00:00:00Z", "lastReported": "2022-01-18", "stale": false } ], "meta": { "dataset": "mna", "requestId": "sample-request", "asOf": null, "dataThrough": "2022-01-18", "historyStart": null, "updatedAt": "2022-01-18T00:00:00Z", "page": null, "next": null, "coverage": null, "symbols": null, "sampledAt": null, "source": [ { "attribution": "News publishers and public reports" }, { "attribution": "Exchange and market data providers" }, // … 1 more items ] } } ``` Trimmed · 2022-01-18 [Run it without a key: `GET /v1/datasets/mna/sample`](https://api.gloom.sh/v1/datasets/mna/sample) ## Endpoints **GET `/v1/mna-deals` 4 credits per listing (Search mergers and acquisitions deals)** ### Parameters - **`symbols` string**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`status` string** - **`target` string** - **`region` string** - **`query` string** - **`cursor` string**: Opaque: meta.page.nextCursor of the previous page. Bound to this route and query. Pages up to 10,000 rows deep. - **`limit` integer**: 1 to 100. Default 50. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `target` `acquirer` `status` `stage` `hostile` `terms` `value` `valueCurrency` `valueUsd` `announced` `expectedClose` `closed` `headline` `updatedAt` `lastReported` `stale` **GET `/v1/mna-deals/{id}` 10 credits (Details for a merger or acquisition deal)** ### Parameters - **`id` string required** - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `target` `acquirer` `status` `stage` `hostile` `terms` `value` `valueCurrency` `valueUsd` `announced` `expectedClose` `closed` `headline` `updatedAt` `lastReported` `stale` - **`include` list**: Comma list of blocks to add, returned under `included`: `events` (the deal's events). Default: none. ## Sources Publishers, Market data providers, SEC filings Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous IPO calendar](https://gloom.sh/datasets/docs/datasets/ipo?utm_source=llms) - [Next Equity screener](https://gloom.sh/datasets/docs/datasets/equity-screener?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/equity-screener?utm_source=llms Market data and fundamentals # Equity screener Stored company metrics filtered by your criteria across one immutable snapshot 1 endpoint From 4 credits ## Try it **curl** ``` curl "https://api.gloom.sh/v1/equity-screener?definition=%7B%22version%22%3A1%2C%22criteria%22%3A%5B%5D%2C%22sort%22%3A%7B%22field%22%3A%22symbol%22%2C%22direction%22%3A%22asc%22%7D%2C%22currency%22%3Anull%7D" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/equity-screener?definition=%7B%22version%22%3A1%2C%22criteria%22%3A%5B%5D%2C%22sort%22%3A%7B%22field%22%3A%22symbol%22%2C%22direction%22%3A%22asc%22%7D%2C%22currency%22%3Anull%7D", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/equity-screener?definition=%7B%22version%22%3A1%2C%22criteria%22%3A%5B%5D%2C%22sort%22%3A%7B%22field%22%3A%22symbol%22%2C%22direction%22%3A%22asc%22%7D%2C%22currency%22%3Anull%7D", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "symbol": "COST", "exchange": "NASDAQ", "currency": "USD", "metrics": { "marketCap": { "value": 420461051904, "unit": "USD", "asOf": null, "availableAt": null, "observedAt": "2026-10-08T17:00:52.824Z", "source": "gloom", "state": "partial", "scope": "reported", "reason": "Observation date unavailable; the time it was read is reported separately", "sourceUrl": null, "percentile": { "value": null, "sampleCount": 1, "scope": "covered-universe" } }, "trailingPE": { "value": 45.70544, "unit": "x", "asOf": null, "availableAt": null, "observedAt": "2026-10-08T17:00:52.824Z", "source": "gloom", "state": "partial", "scope": "reported", "reason": "Observation date unavailable; the time it was read is reported separately", "sourceUrl": null, "percentile": { "value": null, "sampleCount": 1, "scope": "covered-universe" } } } } ], "meta": { "dataset": "equity-screener", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-08T17:00:52.824Z", "historyStart": null, "updatedAt": "2026-10-08T17:00:52.824Z", "page": null, "next": null, "coverage": { "covered": 1, "skipped": 0, "matched": 1 }, "symbols": null, "sampledAt": null, "source": [ { "attribution": "U.S. Securities and Exchange Commission and the filing issuer" }, { "attribution": "Exchange and market data providers" }, // … 1 more items ] } } ``` Trimmed · 2026-10-08 [Run it without a key: `GET /v1/datasets/equity-screener/sample`](https://api.gloom.sh/v1/datasets/equity-screener/sample) ## Endpoints **GET `/v1/equity-screener` 4 credits (Screen equities using a structured query)** ### Parameters - **`definition` string required**: JSON string describing the existing screen query. - **`limit` integer**: Rows a page holds, in place of the definition's own limit. - **`cursor` string**: meta.page.nextCursor of the previous page, with the same definition. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`symbol` `exchange` `name` `currency` `sector` `industry` `metrics` `warnings` - **`include` list**: Comma list of blocks to add, returned under `included`: `universe` (listings covered and skipped); `definition` (the screen as run); `snapshot` (the data snapshot it ran on). Default: none. ## Sources SEC filings, Market data providers, Exchanges Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Mergers and acquisitions](https://gloom.sh/datasets/docs/datasets/mna?utm_source=llms) - [Next Digital asset markets](https://gloom.sh/datasets/docs/datasets/crypto?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/crypto?utm_source=llms Market data and fundamentals # Digital asset markets Digital asset rankings, observed prices, circulating supply and historical market performance 1 endpoint From 50 credits ## Try it **curl** ``` curl https://api.gloom.sh/v1/crypto/assets \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/crypto/assets", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/crypto/assets", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "symbol": "BTC-USD", "code": "BTC", "name": "Bitcoin", "kind": "coin", "rank": 1, "price": 84378.35, "previousClose": 86195.28, "change": -1864.5312, "changePercent": -2.1619537, "changeBasis": null, "dayHigh": 87243.36, "dayLow": 84002.98, "volume24h": 42792685568, "marketCap": 1695618170880, "circulatingSupply": 20088362, "maxSupply": 21000000, "high52w": 126198.07, "low52w": 57747.766, "yearAgoPrice": 110969.360916, "quoteTime": "2026-09-23T14:37:53.000Z", "history": null, "peg": null, "range24h": null }, { "symbol": "ETH-USD", "code": "ETH", "name": "Ethereum", "kind": "coin", "rank": 2, "price": 2666.97, "previousClose": 2753.255, "change": -75.09009, "changePercent": -2.7384553, "changeBasis": null, "dayHigh": 2785.6296, "dayLow": 2651.0347, "volume24h": 17246857216, "marketCap": 325421957120, "circulatingSupply": 122073392, "maxSupply": null, "high52w": 4755.22, "low52w": 1506.5057, "yearAgoPrice": 4024.21229949, "quoteTime": "2026-09-23T14:37:54.000Z", "history": null, "peg": null, "range24h": null }, // … 3 more items ], "meta": { "dataset": "crypto", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-09-23T14:37:57.000Z", "historyStart": null, "updatedAt": "2026-09-23T14:37:57.000Z", "page": null, "next": null, "coverage": { "assets": 5 }, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Exchange and market data providers" }, { "attribution": "Digital asset exchange and market data providers" } ] } } ``` Trimmed · 2026-09-23 [Run it without a key: `GET /v1/datasets/crypto/sample`](https://api.gloom.sh/v1/datasets/crypto/sample) ## Endpoints **GET `/v1/crypto/assets` 50 credits (Digital asset market rankings and performance)** ### Parameters - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`symbol` `code` `name` `kind` `rank` `price` `previousClose` `change` `changePercent` `changeBasis` `dayHigh` `dayLow` `volume24h` `marketCap` `circulatingSupply` `maxSupply` `high52w` `low52w` `yearAgoPrice` `quoteTime` `history` `peg` `range24h` ## Good to know `symbol` is one symbol per coin, `-USD` (`HYPE32196-USD` is now `HYPE-USD`). Stablecoins carry `peg` (target currency, its dollar `price`, `accrues` for a yield-bearing coin) and `range24h` (24-hour `low` and `high` with `lowAt` and `highAt`); both are `null` for other coins. `change` and `changePercent` run since 00:00 UTC, from `previousClose`; a coin whose close could not be dated has `previousClose` `null` and `changeBasis` `"24h"` (measured over 24 hours) or `"none"` (no change). ## Sources Market data providers, Digital asset exchange and market data providers Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Equity screener](https://gloom.sh/datasets/docs/datasets/equity-screener?utm_source=llms) - [Next Session movers, highs/lows and tape](https://gloom.sh/datasets/docs/datasets/session-tape?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/session-tape?utm_source=llms Market data and fundamentals # Session movers, highs/lows and tape Retained session movers, highs, lows, trades and quotes with timestamps 3 endpoints From 4 credits ## Try it **curl** ``` curl "https://api.gloom.sh/v1/market/movers?view=premarket&side=up" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/market/movers?view=premarket&side=up", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/market/movers?view=premarket&side=up", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [], "meta": { "dataset": "session-tape", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-08T16:55:20.000Z", "historyStart": null, "updatedAt": "2026-10-08T16:55:20.000Z", "page": null, "next": null, "coverage": { "session": "2026-10-08", "stale": true, "storedSnapshot": true }, "delayed": true, "symbols": null, "sampledAt": null, "source": [ { "attribution": "Exchange and market data providers" } ] } } ``` Trimmed · 2026-10-08 [Run it without a key: `GET /v1/datasets/session-tape/sample`](https://api.gloom.sh/v1/datasets/session-tape/sample) ## Endpoints **GET `/v1/market/movers` 50 credits (Session market movers ranked by performance)** ### Parameters - **`view` string**: `premarket` `afterhours` `gaps` - **`side` string**: `up` `down` `active` - **`count` integer**: 1 to 50. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`symbol` `name` `exchange` `price` `change` `changePercent` `referenceClose` `volume` `relativeVolume` `gapPercent` `open` `vwap` `vwapPercent` `rank` `currency` `floatShares` `catalysts` `lastUpdated` **GET `/v1/market/highs-lows` 4 credits (The latest highs and lows publication)** ### Parameters - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`side` `symbol` `price` `volume` `count` `at` - **`include` list**: Comma list of blocks to add, returned under `included`: `windows` (new highs and lows in the last 30 seconds, 1 and 5 minutes). Default: none. **GET `/v1/market/tape` 4 credits per listing (Recent delayed trades and quotes)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`id` `timestamp` `price` `size` `exchange` `conditions` `tape` - **`include` list**: Comma list of blocks to add, returned under `included`: `quotes` (quotes over the same window); `session` (the regular session's range). Default: none. ## Good to know The latest session board, as last published. A read does not refresh it. ## Sources Exchanges Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 - [Previous Digital asset markets](https://gloom.sh/datasets/docs/datasets/crypto?utm_source=llms) - [Next Analyst estimates and revisions](https://gloom.sh/datasets/docs/datasets/analyst-estimates?utm_source=llms) --- Source: https://gloom.sh/datasets/docs/datasets/analyst-estimates?utm_source=llms Market data and fundamentals # Analyst estimates and revisions Consensus estimates and their recorded revisions by company and fiscal period 2 endpoints From 4 credits ## Try it **curl** ``` curl "https://api.gloom.sh/v1/analyst-estimates?symbols=AAPL" \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/analyst-estimates?symbols=AAPL", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/analyst-estimates?symbols=AAPL", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Response ``` { "data": [ { "symbol": "AAPL", "name": "Apple Inc.", "currency": "USD", "exchange": "NasdaqGS", "priceTarget": { "high": 405, "median": 340, "low": 215, "average": 328.09384, "current": 339.345, "currency": "USD" }, "recommendationRating": 6.988625, "recommendations": [ { "period": "current month", "strongBuy": 6, "buy": 19, "hold": 13, "sell": 3, "strongSell": 3 }, { "period": "last month", "strongBuy": 6, "buy": 19, "hold": 13, "sell": 3, "strongSell": 3 }, // … 2 more items ], "ratings": [ { "date": "2026-10-01", "firm": "Morgan Stanley", "action": "Lowers", "current": "Overweight", "prior": "Overweight" }, { "date": "2026-10-01", "firm": "Needham", "action": "Reiterated", "current": "Hold", "prior": "Hold" }, // … 98 more items ], "earningsEstimates": [ { "date": "2026-09-30", "period": "current quarter", "analysts": 27, "currency": "USD", "average": 1.97865, "low": 1.93, "high": 2.07, "yearAgo": 1.85, "growth": 0.0695, "revisions": { "up7Days": 1, "down7Days": 0, "up30Days": 7, "down30Days": 14, "currency": "USD" }, "trend": { "current": 1.97865, "sevenDaysAgo": 1.97754, "thirtyDaysAgo": 1.97656, "sixtyDaysAgo": 1.97549, "ninetyDaysAgo": 2.00836 }, "trendCurrency": "USD" }, { "date": "2026-12-31", "period": "next quarter", "analysts": 22, "currency": "USD", "average": 2.90586, "low": 2.56, "high": 3.42, "yearAgo": 2.84, "growth": 0.0232, "revisions": { "up7Days": 0, "down7Days": 1, "up30Days": 1, "down30Days": 2, "currency": "USD" }, "trend": { "current": 2.90586, "sevenDaysAgo": 2.90313, "thirtyDaysAgo": 2.89268, "sixtyDaysAgo": 2.90908, "ninetyDaysAgo": 2.94829 }, "trendCurrency": "USD" }, // … 2 more items ], "revenueEstimates": [ { "date": "2026-09-30", "period": "current quarter", "analysts": 27, "currency": "USD", "average": 113624521680, "low": 112248100000, "high": 117219700000, "yearAgo": 102466000000, "growth": 0.1089 }, { "date": "2026-12-31", "period": "next quarter", "analysts": 19, "currency": "USD", "average": 154392842060, "low": 131500061129, "high": 170414000000, "yearAgo": 143756000000, "growth": 0.074 }, // … 2 more items ] } ], "meta": { "dataset": "analyst-estimates", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-10-08T17:00:18.118Z", "historyStart": null, "updatedAt": "2026-10-08T17:00:18.118Z", "page": null, "next": null, "coverage": null, "symbols": [ { "input": "AAPL", "symbol": "AAPL", "status": "ok" } ], "sampledAt": null, "source": [ { "attribution": "Exchange and market data providers" } ] } } ``` Trimmed · 2026-10-08 [Run it without a key: `GET /v1/datasets/analyst-estimates/sample`](https://api.gloom.sh/v1/datasets/analyst-estimates/sample) ## Endpoints **GET `/v1/analyst-estimates` 10 credits per listing (Analyst earnings and revenue estimates)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`name` `currency` `exchange` `priceTarget` `recommendationRating` `recommendations` `ratings` `earningsEstimates` `revenueEstimates` **GET `/v1/analyst-estimates/revisions` 4 credits per listing (Analyst estimate revision history)** ### Parameters - **`symbols` string required**: Listings, comma-separated, at most 50, in any notation: AAPL, BRK-B, AIR.PA, VOD:XLON. Each costs one call's price; one the dataset holds nothing for is free. - **`from` string**: Calendar date: `YYYY-MM-DD`. - **`to` string**: Calendar date: `YYYY-MM-DD`. - **`fields` list**: Comma list of the fields to keep in each row; the rest are left out. A company route's rows keep `symbol`. Default: every field.`observedOn` `period` `periodEnd` `epsAverage` `epsLow` `epsHigh` `analysts` `currency` `recordedAt` `from` must be on or before `to`. ## Sources Market data providers Use subject to [Gloom Datasets terms](https://gloom.sh/datasets/terms?utm_source=llms). [Errors](https://gloom.sh/datasets/docs/errors?utm_source=llms) 304 · 400 · 401 · 402 · 403 · 404 · 405 · 429 · 503 [Previous Session movers, highs/lows and tape](https://gloom.sh/datasets/docs/datasets/session-tape?utm_source=llms) --- Source: https://gloom.sh/mcp?utm_source=llms For AI agents # Finance MCP server Give Claude, Cursor or Codex Gloom's research tools: quotes, filings, options flow, insider and congress trades, macro and news. One command connects it; tool calls need Gloom Pro. Checked 17 October 2026 ## Connect **Claude Code** ``` claude mcp add --transport http gloom https://api.gloom.sh/mcp ``` The first call opens a browser tab where you choose what Claude Code may reach. claude.ai signs in the same way. **Cursor** ``` { "mcpServers": { "gloom": { "url": "https://api.gloom.sh/mcp", "headers": { "Authorization": "Bearer gloom_mcp_..." } } } } ``` Or give Cursor only `https://api.gloom.sh/mcp` and sign in through the browser, no key. **Codex** ``` export GLOOM_MCP_KEY=gloom_mcp_... codex mcp add gloom --url https://api.gloom.sh/mcp --bearer-token-env-var GLOOM_MCP_KEY ``` Create the key in [Cloud settings, Agents](https://gloom.sh/cloud/account?view=agents&utm_source=llms). Keys are shown once. Listed in the [official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.github.gloom-sh%2Fgloom/versions/latest) and on [Smithery](https://smithery.ai/servers/gloom/gloom). ## What your agent can reach | Tools | For example | | --- | --- | | Prices and options | market.quotes, market.options_flow | | Companies | company.statements, equity.diagnostic | | Filings, insiders, 13F, Congress | sec.insider_transactions, congress.house_trades | | Macro and news | macro.yield_curve, news.stories | | Catalysts and credit | market.catalysts, credit.screen | | KPIs, awards and hiring | company.kpis, company.hiring | | GPUs, perps, supply chain, power | gpu.history, company.supply_chain_graph | | Your notes, teams and brokers | notes.save, portfolio.positions | - **Every tool, by group (70 tools)** Market: market.search, market.quotes, market.history, market.screener, market.options_chain, market.short_interest, market.options_flow Company: company.profile, company.financials, company.holders, company.analyst_research, company.corporate_actions, company.statements, equity.diagnostic Filings and ownership: sec.filings, sec.insider_transactions, sec.thirteenf_holders, sec.thirteenf_crowding, congress.house_trades, congress.senate_trades Macro and news: macro.calendar, macro.yield_curve, macro.series, news.stories, social.ticker_posts, social.search_posts Events and credit: market.catalysts, company.litigation, catalysts.event, catalysts.changes, credit.documents, credit.instrument, credit.screen Company data: company.kpis, company.guidance, company.awards, company.award_evidence, company.hiring, market.hiring_movers, hiring.momentum, apps.attention, apps.rank_history Markets and compute: market.attention, perps.board, perps.compare, perps.history, perps.rankings, gpu.board, gpu.history, gpu.changes Supply chain and power: company.supply_chain_graph, company.supply_chain_paths, company.supply_chain_evidence, power.board, power.history, power.summary, power.project, power.coverage Notes and teams: teams.list, notes.list, notes.get, notes.save, collections.list, collections.get, collections.add_symbol, collections.remove_symbol Portfolio: portfolio.accounts, portfolio.positions, portfolio.performance, portfolio.exposure Arguments, Terminal control and the broker tools are in the [MCP reference](https://gloom.sh/docs/mcp?utm_source=llms#tools). ## Ask it 1. List the largest SPY options prints of the last three days. market.options_flow 2. Compare NVDA's insider sales with its largest 13F holders. sec.insider_transactions, sec.thirteenf_holders 3. Sum up this week's macro calendar and the yield curve. macro.calendar, macro.yield_curve ## Which plan Creating a key needs Gloom Pro, $70 a month after a 7-day trial. Tool calls need Pro too, except the `portfolio.*` tools. For a fund or desk, [Gloom Team](https://gloom.sh/firms?utm_source=llms) gives every seat Pro, MCP and the REST API. - [Try the data in your browser first, no account](https://term.gloom.sh/?ticker=NVDA&utm_source=llms) - [Plans: Free, Pro and Team](https://gloom.sh/cloud?utm_source=llms#pricing) - **Limits (5 items)** - 120 requests a minute and 5,000 a day per key. Over that, 429 with Retry-After. - Results are capped at 256 KB and carry status, rowCount, truncated and asOf. - Up to 10 keys, each shown once. Access is fixed when you create it. - Access levels: Market data, Read, Read and write. Terminal control can be added to any of them. - If Pro lapses, keys stay but tool calls are refused. - **Sources (3 sources)** - [MCP server reference](https://gloom.sh/docs/mcp?utm_source=llms) updated 9 October 2026: connect commands, tools, plans and limits - [Official MCP Registry, io.github.gloom-sh/gloom](https://registry.modelcontextprotocol.io/v0/servers/io.github.gloom-sh%2Fgloom/versions/latest) read 17 October 2026 - [Smithery, gloom/gloom](https://smithery.ai/servers/gloom/gloom) read 17 October 2026 ## Related - [MCP server reference](https://gloom.sh/docs/mcp?utm_source=llms) - [REST API: the same key over HTTP](https://gloom.sh/docs/rest-api?utm_source=llms) - [Bloomberg API alternative](https://gloom.sh/answers/bloomberg-api-alternative?utm_source=llms) --- Source: https://gloom.sh/gpu-price-api?utm_source=llms Gloom Datasets # GPU price API Gloom Datasets serves published GPU rental prices, list indexes, price history and price changes over one REST key. Every plan includes them, from $200 a month. Checked 17 October 2026 ## Try it without a key ``` curl https://api.gloom.sh/v1/datasets/gpu/sample ``` | Provider | USD per GPU-hour | | --- | --- | | AWS | 6.88 | | Azure | 12.29 | | CoreWeave | 6.155 | | Crusoe | 3.9 | | DigitalOcean | 4.41 | _Trimmed real response, run 17 October 2026: H100 80GB SXM, list prices, from the fixed sample generated 8 October 2026._ - **The first row as JSON (7 fields)** ``` { "gpuModel": "H100", "pricePerGpuHr": 6.88, "currency": "USD", "basis": "list", "observedAt": "2026-10-07T21:46:34.608Z", "stale": false, "sourceUrl": null } ``` ## Routes and credits | Route | Credits a call | | --- | --- | | /v1/gpu/prices Published GPU rental rates across providers and marketplaces. Hyperscaler and Neocloud rows are list indexes | 4 credits a call | | /v1/gpu/history Observed GPU rental rates and reference history | 8 credits a call | | /v1/gpu/changes Observed GPU price changes | 4 credits a call | - **Parameters by route (3 routes)** /v1/gpu/prices: limit?, cursor?, updatedSince?, fields? /v1/gpu/history: gpuModel?, seriesId?, from?, to?, limit?, basis?, includeFractional?, fields?, include? /v1/gpu/changes: gpuModel?, limit?, fields? A ? marks an optional parameter. - **What each basis means (5 types)** - **list**: A provider's published on-demand rate - **spot**: A published interruptible rate - **ask**: A marketplace offer, not a completed rental - **reserved**: A rate that needs a commitment - **reference**: An anonymised third-party index, for context ## Call it with a key **curl** ``` curl https://api.gloom.sh/v1/gpu/prices \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/gpu/prices", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/gpu/prices", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Choose a plan, then create a key in the [Datasets console](https://gloom.sh/datasets/console?utm_source=llms). Every route is in the [GPU dataset reference](https://gloom.sh/datasets/docs/datasets/gpu?utm_source=llms). ## Which plan | Plan | Per month | Credits a month | | --- | --- | --- | | Basic | $200 or $2,000 a year | 150,000 | | Desk | $800 or $8,000 a year | 1,000,000 | | Enterprise | From $2,000 Annual contract | By contract | Founding offer: 40% off Basic and Desk for 12 months, for the first 100 paid accounts or until 4 December 2026. [Datasets pricing](https://gloom.sh/datasets/pricing?utm_source=llms) ## Look at the data first The [GPU rental price index](https://gloom.sh/gpu-prices?utm_source=llms) lists every model without an account. In the terminal, `GPU` shows a free three-row sample led by H100, B200 and H200; Gloom Pro shows the full board, history and changes. ![GPU H100 in the terminal: list, spot, reserved and ask ranges, then each provider's price per GPU-hour](https://gloom.sh/screenshots/fn/GPU.png?utm_source=llms) _GPU H100 in the terminal_ - [Open the terminal in your browser, no account](https://term.gloom.sh/?ticker=NVDA&utm_source=llms) - [Gloom Pro and the free plan](https://gloom.sh/cloud?utm_source=llms#pricing) - **Keep in mind (5 items)** - These are published prices, not completed rentals, and a low price does not mean capacity is available. - Hyperscaler and Neocloud rows are list indexes: the median of the providers' list prices, linked over time. - Prices: up to 200 rows a call, paged with a cursor. - History: filter by gpuModel, seriesId, basis and a from and to date; up to 200 rows a call. - Changes: filter by gpuModel; up to 200 rows a call. - **Sources (4 sources)** - [Gloom Datasets OpenAPI document](https://gloom.sh/datasets/openapi.json) routes, parameters and credits, read 17 October 2026 - curl https://api.gloom.sh/v1/datasets/gpu/sample run 17 October 2026 - [Datasets pricing](https://gloom.sh/datasets/pricing?utm_source=llms) plans, credits and the founding offer, read 17 October 2026 - [GPU rental prices docs](https://gloom.sh/docs/gpu-rental-prices?utm_source=llms) price types, free and Pro, what the prices are not ## Related - [GPU rental prices dataset](https://gloom.sh/datasets/gpu?utm_source=llms) - [GPU dataset reference](https://gloom.sh/datasets/docs/datasets/gpu?utm_source=llms) - [GPU rental price index](https://gloom.sh/gpu-prices?utm_source=llms) - [How GPU rental prices work](https://gloom.sh/academy/futures-commodities-energy/gpu-prices?utm_source=llms) - [Finance MCP server](https://gloom.sh/mcp?utm_source=llms) --- Source: https://gloom.sh/options-flow-api?utm_source=llms Gloom Datasets # Options flow API Gloom Datasets serves stored options flow, implied volatility surfaces, option chains and dealer gamma over one REST key. Every plan includes them, from $200 a month. Checked 17 October 2026 ## Try it without a key ``` curl https://api.gloom.sh/v1/datasets/options/sample ``` | Expiry | ATM IV | 25Δ put IV | 25Δ call IV | | --- | --- | --- | --- | | 6 November 2026 | 12.7% | 14.2% | 11.9% | _Real response from /v1/options/surfaces: SPY, captured 8 October 2026. Implied volatility at the money and at 25 delta (25Δ), for the one expiry it priced._ - **The first expiry as JSON (5 fields)** ``` { "expiration": 1793923200, "years": 0.07991755, "forward": 775.6269, "atmIV": 0.126587, "skew": { "atm": 0.126587000116, "put25": 0.141791148747, "call25": 0.118896006031, "putCallSkew": 0.0228951427152, "riskReversal": -0.0228951427152, "butterfly": 0.00375657727322, "moneynessSkew": 0.0839814407755 } } ``` ## Routes and credits | Route | Credits a call | | --- | --- | | /v1/options/flow Options trade flow | 4 credits a call | | /v1/options/iv Historical implied volatility for an underlying symbol | 4 credits a call | | /v1/options/surfaces Implied volatility across strikes and expiries | 50 credits a call | | /v1/options/chains Option calls and puts for a specified expiry | 50 credits a call | | /v1/options/gamma Retained dealer gamma positioning for one expiry | 50 credits a call | - **Parameters by route (5 routes)** /v1/options/flow: symbols?, limit?, cursor?, before?, fields? /v1/options/iv: symbols, from?, to?, fields? /v1/options/surfaces: symbols, date?, fields? /v1/options/chains: symbols, expiry, fields?, include? /v1/options/gamma: symbols, expiry, fields?, include? A ? marks an optional parameter. - **What a flow print carries (8 fields)** - **underlying, contract**: The stock and the option contract - **right, strike, expiry**: Call (C) or put (P), strike and expiry date - **kind**: sweep, block, split or trade - **side**: ask, bid, mid or unknown - **size, price, premium**: Contracts traded, price per contract, premium - **volume, openInterest, volOi**: The contract's day volume, open interest and their ratio - **iv**: Implied volatility, when known - **at, id**: When it printed, in milliseconds, and the print's id ## Call it with a key **curl** ``` curl https://api.gloom.sh/v1/options/flow \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/options/flow", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/options/flow", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Choose a plan, then create a key in the [Datasets console](https://gloom.sh/datasets/console?utm_source=llms). Every route is in the [options dataset reference](https://gloom.sh/datasets/docs/datasets/options?utm_source=llms). ## Which plan | Plan | Per month | Credits a month | | --- | --- | --- | | Basic | $200 or $2,000 a year | 150,000 | | Desk | $800 or $8,000 a year | 1,000,000 | | Enterprise | From $2,000 Annual contract | By contract | Founding offer: 40% off Basic and Desk for 12 months, for the first 100 paid accounts or until 4 December 2026. [Datasets pricing](https://gloom.sh/datasets/pricing?utm_source=llms) ## Look at the data first ![OPX for SPY: open interest by strike with max pain and spot, and the strike table](https://gloom.sh/screenshots/fn/OPX.png?utm_source=llms) Type `OPX SPY` in the terminal: open interest by strike, max pain and dealer gamma, free. `FLOW`, the options flow pane, is on Gloom Pro. - [Open the terminal in your browser, no account](https://term.gloom.sh/?ticker=NVDA&utm_source=llms) - [Gloom Pro and the free plan](https://gloom.sh/cloud?utm_source=llms#pricing) - **Limits (5 items)** - Flow: newest prints first, 100 a page by default and up to 200. Page back with meta.next, or send meta.page.nextCursor as cursor. - Implied volatility history covers the last 366 days. - A chain is one expiry, with up to 500 calls and 500 puts. - Gamma reads a snapshot the server already holds for that expiry: with none held, it returns 503. A missing stored surface returns 404. - Dealer gamma is an estimate of dealer positioning, not measured holdings. - **Sources (4 sources)** - [Gloom Datasets OpenAPI document](https://gloom.sh/datasets/openapi.json) routes, parameters and credits, read 17 October 2026 - curl https://api.gloom.sh/v1/datasets/options/sample the SPY surface captured 8 October 2026 - [Datasets pricing](https://gloom.sh/datasets/pricing?utm_source=llms) plans, credits and the founding offer, read 17 October 2026 - [Options positioning (OPX)](https://gloom.sh/docs/options-positioning?utm_source=llms) what the free pane shows ## Related - [Options dataset](https://gloom.sh/datasets/options?utm_source=llms) - [Options dataset reference](https://gloom.sh/datasets/docs/datasets/options?utm_source=llms) - [What is options flow?](https://gloom.sh/academy/options-and-volatility/positioning-and-flow/options-flow?utm_source=llms) - [Unusual Whales alternatives](https://gloom.sh/alternatives/unusual-whales?utm_source=llms) - [Finance MCP server](https://gloom.sh/mcp?utm_source=llms) --- Source: https://gloom.sh/earnings-call-transcripts-api?utm_source=llms Gloom Datasets # Earnings call transcripts API Gloom Datasets serves earnings call transcripts with speakers, the analyst Q&A, summary and guidance, and searches calls, filings and news. Every plan includes both, from $200 a month. Checked 20 October 2026 ## Try it without a key ``` curl https://api.gloom.sh/v1/datasets/transcripts/sample ``` ``` { "id": "864fa17a-f64a-5e3d-a9cd-e6a38fc6e0da", "ticker": "NVDA", "fiscalYear": 2027, "fiscalQuarter": 2, "callAt": "2026-08-26T21:00:00.000Z", "wordCount": 3262 } ``` Real response, trimmed to data[0]: NVDA's fiscal Q2 2027 call of 26 August 2026. Its id opens the full transcript. - **The full response (15 fields)** ``` { "data": [ { "ticker": "NVDA", "id": "864fa17a-f64a-5e3d-a9cd-e6a38fc6e0da", "companyName": "NVIDIA Corporation", "fiscalYear": 2027, "fiscalQuarter": 2, "callAt": "2026-08-26T21:00:00.000Z", "callTimeKnown": true, "eventKind": "earnings", "eventLabel": null, "status": "published", "durationSeconds": null, "wordCount": 3262, "hasTranscript": true, "sentiment": null, "webcastUrl": "https://investor.nvidia.com/financial-info/financial-reports-and-sec-filings/default.aspx" } ], "meta": { "dataset": "transcripts", "requestId": "sample-request", "asOf": null, "dataThrough": "2026-08-26T21:00:00.000Z", "historyStart": null, "updatedAt": null, "page": null, "next": null, "coverage": { "calls": 1 }, "source": [ { "id": "earnings-webcasts", "attribution": "Company earnings webcasts", "licence": "Use subject to Gloom Datasets terms" } ], "notices": [], "symbols": null, "sampledAt": null } } ``` ## Search calls, filings and news `docTypes=transcript` keeps a search to calls. ``` curl https://api.gloom.sh/v1/datasets/document-search/sample ``` - **The hit it returns (7 fields)** Real response: one filing hit for q=CAPITAL ONE, published 5 October 2026. ``` { "docType": "filing", "title": "8-K - CAPITAL ONE MULTI ASSET EXECUTION TRUST (0001163321) (Filer)", "url": "https://www.sec.gov/Archives/edgar/data/1163321/000119312526413925/0001193125-26-413925-index.htm", "publishedAt": "2026-10-05T18:11:19.000Z", "snippet": "Filed: 2026-10-05 AccNo: 0001193125-26-413925 Size: 734 KB Item 8.01: Other Events Item 9.01: Financial Statements and Exhibits", "score": 1, "matchCount": 1 } ``` ## Routes and credits | Route | Credits a call | | --- | --- | | /v1/transcripts Published earnings calls by company | 4 credits a call | | /v1/transcripts/{id} Earnings transcript, speakers, summary and guidance | 10 credits a call | | /v1/search Search filings, transcripts and news | 4 credits a call | | /v1/documents/{docType}:{sourceId} Indexed document text and chunk metadata | 10 credits a call | On 20 October 2026, the free transcript pages listed 2,774 transcripts across 1,266 companies. - **Parameters by route (4 routes)** /v1/transcripts: symbols?, limit?, cursor?, fields? /v1/transcripts/{id}: id, fields?, include? /v1/search: symbols?, docTypes?, sources?, from?, to?, sort?, limit?, cursor?, count?, distinct?, q, fields? /v1/documents/{docType}:{sourceId}: docType, sourceId, limit?, cursor?, fields? A ? marks an optional parameter. - **What a transcript carries (31 fields)** - **id, ticker, companyName, status**: The call, its company and its status - **fiscalYear, fiscalQuarter, callAt, timing**: The fiscal period and when the call was held - **eventKind, eventLabel**: Whether it is an earnings call, or another event (a deal call, a conference, an investor day) named by its label, with no fiscal period - **turns, qaStartTurn**: Each turn with its speaker, role and start in the recording, and the turn where the Q&A begins - **participants**: The executives and analysts on the call, with roles - **fullText, wordCount, language, isTranslated**: The whole text, its length, its language and whether it was translated - **summary, guidance, keyFigures**: The summary, the guidance management gave and the key figures - **analystFocus, notable, riskFactors**: What analysts pressed on, notable quotes and the risks raised - **sentiment, sentimentRationale**: A tone score and the reason for it - **webcastUrl, durationSeconds, asrModel, slidesUrl, hasSlides, updatedAt**: The replay link, its length, the text's source label, any slides and the last update ## Call it with a key **curl** ``` curl https://api.gloom.sh/v1/transcripts \ -H "Authorization: Bearer $GLOOM_DATASETS_KEY" ``` **Python** ``` import os import requests response = requests.get( "https://api.gloom.sh/v1/transcripts", headers={"Authorization": f"Bearer {os.environ['GLOOM_DATASETS_KEY']}"}, ) response.raise_for_status() print(response.json()) ``` **TypeScript** ``` const response = await fetch( "https://api.gloom.sh/v1/transcripts", { headers: { Authorization: `Bearer ${process.env.GLOOM_DATASETS_KEY}` } }, ) if (!response.ok) throw new Error(await response.text()) console.log(await response.json()) ``` Create a key in the [Datasets console](https://gloom.sh/datasets/console?utm_source=llms), then call any route in the [transcripts](https://gloom.sh/datasets/docs/datasets/transcripts?utm_source=llms) or [document search](https://gloom.sh/datasets/docs/datasets/document-search?utm_source=llms) reference. ## Which plan | Plan | Per month | Credits a month | | --- | --- | --- | | Basic | $200 or $2,000 a year | 150,000 | | Desk | $800 or $8,000 a year | 1,000,000 | | Enterprise | From $2,000 Annual contract | By contract | Founding offer: 40% off Basic and Desk for 12 months, for the first 100 paid accounts or until 4 December 2026. [Datasets pricing](https://gloom.sh/datasets/pricing?utm_source=llms) ## Read one first Read any call free on the [transcript pages](https://gloom.sh/transcripts?utm_source=llms), no account, with [a five-minute guide](https://gloom.sh/blog/free-earnings-call-transcripts?utm_source=llms). On Gloom Pro, `CALLS NVDA` lists NVIDIA's calls in the terminal. [![CALLS NVDA: NVIDIA's earnings calls, newest first, with the date, fiscal period, length and tone](https://gloom.sh/earnings-call-transcripts-api/calls-nvda.webp?utm_source=llms)](https://gloom.sh/earnings-call-transcripts-api/calls-nvda.webp?utm_source=llms) _CALLS NVDA on Gloom Pro, captured 25 September 2026_ - [Open the terminal in your browser, no account](https://term.gloom.sh/?ticker=NVDA&utm_source=llms) - [Gloom Pro and the free plan](https://gloom.sh/cloud?utm_source=llms#pricing) - **Keep in mind (5 limits)** - The list serves published calls only, newest first: 25 a page by default and up to 200. - The free pages skip repeat calls and transcripts under 1,500 words, so the API can list more calls than they count. - Summary, guidance and the other analysis fields can be null on a call that lacks them. - Transcripts can mishear names and figures, so check a number you rely on against the replay at webcastUrl. - Search returns up to 100 hits a page, pages up to 5,000 hits deep and takes a query of up to 500 characters. - **Sources (5 sources)** - [Gloom Datasets OpenAPI document](https://gloom.sh/datasets/openapi.json) routes, parameters and credits, read 20 October 2026 - curl https://api.gloom.sh/v1/datasets/transcripts/sample the transcripts sample, run 20 October 2026 - curl https://api.gloom.sh/v1/datasets/document-search/sample the search sample, run 20 October 2026 - curl https://api.gloom.sh/public/transcripts?limit=1 the transcript count, and /public/transcripts/companies for the companies, read 20 October 2026 - [Datasets pricing](https://gloom.sh/datasets/pricing?utm_source=llms) plans, credits and the founding offer, read 20 October 2026 ## Related - [Earnings-call transcripts dataset](https://gloom.sh/datasets/transcripts?utm_source=llms) - [Transcripts dataset reference](https://gloom.sh/datasets/docs/datasets/transcripts?utm_source=llms) - [What an earnings call covers](https://gloom.sh/academy/fundamentals-and-earnings/earnings/earnings-calls?utm_source=llms) --- Source: https://gloom.sh/features/supply-chain-data?utm_source=llms Supply chain data # Company suppliers and customers Gloom shows who a company buys from and sells to, and links the source behind each relationship. Type `SPLC` and a ticker in the terminal: the free plan shows three per role, Gloom Pro all of them. Checked 20 October 2026 ## NVIDIA suppliers and customers [![SPLC NVDA in the Flow tab: Fabrinet, Coherent and Hon Hai as suppliers; Customer A, Revenue customer 1, HIVE, Nebius and SharonAI as customers; partners, competitors and investees below](https://gloom.sh/features/splc-nvda-flow.webp?utm_source=llms)](https://gloom.sh/features/splc-nvda-flow.webp?utm_source=llms) _SPLC NVDA, Flow tab, free preview, 20 October 2026_ | Company and role | Source | | --- | --- | | Hon Hai Precision Industry Supplier | [NVIDIA 10-K](https://www.sec.gov/Archives/edgar/data/1045810/000104581026000021/nvda-20260125.htm) | | Fabrinet (FN) Supplier, 16.3% of Fabrinet revenue, from the text of its 10-K | [Fabrinet 10-K](https://www.sec.gov/Archives/edgar/data/1408710/000140871026000028/fn-20260626.htm) | | Coherent (COHR) Supplier | [Coherent 10-K](https://www.sec.gov/Archives/edgar/data/820318/000082031826000020/iivi-20260630.htm) | | Nebius Group (NBIS) Customer | [Nebius 20-F](https://www.sec.gov/Archives/edgar/data/1513845/000110465926052948/nbis-20251231x20f.htm) | | HIVE Digital Technologies (HIVE) Customer | [HIVE 10-K](https://www.sec.gov/Archives/edgar/data/1720424/000106299326002973/form10k.htm) | | SharonAI Holdings (SHAZ) Customer | [SharonAI 10-K](https://www.sec.gov/Archives/edgar/data/2068385/000149315226014068/form10-k.htm) | | Customer A, not named Customer, 22% of NVIDIA receivables | [NVIDIA 10-Q](https://www.sec.gov/Archives/edgar/data/1045810/000104581026000075/nvda-20260726.htm) | - **What each filing says (7 sources)** - **Hon Hai Precision Industry**, from the [NVIDIA 10-K](https://www.sec.gov/Archives/edgar/data/1045810/000104581026000021/nvda-20260125.htm) filed 25 February 2026: “We engage with independent subcontractors and contract manufacturers such as Hon Hai Precision Industry Co., Ltd., Wistron Corporation, and Fabrinet to perform assembly, testing and packaging of our final products.” - **Fabrinet**, from the [Fabrinet 10-K](https://www.sec.gov/Archives/edgar/data/1408710/000140871026000028/fn-20260626.htm) filed 18 August 2026: “During fiscal year 2026, Cisco Systems, Inc., NVIDIA Corporation, Nokia Corporation and Amazon.com, Inc. contributed 19.9%, 16.3%, 10.7% and 10.5%, respectively, of our revenues.” - **Coherent**, from the [Coherent 10-K](https://www.sec.gov/Archives/edgar/data/820318/000082031826000020/iivi-20260630.htm) filed 14 August 2026: “The non-exclusive agreement includes a multi-billion-dollar purchase commitment with NVIDIA, as well as future access and capacity rights for advanced laser and optical networking products.” - **Nebius Group**, from the [Nebius 20-F](https://www.sec.gov/Archives/edgar/data/1513845/000110465926052948/nbis-20251231x20f.htm) filed 30 April 2026: “We currently rely on Nvidia for the GPU chips we use and on a limited number of other suppliers for other key components in our infrastructure.” - **HIVE Digital Technologies**, from the [HIVE 10-K](https://www.sec.gov/Archives/edgar/data/1720424/000106299326002973/form10k.htm) filed 2 June 2026: “The Company has purchased GPU cards manufactured by Nvidia and AMD, while GPU server cases are manufactured by Dell or Supermicro.” - **SharonAI Holdings**, from the [SharonAI 10-K](https://www.sec.gov/Archives/edgar/data/2068385/000149315226014068/form10-k.htm) filed 31 March 2026: “NVIDIA is a manufacturer of the Company’s GPUs and is a key operational partner under NVIDIA’s NCP program.” - **Customer A, not named**, from the [NVIDIA 10-Q](https://www.sec.gov/Archives/edgar/data/1045810/000104581026000075/nvda-20260726.htm) filed 26 August 2026, which tags a receivables concentration figure, 22%, for a customer the filing does not name. ## Apple suppliers and customers | Company and role | Source | | --- | --- | | Cirrus Logic (CRUS) Supplier, 91% of Cirrus Logic revenue | [Cirrus Logic 10-K](https://www.sec.gov/Archives/edgar/data/772406/000077240626000018/crus-20260328.htm) | | Vendor one, not named Supplier, 47% of Apple non-trade receivables | [Apple 10-Q](https://www.sec.gov/Archives/edgar/data/320193/000032019326000020/aapl-20260627.htm) | | Corning (GLW) Partner | [Corning 10-K](https://www.sec.gov/Archives/edgar/data/24741/000002474126000124/glw-20251231.htm) | | Best Buy (BBY) Customer | [Best Buy 10-K](https://www.sec.gov/Archives/edgar/data/764478/000076447826000009/bby-20260131.htm) | | Ingram Micro (INGM) Customer, 21% of Ingram Micro revenue | [Ingram Micro 10-K](https://www.sec.gov/Archives/edgar/data/1897762/000162828026013588/ingm-20251227.htm) | | Alphabet (GOOGL) Customer | [Apple 10-K](https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm) | | Millicom (TIGO) Customer | [Millicom 20-F](https://www.sec.gov/Archives/edgar/data/912958/000162828026020831/tigo-20251231.htm) | - **What each filing says (7 sources)** - **Cirrus Logic**, from the [Cirrus Logic 10-K](https://www.sec.gov/Archives/edgar/data/772406/000077240626000018/crus-20260328.htm) filed 21 May 2026, which tags a revenue concentration figure, 91%, naming Apple as the customer. - **Vendor one, not named**, from the [Apple 10-Q](https://www.sec.gov/Archives/edgar/data/320193/000032019326000020/aapl-20260627.htm) filed 31 July 2026, which tags a vendor non-trade receivables concentration figure, 47%, for a vendor the filing does not name. - **Corning**, from the [Corning 10-K](https://www.sec.gov/Archives/edgar/data/24741/000002474126000124/glw-20251231.htm) filed 12 February 2026: “We collaborated with Apple to deliver durable glass with infused color for the back of Apple’s iPhone 15 and iPhone 15 Plus devices.” - **Best Buy**, from the [Best Buy 10-K](https://www.sec.gov/Archives/edgar/data/764478/000076447826000009/bby-20260131.htm) filed 18 March 2026: “In fiscal 2026, our 20 largest suppliers accounted for approximately 80% of the merchandise we purchased, with five suppliers – Apple, Samsung, HP, LG and Sony – representing approximately 55% of total merchandise purchased.” - **Ingram Micro**, from the [Ingram Micro 10-K](https://www.sec.gov/Archives/edgar/data/1897762/000162828026013588/ingm-20251227.htm) filed 3 March 2026, which tags a supplier concentration figure, 21% of revenue, naming Apple. - **Alphabet**, from the [Apple 10-K](https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm) filed 31 October 2025: “For example, the Company earns revenue from licensing arrangements with Google LLC (“Google”) and other companies to offer their search services on the Company’s platforms and applications, and certain of these arrangements are currently subject to government investigations and legal proceedings.” - **Millicom**, from the [Millicom 20-F](https://www.sec.gov/Archives/edgar/data/912958/000162828026020831/tigo-20251231.htm) filed 24 March 2026: “The key suppliers of our handsets and set-top boxes, in terms of both volume of sales and importance to our operations, are Apple, B-Mobile, Blu, Honor, Maxwest, Motorola, OPPO, Samsung, Tecno, Vivo, Xiaomi and ZTE.” ## More companies - **TSMC suppliers and customers (6 links)** | Company and role | Source | | --- | --- | | Broadcom (AVGO) Customer | [Broadcom 10-Q](https://www.sec.gov/Archives/edgar/data/1730168/000173016826000080/avgo-20260802.htm) | | NVIDIA (NVDA) Customer | [NVIDIA 10-K](https://www.sec.gov/Archives/edgar/data/1045810/000104581026000021/nvda-20260125.htm) | | KLA (KLAC) Supplier | [KLA 10-K](https://www.sec.gov/Archives/edgar/data/319201/000031920126000027/klac-20260630.htm) | | FormFactor (FORM) Supplier, 11% of FormFactor revenue | [FormFactor 10-Q](https://www.sec.gov/Archives/edgar/data/1039399/000103939926000033/form-20260627.htm) | | Qnity Electronics (Q) Supplier, 8% of Qnity revenue | [Qnity 10-Q](https://www.sec.gov/Archives/edgar/data/2058873/000205887326000030/q-20260630.htm) | | NXP Semiconductors (NXPI) Partner | [NXP 10-K](https://www.sec.gov/Archives/edgar/data/1413447/000141344726000008/nxpi-20251231.htm) | _On 20 October 2026, every TSMC row here comes from another company's filing._ - **Broadcom**, from the [Broadcom 10-Q](https://www.sec.gov/Archives/edgar/data/1730168/000173016826000080/avgo-20260802.htm) filed 10 September 2026: “During the three fiscal quarters ended August 2, 2026, approximately 95% of the wafers manufactured by our CMs were produced by Taiwan Semiconductor Manufacturing Company Limited (“TSMC”).” - **NVIDIA**, from the [NVIDIA 10-K](https://www.sec.gov/Archives/edgar/data/1045810/000104581026000021/nvda-20260125.htm) filed 25 February 2026: “We utilize foundries, such as Taiwan Semiconductor Manufacturing Company Limited, or TSMC, and Samsung Electronics Co., Ltd., or Samsung, to produce our semiconductor wafers.” - **KLA**, from the [KLA 10-K](https://www.sec.gov/Archives/edgar/data/319201/000031920126000027/klac-20260630.htm) filed 6 August 2026: “For the fiscal years ended June 30, 2026, 2025 and 2024, the following customers each accounted for more than 10% of total revenues, primarily in the Semiconductor Process Control segment: … Taiwan Semiconductor Manufacturing Company Limited” - **FormFactor**, from the [FormFactor 10-Q](https://www.sec.gov/Archives/edgar/data/1039399/000103939926000033/form-20260627.htm) filed 4 August 2026, which tags a revenue concentration figure, 11%, naming TSMC as the customer. - **Qnity Electronics**, from the [Qnity 10-Q](https://www.sec.gov/Archives/edgar/data/2058873/000205887326000030/q-20260630.htm) filed 4 August 2026, which tags a revenue concentration figure, 8%, naming TSMC as the customer. - **NXP Semiconductors**, from the [NXP 10-K](https://www.sec.gov/Archives/edgar/data/1413447/000141344726000008/nxpi-20251231.htm) filed 19 February 2026: “For example, we currently participate in a joint venture with Taiwan Semiconductor Manufacturing Company Limited (“TSMC”) called Systems on Silicon Manufacturing Company Pte. Ltd. (“SSMC”)” - **Tesla suppliers and partners (5 links)** | Company and role | Source | | --- | --- | | Panasonic Supplier | [Tesla 10-K](https://www.sec.gov/Archives/edgar/data/1318605/000162828026003952/tsla-20251231.htm) | | CATL Supplier | [Tesla 10-K](https://www.sec.gov/Archives/edgar/data/1318605/000162828026003952/tsla-20251231.htm) | | STMicroelectronics (STM) Supplier | [STMicroelectronics 20-F](https://www.sec.gov/Archives/edgar/data/932787/000093278726000009/stm-20251231.htm) | | Skyworks Solutions (SWKS) Supplier | [Skyworks 10-K](https://www.sec.gov/Archives/edgar/data/4127/000000412725000085/swks-20251003.htm) | | Samsung Electronics Partner | [Tesla 10-K](https://www.sec.gov/Archives/edgar/data/1318605/000162828026003952/tsla-20251231.htm) | - **Panasonic**, from the [Tesla 10-K](https://www.sec.gov/Archives/edgar/data/1318605/000162828026003952/tsla-20251231.htm) filed 29 January 2026: “Currently, we rely on suppliers such as Panasonic and Contemporary Amperex Technology Co. Limited (CATL) for these cells.” - **CATL**, from the [Tesla 10-K](https://www.sec.gov/Archives/edgar/data/1318605/000162828026003952/tsla-20251231.htm) filed 29 January 2026: “Currently, we rely on suppliers such as Panasonic and Contemporary Amperex Technology Co. Limited (CATL) for these cells.” - **STMicroelectronics**, from the [STMicroelectronics 20-F](https://www.sec.gov/Archives/edgar/data/932787/000093278726000009/stm-20251231.htm) filed 26 February 2026: “Our major customers include (in alphabetical order) Apple, Bosch, Continental, Denso, HP, Mobileye, Samsung, SpaceX, Tesla and Vitesco.” - **Skyworks Solutions**, from the [Skyworks 10-K](https://www.sec.gov/Archives/edgar/data/4127/000000412725000085/swks-20251003.htm) filed 7 November 2025: “Our key customers include Amazon, Apple Inc. (“Apple”), Arcadyan, Arris, Bose, Ciena, Cisco, Ericsson, Fibocom, Garmin, Gemalto (a Thales company), General Electric, Google, Honeywell, Itron, Lenovo, LG Electronics, Microsoft, Motorola, NETGEAR, Nokia, Northrop Grumman, OPPO, Rockwell Collins, Sagemcom, Samsung, Schneider Electric, Sierra Wireless, Sonos, Sony, Technicolor, Telit, Tesla, TP-Link, VIVO, and Xiaomi.” - **Samsung Electronics**, from the [Tesla 10-K](https://www.sec.gov/Archives/edgar/data/1318605/000162828026003952/tsla-20251231.htm) filed 29 January 2026: “In 2025, we further expanded Cortex, our training cluster at Gigafactory Texas, and announced a new collaboration with Samsung to manufacture advanced semiconductors for AI inference and training in the U.S.” ## Which plan | Plan | Includes | | --- | --- | | Free | `SPLC` shows three relationships per role, each way. `EXPO` previews one holding at one hop. | | Gloom Pro | Every relationship, graphs up to four hops, `EXPO` across 100 holdings. $70 a month after a 7-day trial. | | Gloom Datasets | The same links by API, from 8 credits a call. Plans from $200 a month. [Supply chain API reference](https://gloom.sh/datasets/docs/datasets/supply-chain?utm_source=llms) | Try it first: type `SPLC NVDA` in the terminal. - [Open the terminal in your browser, no account](https://term.gloom.sh/?ticker=NVDA&utm_source=llms) - [Gloom Pro and the free plan](https://gloom.sh/cloud?utm_source=llms#pricing) - **How to open it (5 ways)** - `SPLC NVDA`: suppliers, customers, partners, competitors and investees, in the `Table`, `Flow`, `Graph` and `Path` tabs. - In `Table`, switch **NVDA says** to **Names NVDA** to read what other companies' filings say about NVIDIA. - `EXPO AAPL=60% NVDA=40%`: what a country, supplier, customer or tariff shock does to those holdings. - `SEG AAPL`: revenue by product, segment or region. `RIPL`: holdings tied to a company reporting soon. - MCP, on Gloom Pro: `company.supply_chain_graph`, `company.supply_chain_paths` and `company.supply_chain_evidence`. - **Keep in mind (4 limits)** - Disclosed links only. Absence is not proof of no relationship. - A share belongs to the company that reported it: 16.3% of Fabrinet revenue is Fabrinet's figure, not NVIDIA's. - Companies often disclose a large customer without naming it, so some rows read Customer A or Vendor one. - Path scores rank routes, not probabilities, and chained percentages are estimates. - **Sources (4 sources)** - SPLC's free preview for NVDA, AAPL, TSM and TSLA, read signed out on 20 October 2026. Each row links its filing. - [Supply chain and exposure docs](https://gloom.sh/docs/exposure?utm_source=llms): the commands, and what Free and Pro show. - [Supply chain dataset reference](https://gloom.sh/datasets/docs/datasets/supply-chain?utm_source=llms): routes, parameters and credits, read 20 October 2026. - [Plans](https://gloom.sh/cloud?utm_source=llms#pricing): the Gloom Pro price and trial. ## Related - [Supply chain and exposure docs](https://gloom.sh/docs/exposure?utm_source=llms) - [How supply chain data works](https://gloom.sh/academy/special-datasets/supply-chain-and-exposure?utm_source=llms) - [Supply chain dataset reference](https://gloom.sh/datasets/docs/datasets/supply-chain?utm_source=llms) - [Finance MCP server](https://gloom.sh/mcp?utm_source=llms) --- Source: https://gloom.sh/docs?utm_source=llms Gloom docs # Learn Gloom by doing Search a ticker or command, open panes, save the layout. That is the whole model. - [Desktop app Panes, mouse, native windows, saved layouts.](https://gloom.sh/docs/first-session?utm_source=llms#desktop-walkthrough) - [Terminal UI Same commands and panes in Ghostty, Kitty, WezTerm, or any modern terminal.](https://gloom.sh/docs/first-session?utm_source=llms#terminal-walkthrough) [New to markets? Gloom Academy · 125 short lessons, free](https://gloom.sh/academy?utm_source=llms) ![Gloom workspace with Apple research, a five-year price chart, and market movers](https://gloom.sh/screenshots/beginner-workspace.png?utm_source=llms) ## Pick a goal - [Do a 15-minute market check](https://gloom.sh/docs/workflows?utm_source=llms#the-15-minute-market-check) - [Research one company](https://gloom.sh/docs/workflows?utm_source=llms#research-one-company) - [Compare several companies](https://gloom.sh/docs/workflows?utm_source=llms#compare-several-companies) - [Understand local, Cloud, and Pro](https://gloom.sh/docs/concepts?utm_source=llms#local-cloud-and-brokers) ## Understand the data - [Company KPIs Disclosed metrics and guidance](https://gloom.sh/docs/company-kpis?utm_source=llms) - [Credit documents Debt, covenants and maturities](https://gloom.sh/docs/credit-documents?utm_source=llms) - [Catalysts and litigation Clinical, regulatory and legal events](https://gloom.sh/docs/catalysts?utm_source=llms) - [Government awards Public contracts by company](https://gloom.sh/docs/government-awards?utm_source=llms) - [Supply chain and exposure Suppliers, customers and shocks](https://gloom.sh/docs/exposure?utm_source=llms) - [Hiring and app data Open roles and app ranks](https://gloom.sh/docs/hiring-data?utm_source=llms) - [Research attention What Gloom users research](https://gloom.sh/docs/attention?utm_source=llms) - [Consumer prices US inflation by component](https://gloom.sh/docs/consumer-prices?utm_source=llms) - [Oil and gas inventories Weekly oil and gas storage](https://gloom.sh/docs/energy-inventories?utm_source=llms) - [Perpetual history Funding and open interest](https://gloom.sh/docs/perpetuals?utm_source=llms) - [GPU rental prices GPU cost per hour](https://gloom.sh/docs/gpu-rental-prices?utm_source=llms) - [Power and grid buildout Grid queues and datacentre load](https://gloom.sh/docs/power?utm_source=llms) - [Options positioning (GEX) Open interest and dealer gamma](https://gloom.sh/docs/options-positioning?utm_source=llms) ## Reference - [All functions](https://gloom.sh/docs/functions?utm_source=llms) - [Keys and shortcuts](https://gloom.sh/docs/layout-shortcuts?utm_source=llms) - [CLI](https://gloom.sh/docs/cli-functions?utm_source=llms) - [REST API and MCP](https://gloom.sh/docs/rest-api?utm_source=llms) - [Troubleshooting By symptom](https://gloom.sh/docs/troubleshooting?utm_source=llms) - [Gloom Datasets Separate keys and plans](https://gloom.sh/docs/datasets?utm_source=llms)