# Fetch Ratings Source: https://docs.finvera.ai/api-reference/analyst-ratings/fetch-ratings get /api/v1/ratings # Overview Source: https://docs.finvera.ai/api-reference/analyst-ratings/ratings-overview The Analyst Ratings API provides structured, real-time and historical access to equity analyst upgrades, downgrades, initiations, and reiterations across U.S. publicly traded companies. Built for developers, quant researchers, and fintech platforms, the API surfaces granular rating activity from major sell-side firms, normalized into a consistent JSON format for easy integration. ### Key Features * Normalized Ratings: Converts varied broker terminology (e.g., “Overweight,” “Outperform,” “Buy”) into a standardized rating scale: Buy, Hold, Sell. * Firm Attribution: Each rating includes the originating firm, analyst name (if available), and timestamp of publication. * Target Price Tracking: Captures both new and previous price targets for each rating event, enabling delta analysis. * Historical Ratings Data: Query by ticker, firm, or rating type to retrieve past analyst actions for backtesting or trend analysis. * Real-Time Feed: New rating actions are available in real time via push or polling endpoints — ideal for triggering alerts or updating frontend views. * Ticker-Level Aggregation: Ratings data can be aggregated at the company level to derive current sentiment or analyst consensus. ### Coverage * Firms: Includes top-tier investment banks and independent research shops with consistent U.S. equity coverage. * Universe: Primarily U.S.-listed equities, including large-cap and small-cap tickers across all sectors. * Latency: Sub-minute delivery for new ratings published during market hours. ### Use Cases * Build consensus rating modules for investor dashboards * Backtest price impact of analyst upgrades/downgrades * Identify coverage changes and shifts in sentiment ahead of earnings * Generate alerts when multiple firms revise targets or change recommendations * Push notificataions Security Master Autocomplete The Analyst Ratings API is ideal for developers looking to integrate real-time sell-side sentiment into trading models, financial news feeds, or stock discovery tools. With consistent formatting and rich metadata, it offers a clean foundation for deeper analysis of analyst behavior over time. # Authentication Source: https://docs.finvera.ai/api-reference/authentication How to authenticate with the Finvera API from browsers and from servers. Create your account and provision keys at the [API Key Dashboard](https://dashboard.finvera.ai/sign-up). Finvera supports two authentication models. Pick the one that matches where your code runs: | Key type | Prefix | Where it runs | How it authenticates | | ------------------- | -------------------- | --------------------------------------- | --------------------------------------------------------- | | **Publishable key** | `pk_…` | Browser / mobile / any client-side code | Exchanged for a short‑lived session token at the edge | | **Secret key** | `sk_…` / `finvera_…` | Trusted servers only | Sent directly on every request as `Authorization: Bearer` | The base URL for all requests is `https://api.finvera.news`. *** ## Client-side: publishable keys + session tokens Publishable keys are safe to ship in client bundles, but on their own they cannot call data endpoints. A client first exchanges its `pk_` for a **session token** at the Finvera edge, then uses that session token as a bearer credential on every subsequent call. Each session is bound to: * the **publishable key** it was minted for, * the browser **Origin** that minted it (must match the key's allowlist), and * the caller's **network prefix** (IPv4 /24 or IPv6 /48). A leaked session token therefore cannot be replayed from a different site or a different network, and any session can be revoked instantly by revoking its parent `pk_`. ### Flow at a glance ``` Browser Finvera Edge │ │ │ 1. Solve Turnstile challenge │ │ ─────────────────────────────────────►│ │ │ │ 2. POST /v1/session │ │ x-api-key: pk_… │ │ cf-turnstile-token: … │ │ Origin: https://yourapp.com │ │ ─────────────────────────────────────►│ verify Turnstile, │ │ check pk + origin, │ │ rate-limit, │ ◄─────────────────────────────────────│ mint session JWT │ { token, expires_in, … } │ │ │ │ 3. GET /kms/api/v1/… │ │ Authorization: Bearer │ │ ─────────────────────────────────────►│ verify session, │ ◄─────────────────────────────────────│ forward to origin │ 200 OK + JSON │ ``` ### 1. Solve a Turnstile challenge The mint endpoint is protected by [Cloudflare Turnstile](https://developers.cloudflare.com/turnstile/). Render the widget on the page that will mint the session and pass the resulting token along with the mint request. ```html theme={null}
``` Required widget configuration: * `data-action` **must** equal `mint_session`. Tokens issued for any other action are rejected. * `data-cdata` should be the lowercase hex SHA-256 of your publishable key. This binds the challenge to the specific `pk_` so a token harvested under one key on the same site cannot be reused with another. (Only enforced on interactive widgets; invisible widgets may omit it.) * The widget's hostname must match the `Origin` of the mint request — Turnstile is bound to the page that served it. The widget invokes your callback with a single-use token. Send that token to `/v1/session` immediately. ### 2. Mint a session token ```bash theme={null} curl -X POST https://api.finvera.news/v1/session \ -H "x-api-key: pk_live_xxxxxxxxxxxxxxxx" \ -H "Origin: https://yourapp.com" \ -H "cf-turnstile-token: " ``` **Response (200):** ```json theme={null} { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.…", "token_type": "Bearer", "expires_in": 900, "expires_at": 1747058400, "refresh_window_seconds": 28800, "action": "mint_session" } ``` * `token` — opaque JWT to send on subsequent requests. * `expires_in` — seconds until this token expires (default 15 min). * `refresh_window_seconds` — the maximum lifetime of a session chain. Once this much time has passed since the original mint, you must mint a fresh session from `pk_` again. ### 3. Call API endpoints with the session token Every other Finvera endpoint accepts the session token as a standard bearer credential: ```bash theme={null} curl https://api.finvera.news/kms/api/v1/press-releases \ -H "Authorization: Bearer " ``` The request must come from the same Origin and the same network prefix the session was minted on. Sending a `pk_` directly to a data endpoint (without first exchanging it) returns `401 session_required`. ### 4. Sliding refresh (zero-effort token rotation) When a request is served past the halfway point of the session's TTL — and the session chain is still within `refresh_window_seconds` — the edge mints a fresh token and returns it on the response: ``` x-session-token: eyJhbGciOi… ← replace your in-memory token with this x-session-expires-at: 1747059300 ``` These headers are exposed via CORS (`Access-Control-Expose-Headers`), so browsers can read them. Clients should: 1. Inspect every response for `x-session-token`. 2. If present, replace the in-memory token with it (and update `expires_at`). 3. When the refresh window is exhausted, restart from step 1 — solve Turnstile and call `/v1/session` again. ### Error responses `/v1/session` returns JSON `{"error":""}` with these status codes: | Status | `error` | Meaning | | ------ | ------------------------------------------------------------ | ------------------------------------------- | | 401 | `publishable_key_required` | `x-api-key` is missing or not a `pk_` | | 401 | `unknown_key` | `pk_` is not recognised | | 401 | `key_revoked` | `pk_` was revoked | | 403 | `origin_required` / `origin_malformed` | `Origin` header missing or unparseable | | 403 | `origin_not_allowed` | `Origin` is not in this key's allowlist | | 403 | `turnstile_token_missing` | No `cf-turnstile-token` header | | 403 | `turnstile_verify_failed` | Turnstile siteverify rejected the token | | 403 | `turnstile_hostname_mismatch` | Widget hostname doesn't match `Origin` | | 403 | `turnstile_action_mismatch` | Widget action wasn't `mint_session` | | 403 | `turnstile_cdata_mismatch` | Widget cdata didn't match `sha256(pk_)` | | 429 | `rate_limited_ip` / `rate_limited_pk` / `rate_limited_pk_ip` | Mint rate limit hit | | 503 | `snapshot_unavailable` | Edge couldn't load the key snapshot — retry | Data-plane endpoints (with `Authorization: Bearer`) add: | Status | `error` | Meaning | | ------ | --------------------------------------------- | -------------------------------------------------------------- | | 401 | `session_expired` | Token TTL elapsed — refresh it | | 401 | `session_bad_signature` / `session_malformed` | Token was tampered with | | 401 | `session_mint_window_exceeded` | Session chain hit `refresh_window_seconds`; re-mint from `pk_` | | 401 | `session_revoked` | Underlying `pk_` was revoked | | 401 | `session_required` | You sent a `pk_` directly instead of a session token | | 403 | `session_origin_mismatch` | Request `Origin` differs from the one in the token | | 403 | `session_network_mismatch` | Caller's network prefix differs from the one in the token | *** ## Browser implementation (JavaScript / TypeScript) ```javascript theme={null} const API_BASE = "https://api.finvera.news"; const PUBLISHABLE_KEY = "pk_live_xxxxxxxxxxxxxxxx"; class FinveraClient { constructor() { this.token = null; this.expiresAt = 0; } // Called once after the Turnstile widget produces a token. async mintSession(turnstileToken) { const res = await fetch(`${API_BASE}/v1/session`, { method: "POST", headers: { "x-api-key": PUBLISHABLE_KEY, "cf-turnstile-token": turnstileToken, }, }); if (!res.ok) { const { error } = await res.json().catch(() => ({})); throw new Error(`session mint failed: ${error ?? res.status}`); } const body = await res.json(); this.token = body.token; this.expiresAt = body.expires_at * 1000; } async request(path, init = {}) { if (!this.token || Date.now() >= this.expiresAt) { throw new Error("no valid session — re-solve Turnstile and call mintSession()"); } const res = await fetch(`${API_BASE}${path}`, { ...init, headers: { ...(init.headers ?? {}), Authorization: `Bearer ${this.token}`, }, }); // Sliding refresh — pick up the rotated token if the edge issued one. const refreshed = res.headers.get("x-session-token"); if (refreshed) { this.token = refreshed; this.expiresAt = Number(res.headers.get("x-session-expires-at")) * 1000; } return res; } } ``` A few practical notes: * Keep the session token in memory only. Never persist it to `localStorage` — its short TTL plus origin/network binding is the protection. * The `Origin` header is set automatically by the browser; don't try to override it. * If you get `session_network_mismatch` you've roamed networks (e.g. Wi-Fi → cellular). Mint a fresh session. *** ## Server-to-server: secret keys For backend services, batch jobs, or any code running outside a browser, use a **secret key** (`sk_…` or `finvera_…`). Secret keys do **not** go through the session flow — they are sent directly on every request and validated at the origin. ```bash theme={null} curl https://api.finvera.news/kms/api/v1/press-releases \ -H "Authorization: Bearer sk_live_xxxxxxxxxxxxxxxx" ``` ```python theme={null} import os import requests API_BASE = "https://api.finvera.news" class FinveraClient: def __init__(self, secret_key: str): self.session = requests.Session() self.session.headers["Authorization"] = f"Bearer {secret_key}" def get(self, path: str, **kwargs): return self.session.get(f"{API_BASE}{path}", **kwargs) client = FinveraClient(os.environ["FINVERA_SECRET_KEY"]) resp = client.get("/kms/api/v1/press-releases") resp.raise_for_status() print(resp.json()) ``` Treat secret keys like any other credential: * Store them in your secret manager (Vault, AWS Secrets Manager, Doppler, …), never in source control. * Rotate them from the dashboard if you suspect exposure — revocation propagates to the edge within \~70 seconds. * Do not ship secret keys to browsers, mobile apps, or any user-controlled environment. Use a publishable key there instead. *** ## Choosing between `pk_` and `sk_` | Question | Use `pk_` + session | Use `sk_` | | --------------------------------------------------------------------------- | ------------------- | --------- | | Will the code run in a browser, mobile app, or other untrusted environment? | ✅ | ❌ | | Do you need per-Origin and per-network binding? | ✅ | ❌ | | Is the caller a server you control? | ❌ | ✅ | | Do you need long-lived, non-interactive access (cron, ETL)? | ❌ | ✅ | If you need both — a public web app *and* a backend that calls Finvera — provision one of each from the dashboard. # Fetch News Source: https://docs.finvera.ai/api-reference/catalyst-color/fetch-news get /api/v1/news Returns curated news for a given symbol and related filters. # Overview Source: https://docs.finvera.ai/api-reference/catalyst-color/news-overview The News API provides structured, real-time and historical access to market-moving news events across U.S.-listed companies. Designed for developers, trading platforms, and news aggregators, this API delivers enriched news articles with catalyst detection, security mapping, and metadata to power financial workflows and insights. ### Key Features * **Catalyst Detection**: Each article is enriched with a machine-generated catalyst summarizing the event's potential market impact — ideal for alerting or ranking. * **Security Mapping**: News stories are tagged with detailed security-level data including FIGIs, share class identifiers, tickers, and exchange metadata. * **Ticker Normalization**: Stories affecting multiple securities are de-duplicated and resolved to composite tickers and exchanges for precise targeting. * **Multichannel Attribution**: News is classified by type (e.g., gainers/losers) and linked with other relevant datasets like press releases, ratings, and transcripts. * **Rich Metadata**: Includes timestamps, headline content, logo thumbnails, and internal IDs for seamless frontend rendering or record linkage. * **Query Flexibility**: Filter by ticker, share class FIGI, type, ID, and pagination — with support for batch use cases or real-time feed polling. ### Coverage * **Universe**: U.S.-listed stocks including ADRs, common stock, and multi-exchange listings across NASDAQ, NYSE, OTC, and regional venues. * **Content Types**: Market movers, earnings reactions, leadership changes, FDA decisions, trial results, and more. * **Enrichment**: Catalysts are auto-detected for high-signal headlines, enabling low-latency event tracking and news-based trading models. ### Use Cases * Trigger portfolio or watchlist alerts based on real-time catalyst-based headlines * Feed high-impact news into trading models, dashboards, or mobile apps * Backtest news-based strategies using timestamped, security-linked data * Power personalized newsfeeds or event-driven content sections for investor portals * Detect spikes in correlated data like price movement, social sentiment, or analyst revisions The News API is built to deliver financial news as data — structured, attributed, and ready for real-time or historical use. Whether you're building a reactive UI or a signal pipeline, this endpoint provides the context and flexibility needed to integrate market-moving news seamlessly into your product or strategy. # Fetch Company Logos Source: https://docs.finvera.ai/api-reference/company-logos/fetch-logos-by-symbol get /api/v1/logos Fetch logos and related security information for a given company symbol. ```json Response (200 OK) theme={null} { "Logos": [ { "symbol": "AAPL", "company_name": "APPLE INC", "created_at": "2025-02-24T22:18:43Z", "updated_at": "2025-02-24T22:18:43Z", "logos": { "png": { "url": "https://d31b1il8wjbsxw.cloudfront.net/png_v3/BBG001S5N8V8.png", "height": 100, "width": 100, "size_kb": 100 }, "svg": { "url": "https://d31b1il8wjbsxw.cloudfront.net/svg_v3/BBG001S5N8V8.svg", "size_kb": 100 }, "thumbnail": { "url": "https://d31b1il8wjbsxw.cloudfront.net/svg_16_9_thumbnail_v2/BBG001S5N8V8.svg", "size_kb": 100 } }, "security_info": [ { "symbol": "AAPL", "name": "APPLE INC", "MIC": "", "figi": "BBG000N88Y58", "exch_code": "XF", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "", "figi": "BBG000N895L2", "exch_code": "XA", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XLON", "figi": "BBG000N890P9", "exch_code": "XL", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XSMP", "figi": "BBG000N88Z91", "exch_code": "XE", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "BOTC", "figi": "BBG00591FL58", "exch_code": "XV", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XLJU", "figi": "BBG000N890G9", "exch_code": "XJ", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XEUR", "figi": "BBG000N898Y2", "exch_code": "EU", "composite_figi": "BBG000N898C6", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XSWX", "figi": "BBG000LF8110", "exch_code": "SW", "composite_figi": "BBG000LF8110", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XBSE", "figi": "BBG002W8W0H8", "exch_code": "RE", "composite_figi": "BBG002W8W0G9", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "HOTC", "figi": "BBG000N89774", "exch_code": "XT", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XNGM", "figi": "BBG000N89140", "exch_code": "XG", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "BATS", "figi": "BBG000B9Y6P9", "exch_code": "UF", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XCIS", "figi": "BBG000B9XT70", "exch_code": "UC", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XLTY", "figi": "BBG00THD0WF2", "exch_code": "VL", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XMIP", "figi": "BBG00X1PKZF4", "exch_code": "VP", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "EDGX", "figi": "BBG000B9Y8J2", "exch_code": "VK", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XSWX", "figi": "BBG002JV1HL4", "exch_code": "SE", "composite_figi": "BBG000LF8110", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XTRX", "figi": "BBG00JN7C744", "exch_code": "XX", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "EDGA", "figi": "BBG000B9Y7W9", "exch_code": "VJ", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XNGS", "figi": "BBG000B9Y5X2", "exch_code": "UW", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "CAPA", "figi": "BBG00Q5MLT65", "exch_code": "X2", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XBOG", "figi": "BBG001BHSV80", "exch_code": "CX", "composite_figi": "BBG001BHSV71", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XBUD", "figi": "BBG000N88X32", "exch_code": "XH", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XCHI", "figi": "BBG000B9XYZ8", "exch_code": "UM", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "PFTS", "figi": "BBG00PVKFJF1", "exch_code": "UZ", "composite_figi": "BBG00PVKFJD3", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL*", "name": "APPLE INC", "MIC": "BIVA", "figi": "BBG00JX0P539", "exch_code": "MU", "composite_figi": "BBG000KWV421", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XOPV", "figi": "BBG000N891K2", "exch_code": "XO", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "ARCX", "figi": "BBG000B9XWM6", "exch_code": "UP", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "TWEA", "figi": "BBG00YJ6HW20", "exch_code": "X9", "composite_figi": "BBG00YJ6HW11", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "", "figi": "BBG00PPYC1C3", "exch_code": "EP", "composite_figi": "BBG00PPYC1B4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XMEX", "figi": "BBG00X1L4PD5", "exch_code": "VG", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XPSX", "figi": "BBG000B9XZT2", "exch_code": "UX", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "IEXG", "figi": "BBG00DJCT4Z6", "exch_code": "VF", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XNYS", "figi": "BBG000B9XVV8", "exch_code": "UN", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XASE", "figi": "BBG000B9XSK7", "exch_code": "UA", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XADF", "figi": "BBG000B9Y2J5", "exch_code": "UD", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XBOS", "figi": "BBG000B9XXW3", "exch_code": "UB", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "CHIX", "figi": "BBG000N88Y03", "exch_code": "XC", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "BATY", "figi": "BBG000B9Y7F8", "exch_code": "VY", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL*", "name": "APPLE INC", "MIC": "XMEX", "figi": "BBG000KWV421", "exch_code": "MM", "composite_figi": "BBG000KWV421", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XLIM", "figi": "BBG009S1W8D0", "exch_code": "PE", "composite_figi": "BBG009S1W8C1", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XBSE", "figi": "BBG002W8W0G9", "exch_code": "RO", "composite_figi": "BBG002W8W0G9", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XWAR", "figi": "BBG01NX6JHN5", "exch_code": "PW", "composite_figi": "BBG01NX6JHM6", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XOTC", "figi": "BBG000N88V36", "exch_code": "EO", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL*", "name": "APPLE INC", "MIC": "XMEX", "figi": "BBG000KWV4C0", "exch_code": "MF", "composite_figi": "BBG000KWV421", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XSGO", "figi": "BBG0032FLQC3", "exch_code": "CI", "composite_figi": "BBG0032FLQC3", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XBCL", "figi": "BBG0032FLQF0", "exch_code": "CE", "composite_figi": "BBG0032FLQC3", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XLIT", "figi": "BBG00PPYC1F0", "exch_code": "EZ", "composite_figi": "BBG00PPYC1D2", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XBRN", "figi": "BBG006M6ZN36", "exch_code": "BW", "composite_figi": "BBG000LF8110", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XSGO", "figi": "BBG0032FLQD2", "exch_code": "CC", "composite_figi": "BBG0032FLQC3", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XWBO", "figi": "BBG00GQ6RZH7", "exch_code": "AV", "composite_figi": "BBG00GQ6RZG8", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "", "figi": "BBG000N897T0", "exch_code": "XW", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "", "figi": "BBG000B9XRY4", "exch_code": "US", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "", "figi": "BBG000N896W8", "exch_code": "E1", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XBOG", "figi": "BBG001BHSV71", "exch_code": "CB", "composite_figi": "BBG001BHSV71", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XBOG", "figi": "BBG001BHSV71", "exch_code": "CB", "composite_figi": "BBG001BHSV71", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "", "figi": "BBG000N88Y58", "exch_code": "XF", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "", "figi": "BBG000N895L2", "exch_code": "XA", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XLON", "figi": "BBG000N890P9", "exch_code": "XL", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XSMP", "figi": "BBG000N88Z91", "exch_code": "XE", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "BOTC", "figi": "BBG00591FL58", "exch_code": "XV", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XLJU", "figi": "BBG000N890G9", "exch_code": "XJ", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XEUR", "figi": "BBG000N898Y2", "exch_code": "EU", "composite_figi": "BBG000N898C6", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XSWX", "figi": "BBG000LF8110", "exch_code": "SW", "composite_figi": "BBG000LF8110", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XBSE", "figi": "BBG002W8W0H8", "exch_code": "RE", "composite_figi": "BBG002W8W0G9", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "HOTC", "figi": "BBG000N89774", "exch_code": "XT", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XNGM", "figi": "BBG000N89140", "exch_code": "XG", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "BATS", "figi": "BBG000B9Y6P9", "exch_code": "UF", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XCIS", "figi": "BBG000B9XT70", "exch_code": "UC", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XLTY", "figi": "BBG00THD0WF2", "exch_code": "VL", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XMIP", "figi": "BBG00X1PKZF4", "exch_code": "VP", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "EDGX", "figi": "BBG000B9Y8J2", "exch_code": "VK", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XSWX", "figi": "BBG002JV1HL4", "exch_code": "SE", "composite_figi": "BBG000LF8110", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XTRX", "figi": "BBG00JN7C744", "exch_code": "XX", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "EDGA", "figi": "BBG000B9Y7W9", "exch_code": "VJ", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XNGS", "figi": "BBG000B9Y5X2", "exch_code": "UW", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "CAPA", "figi": "BBG00Q5MLT65", "exch_code": "X2", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XBOG", "figi": "BBG001BHSV80", "exch_code": "CX", "composite_figi": "BBG001BHSV71", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XBUD", "figi": "BBG000N88X32", "exch_code": "XH", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XCHI", "figi": "BBG000B9XYZ8", "exch_code": "UM", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "PFTS", "figi": "BBG00PVKFJF1", "exch_code": "UZ", "composite_figi": "BBG00PVKFJD3", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL*", "name": "APPLE INC", "MIC": "BIVA", "figi": "BBG00JX0P539", "exch_code": "MU", "composite_figi": "BBG000KWV421", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "XOPV", "figi": "BBG000N891K2", "exch_code": "XO", "composite_figi": "BBG000N88V36", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" }, { "symbol": "AAPL", "name": "APPLE INC", "MIC": "ARCX", "figi": "BBG000B9XWM6", "exch_code": "UP", "composite_figi": "BBG000B9XRY4", "share_class_figi": "BBG001S5N8V8", "market_sector": "Equity" } ], "message": "Logos fetched successfully" } ``` # Fetch Private Company Logo Source: https://docs.finvera.ai/api-reference/company-logos/fetch-private-company-logos get /api/v1/logos/private Fetch a logo for a private (non-exchange-listed) company. Exactly one of the query parameters `id`, `domain`, or `lei` must be provided. ```json Response (200 OK) — resolved by domain theme={null} { "id": "logo_01HKQXR8M3GQVZP4N9RT2YS5BD", "domain": "stripe.com", "logos": [ { "type": "svg", "url": "https://assets.finvera.ai/private/svg/stripe.com.svg" }, { "type": "png", "url": "https://assets.finvera.ai/private/png/stripe.com.png" }, { "type": "webp", "url": "https://assets.finvera.ai/private/webp/stripe.com.webp" } ] } ``` ```json Response (200 OK) — resolved by LEI theme={null} { "id": "logo_01HKQXR8M3GQVZP4N9RT2YS5BD", "domain": "stripe.com", "lei": "549300TRUWO2CD2G5692", "logos": [ { "type": "svg", "url": "https://assets.finvera.ai/private/svg/stripe.com.svg" }, { "type": "png", "url": "https://assets.finvera.ai/private/png/stripe.com.png" } ] } ``` ```json Response (400 Bad Request) theme={null} { "error": "provide one of ?id=, ?domain=, or ?lei=" } ``` ```json Response (404 Not Found) theme={null} { "error": "logo not found" } ``` # Overview Source: https://docs.finvera.ai/api-reference/company-logos/logos-overview This API providess high quality company logos for brokerage display. Historically, this API has increased trade volume in a subtle way. The Company Logo API provides fast, reliable access to high-quality logos for both publicly traded and private companies worldwide, designed to enhance investor dashboards, news platforms, and research tools with clean visual branding. The API returns logos in SVG, PNG, and WebP formats, supporting multiple sizes and orientations for different UI use cases. ### Endpoints The Company Logo API offers two ways to retrieve logos: * **Fetch Logos by Symbol** (`/api/v1/logos`): Retrieve logos for publicly traded companies using a ticker symbol. Returns logos along with detailed security information across global exchanges. * **Fetch Private Company Logos** (`/api/v1/logos/private`): Retrieve logos for private (non-exchange-listed) companies. Resolve a logo using exactly one of a stable logo `id`, a web `domain` (e.g. `stripe.com`), or a 20-character `lei` (Legal Entity Identifier). ### Key Features * Public & Private Coverage: Retrieve logos for publicly traded companies across all major global exchanges, as well as private (non-exchange-listed) companies. * Global Coverage: Supports public companies across all major global exchanges, including U.S., Europe, Asia, and emerging markets. * Multiple Formats: Logos are available in SVG (vector) for scalable use, and PNG and WebP for rapid rendering on web and mobile. * Responsive Variants: Choose from thumbnail, square, or landscape formats to suit your layout — whether it's a compact ticker list or a full company profile. * High-Quality Assets: All logos are curated for clarity and accuracy, with transparent backgrounds and color-corrected rendering. * Flexible Querying: Retrieve public company logos using a ticker symbol, or resolve private company logos by stable logo ID, web domain, or LEI. ### Format Types * SVG: Scales well. Best for mobile applications that support various device sizes. Security Master Autocomplete * PNG: Best for simple integrations. Security Master Autocomplete * WebP: Smaller file sizes with high quality. Available for private company logos and ideal for performance-sensitive web applications. ### Coverage * Public Companies: Logos for companies listed on exchanges including NYSE, NASDAQ, LSE, Euronext, TSX, TSE, HKEX, and more. * Private Companies: Logos for non-exchange-listed companies, resolvable by logo ID, web domain, or LEI. * Asset Types: Common stocks, ETFs, ADRs, REITs, and other equity-linked products. * Update Frequency: Regularly refreshed to reflect logo changes from rebranding, mergers, or spin-offs. ### Use Cases * Add logos to watchlists, quote pages, and portfolio summaries * Enrich news articles or earnings coverage with branded visuals * Display branding for private companies in funding, M\&A, and pre-IPO coverage * Power white-label financial apps with consistent branding elements * Replace brittle manual logo sourcing pipelines with a robust, API-first solution # Error Handling Source: https://docs.finvera.ai/api-reference/error-handling How to handle errors with our API endpoints Finvera’s API provides clear and structured error responses to help developers diagnose and resolve issues efficiently. Below is a breakdown of common errors, their meanings, and best practices for handling them. ### **Error Response Format** All error responses follow a standardized JSON format: ```json theme={null} { "error": { "code": 400, "message": "Invalid request parameters", "details": "The 'symbol' parameter is required" } } ``` ### Common Error Codes & Their Causes | **HTTP Status Code** | **Error Type** | **Description** | | ----------------------------- | ------------------------ | ------------------------------------------------------------------------------------ | | **400 Bad Request** | Invalid Parameters | The request contains malformed or missing parameters. | | **401 Unauthorized** | Invalid API Key | Authentication is missing or incorrect. Ensure you include the Bearer token. | | **403 Forbidden** | Insufficient Permissions | The request is valid but the API key does not have access to the requested resource. | | **404 Not Found** | Resource Not Found | The requested endpoint or data does not exist. | | **429 Too Many Requests** | Rate Limit Exceeded | The request limit has been reached; slow down requests or upgrade your plan. | | **500 Internal Server Error** | Unexpected Error | A server-side issue occurred; retry later or contact support. | ### **Best Practices for Handling Errors** 1. **Check Error Messages:** Every error response includes a descriptive message to help pinpoint the issue. 2. **Implement Retries with Backoff:** Use exponential backoff (e.g., 1s, 2s, 4s) when handling transient errors like `429 Too Many Requests` or `500 Internal Server Error`. 3. **Validate Requests Before Sending:** Ensure required parameters are included and correctly formatted. 4. **Monitor Rate Limits:** Avoid hitting rate limits by keeping track of API usage and applying caching strategies. 5. **Graceful Degradation:** If an error occurs, provide fallback behavior (e.g., displaying cached data instead of failing completely). 6. **Log Errors:** Capture and analyze errors to improve request handling and debug failures efficiently. By following these guidelines, you can ensure smooth and resilient API integrations. For persistent issues, please reach out for assistance. # Overview Source: https://docs.finvera.ai/api-reference/events/events-overview The Events API provides developers with programmatic access to market-moving events detected across financial news, filings, transcripts, and other structured and unstructured sources. Each event is enriched with associated securities, sentiment, and contextual metadata so it can be consumed directly by downstream alerting, research, and trading systems. ### Key Features * Unified Event Feed: Access a normalized stream of financial events across earnings, guidance, M\&A, management changes, regulatory actions, and more. * Rich Metadata: Every event is tagged with type, source, sentiment, and temporal information for downstream analysis. * Linked Securities: Events are joined to the securities they impact, including FIGI, ISIN, symbol, and exchange identifiers. * Historical Access: Query past events by date range, ticker, or event type. * Lightweight JSON Format: All responses are returned in clean, developer-friendly JSON, optimized for downstream analytics and automation. ### Coverage * Universe: Focused on Russell 3000 with expanding support for S\&P 500 and other U.S. equities. * Update Frequency: Events are published shortly after detection in upstream sources. * Languages: English only. ### Use Cases * Powering event-driven trading strategies * Building real-time alerting and notification systems * Enriching research dashboards with timely event context * Backtesting strategies against historical event streams # Get Event by ID Source: https://docs.finvera.ai/api-reference/events/fetch-event-by-id get /api/v1/events/{event_id} Get a single event by its event_id. ```json Response (200 OK) theme={null} { "event_id": "4be8fed5-f9db-41ef-a107-c20c3339998d", "title": "Example Corp reports Q1 earnings beat", "headline": "Example Corp tops Q1 estimates on strong product demand.", "description": "Example Corp reported quarterly earnings that exceeded analyst expectations, driven by higher product demand and improved operating margins.", "symbol": "EXMP", "exchange": "XNAS", "figis": [ "BBG000BXXXXX" ], "event_type": "EARNINGS", "source": "PRESS_RELEASE", "sentiment": 0.82, "occurred_at": "2025-04-23T11:34:15-04:00", "created_at": "2025-04-23T15:34:15Z", "updated_at": "2025-04-23T15:34:15Z", "securities": [ { "figi": "BBG000BXXXXX", "isin": "US0000000000", "name": "EXAMPLE CORP", "symbol": "EXMP", "mic_code": "XNAS", "figi_composite": "BBG000BXXXXX", "figi_share_class": "BBG001SXXXXX", "refinitiv_exch_code": "NAS" } ] } ``` # Get Events Source: https://docs.finvera.ai/api-reference/events/fetch-events get /api/v1/events Get a paginated list of events. ```json Response (200 OK) theme={null} { "data": [ { "event_id": "4be8fed5-f9db-41ef-a107-c20c3339998d", "title": "Example Corp reports Q1 earnings beat", "headline": "Example Corp tops Q1 estimates on strong product demand.", "description": "Example Corp reported quarterly earnings that exceeded analyst expectations, driven by higher product demand and improved operating margins.", "symbol": "EXMP", "exchange": "XNAS", "figis": [ "BBG000BXXXXX" ], "event_type": "EARNINGS", "source": "PRESS_RELEASE", "sentiment": 0.82, "occurred_at": "2025-04-23T11:34:15-04:00", "created_at": "2025-04-23T15:34:15Z", "updated_at": "2025-04-23T15:34:15Z", "securities": [ { "figi": "BBG000BXXXXX", "isin": "US0000000000", "name": "EXAMPLE CORP", "symbol": "EXMP", "mic_code": "XNAS", "figi_composite": "BBG000BXXXXX", "figi_share_class": "BBG001SXXXXX", "refinitiv_exch_code": "NAS" } ] } ], "message": "Successfully fetched events", "pagination": { "hits": 1, "page": 1, "page_count": 1, "page_size": 18 } } ``` # Balance sheets Source: https://docs.finvera.ai/api-reference/fundamentals/balance-sheets get /v1/fundamentals/balance-sheet Retrieve standardized balance sheet statements with pagination and filters. ```json Response (200 OK) theme={null} { "next_url": "https://api.finvera.news/stocks/v1/fundamentals/balance-sheet?cursor=AAECAAFkAAEBB_uYng==", "request_id": "2946ffbdcbd942dd9d96fac51f4f0b09", "results": [ { "accumulated_retained_earnings": 923500000, "acquired_goodwill": 199700000, "advance_customer_payments": 181000000, "capital_paid_in_excess": 607900000, "cash_and_short_term_equivalents": 94300000, "cik": "0000866729", "current_accrued_liabilities": 253700000, "customer_receivables": 241300000, "fiscal_quarter": 1, "fiscal_year": 2026, "long_term_debt_obligations": 325000000, "long_term_miscellaneous_liabilities": 120200000, "miscellaneous_assets": 332100000, "miscellaneous_current_assets": 72400000, "net_fixed_assets": 512500000, "net_intangible_assets": 180100000, "ordinary_share_capital": 400000, "other_comprehensive_income_accumulated": -37700000, "other_stockholder_equity": 0, "parent_company_equity": 878000000, "payable_to_suppliers": 175800000, "reporting_period_end": "2025-08-31", "short_term_debt_obligations": 20900000, "stock_inventory": 322200000, "sum_of_current_assets": 730200000, "sum_of_current_liabilities": 631400000, "symbols": [ "SCHL" ], "timeframe": "quarterly", "total_assets": 1954600000, "total_equity": 878000000, "total_liabilities": 1076600000, "total_liabilities_plus_equity": 1954600000, "treasury_stock": -616100000 }, { "accumulated_retained_earnings": -14054000000, "acquired_goodwill": 62211000000, "advance_customer_payments": 12098000000, "cash_and_short_term_equivalents": 10445000000, "cik": "0001341439", "current_accrued_liabilities": 10494000000, "customer_receivables": 8843000000, "fiscal_quarter": 1, "fiscal_year": 2026, "long_term_debt_obligations": 82236000000, "long_term_miscellaneous_liabilities": 33673000000, "marketable_securities_short_term": 560000000, "minority_shareholder_interest": 512000000, "miscellaneous_assets": 36243000000, "miscellaneous_current_assets": 4786000000, "net_fixed_assets": 53194000000, "net_intangible_assets": 4167000000, "ordinary_share_capital": 39378000000, "other_comprehensive_income_accumulated": -1170000000, "other_stockholder_equity": 0, "parent_company_equity": 24154000000, "payable_to_suppliers": 8203000000, "reporting_period_end": "2025-08-31", "short_term_debt_obligations": 9079000000, "sum_of_current_assets": 24634000000, "sum_of_current_liabilities": 39874000000, "symbols": [ "ORCL" ], "timeframe": "quarterly", "total_assets": 180449000000, "total_equity": 24666000000, "total_liabilities": 155783000000, "total_liabilities_plus_equity": 180449000000 } ], "status": "OK" } ``` # Cash flow statements Source: https://docs.finvera.ai/api-reference/fundamentals/cash-flow-statements get /v1/fundamentals/cash-flow-statement Retrieve standardized cash flow statements with pagination and filters. ```json Response (200 OK) theme={null} { "next_url": "https://api.finvera.news/stocks/v1/fundamentals/cash-flow-statement?cursor=AAECAAFkAAEBB_ucng==", "request_id": "7f36362260ad425f9083f652303a4b69", "results": [ { "capital_expenditures_cash": -67200000, "cik": "0000866729", "depreciation_amortization_expense": 111800000, "dividends": -22100000, "financing_cash_flow_continuing_ops": -7800000, "financing_cash_flow_total": -7800000, "fiscal_quarter": 1, "fiscal_year": 2026, "foreign_exchange_impact": 700000, "investing_cash_flow_continuing_ops": -67000000, "investing_cash_flow_total": -67000000, "long_term_debt_transactions": 77700000, "miscellaneous_financing_activities": -63200000, "miscellaneous_investing_activities": 100000, "miscellaneous_operating_activities": 25200000, "net_cash_change_period": 10200000, "net_income": -10500000, "operating_cash_flow_continuing_ops": 84300000, "operating_cash_flow_total": 84300000, "reporting_period_end": "2025-08-31", "symbols": [ "SCHL" ], "timeframe": "trailing_twelve_months", "working_capital_changes_net": -38600000 }, { "capital_expenditures_cash": -14900000, "cik": "0000866729", "depreciation_amortization_expense": 26500000, "dividends": -5200000, "financing_cash_flow_continuing_ops": 66800000, "financing_cash_flow_total": 66800000, "fiscal_quarter": 1, "fiscal_year": 2026, "foreign_exchange_impact": 200000, "investing_cash_flow_continuing_ops": -14900000, "investing_cash_flow_total": -14900000, "long_term_debt_transactions": 71100000, "miscellaneous_financing_activities": 900000, "miscellaneous_investing_activities": 0, "miscellaneous_operating_activities": 8700000, "net_cash_change_period": -29700000, "net_income": -71100000, "operating_cash_flow_continuing_ops": -81800000, "operating_cash_flow_total": -81800000, "reporting_period_end": "2025-08-31", "symbols": [ "SCHL" ], "timeframe": "quarterly", "working_capital_changes_net": -45900000 } ], "status": "OK" } ``` # Overview Source: https://docs.finvera.ai/api-reference/fundamentals/fundamentals-overview The Fundamentals API provides standardized financial statements for publicly traded companies, including balance sheets, income statements, and cash flow statements. This REST API offers comprehensive financial data with flexible filtering, sorting, and pagination capabilities. Access three core financial statement types: * **Balance Sheets** - Assets, liabilities, and equity positions * **Income Statements** - Revenue, expenses, and profitability metrics * **Cash Flow Statements** - Operating, investing, and financing cash flows The API supports quarterly and annual reporting periods, with cash flow statements also available as trailing twelve months data. ## Key Features ### Flexible Filtering Query financial data using multiple filter criteria: * Company identification via CIK (Central Index Key) or ticker symbols * Time-based filtering by fiscal year, quarter, or specific period end dates * Timeframe selection (quarterly, annual, trailing\_twelve\_months) ### Pagination & Sorting * Cursor-based pagination with configurable page sizes (1-1000 records) * Sort by period end date, fiscal year, or fiscal quarter in ascending/descending order * Navigation links provided in responses for seamless data traversal ### Standardized Data Structure All financial metrics are normalized and consistently formatted across companies, enabling reliable cross-company analysis and historical comparisons. ## Base URL All endpoints are accessible via: ``` https://api.finvera.news/stocks ``` This API is ideal for financial analysis applications, portfolio management systems, and research platforms requiring reliable, standardized financial statement data. # Income statements Source: https://docs.finvera.ai/api-reference/fundamentals/income-statements get /v1/fundamentals/income-statement Retrieve standardized income statements with pagination and filters. ```json Response (200 OK) theme={null} { "next_url": "https://api.finvera.news/stocks/v1/fundamentals/income-statement?cursor=AAECAAFkAAEBB_ucng==", "request_id": "570da25ecda04e8cb3bc9457d3bcf62e", "results": [ { "cik": "0000866729", "consolidated_net_earnings": -71100000, "cost_of_revenue": 123500000, "depreciation_amortization_total": 16300000, "earnings_per_share_basic": -2.83, "earnings_per_share_diluted": -2.83, "ebitda": -64900000, "fiscal_quarter": 1, "fiscal_year": 2026, "gross_profit": 102100000, "income_from_operations": -92200000, "income_taxes": -25900000, "interest_expense": -4500000, "miscellaneous_operating_expenses": 800000, "net_income_common_stockholders": -71100000, "non_operating_income_expense": -300000, "non_operating_items_net": -4800000, "operating_expenses_total": 194300000, "pre_tax_income": -97000000, "reporting_period_end": "2025-08-31", "revenue": 225600000, "sales_general_admin_expenses": 177200000, "symbols": [ "SCHL" ], "timeframe": "quarterly", "weighted_average_shares_basic": 25200000, "weighted_average_shares_diluted": 25200000 }, { "cik": "0000866729", "consolidated_net_earnings": -10500000, "cost_of_revenue": 714000000, "depreciation_amortization_total": 66700000, "earnings_per_share_basic": -0.69, "earnings_per_share_diluted": -0.71, "ebitda": 108300000, "fiscal_quarter": 1, "fiscal_year": 2026, "gross_profit": 899900000, "income_from_operations": 12100000, "income_taxes": 4000000, "interest_expense": -19700000, "interest_income": 2200000, "miscellaneous_operating_expenses": 3700000, "net_income_common_stockholders": -10500000, "non_operating_income_expense": -1100000, "non_operating_items_net": -18600000, "operating_expenses_total": 887800000, "pre_tax_income": -6500000, "reporting_period_end": "2025-08-31", "revenue": 1613900000, "sales_general_admin_expenses": 817400000, "symbols": [ "SCHL" ], "timeframe": "trailing_twelve_months", "weighted_average_shares_basic": 27200000, "weighted_average_shares_diluted": 27300000 } ], "status": "OK" } ``` # Introduction Source: https://docs.finvera.ai/api-reference/introduction The Finvera API enables developers to retrieve various financial datasets that power firms from fintech startups, to enterprise brokerage applications.
Get Started with Finvera

Create your free trial API key to start exploring our financial datasets.

## Authentication All Finvera API endpoints are authenticated using query parameter authentication. Once you have copied the key from the dashboard, you can authenticate the endpoint. Fetch your API key in the [API Key Management Dashboard](https://dashboard.finvera.ai/sign-up). For example: ```json theme={null} https://api.finvera.news/delivery/api/v1/calls?apikey=123456789 ``` More details on alternative authentication methods such as JWT Authentication can be found [here](https://docs.finvera.ai/api-reference/authentication). ## Rate Limits To ensure fair usage and system stability, we enforce rate limits: * **Standard Tier**: 60 requests per minute * **Enterprise Tier**: Custom rate limits available If you exceed your rate limit, you will receive a `429 Too Many Requests` response. Consider implementing exponential backoff when retrying requests. More information on error handling can be found [here](https://docs.finvera.ai/api-reference/error-handling). ## Query Parameters To optimize data retrieval, the API supports query parameters for filtering and pagination. #### **Common Query Parameters:** * `limit`: Number of results per request (default: 50, max: 500) * `offset`: Pagination offset for large result sets * `sort`: Sort results by a specific field (`asc` or `desc`) * `date_range`: Filter results within a specific date range (`YYYY-MM-DD` format) * `symbol`: Retrieve data for a specific stock ticker ### **Best Practices for API Performance** 1. **Use Pagination:** Avoid retrieving large datasets in a single request. 2. **Cache Responses:** Use Redis or other caching mechanisms to store frequent queries. 3. **Optimize Queries:** Filter data at the API level to reduce response payloads. 4. **Batch Requests:** When possible, use batch endpoints instead of multiple single calls. 5. **Monitor Usage:** Use AltData’s API analytics to track usage and optimize accordingly. For further details, explore each API section with code examples and integration tips. # Get Historical OHLC Data Source: https://docs.finvera.ai/api-reference/market-data/get-custom-bars-data get /v2/aggs/ticker/{symbol}/range/{multiplier}/{timespan}/{from}/{to} Fetch aggregated historical OHLC (Open, High, Low, Close) and volume data for a chosen stock symbol over a custom date range and interval in US Eastern Time (ET). Each bar is built exclusively from trades that meet specified criteria—if no eligible trades occur in an interval, no bar is generated, indicating a period of inactivity. You can adjust the multiplier and timespan parameters (for example, 5-minute bars) and include pre-market, regular market, and after-hours sessions. This level of control supports a wide array of analytical and visualization use cases. # Get Quotes Source: https://docs.finvera.ai/api-reference/market-data/get-quotes-stock-data get /v3/quotes/{symbol} Fetch National Best Bid and Offer (NBBO) quotes for a given stock symbol across a specified time window. Each entry captures the top‐of‐book bid and ask prices, sizes, corresponding exchanges, and precise timestamps. This historical NBBO snapshot empowers users to track price dynamics, assess liquidity at the best bid and ask, and refine trading strategies or support research analyses. # Get Trades Source: https://docs.finvera.ai/api-reference/market-data/get-trades-stock-data get /v3/trades/{symbol} Fetch detailed, tick-by-tick trade data for a chosen stock symbol over a specified time interval. Each entry records the trade price, size, executing exchange, trade conditions, and exact timestamp. This granular dataset underpins the construction of aggregated bars and comprehensive analyses by logging every eligible transaction used to calculate open, high, low, and close values. Leveraging these trades lets users deepen their insight into intraday price behavior, rigorously test and optimize algorithmic strategies, and maintain a fully auditable record of market activity. # Overview Source: https://docs.finvera.ai/api-reference/market-data/market-data-overview The market data endpoint provides users with access to equities data SIP feeds. ## Overview Finvera provides access to **U.S. equities SIP feeds** (CTA + UTP) via both REST API and WebSocket.\ These are the **official SEC-mandated consolidated feeds** that aggregate quotes and trades across all U.S. exchanges. All **real-time** and **delayed intraday** SIP data requires **exchange licensing fees**. Fees are determined by the **subscriber classification** (professional vs non-professional) and the **type of usage** (display vs non-display). Historical data (T+1 and older) does **not** require exchange licensing. *** ## Licensing Tiers & Use Cases | Subscription Tier | Display Use | Non-display Use | Applicable Fee Requirements | | -------------------- | ------------------- | ------------------- | ------------------------------------------ | | **Non-Professional** | Standard pricing | Standard pricing | Requires SIP license at standard rates | | **Professional** | Higher tier pricing | Higher tier pricing | Requires SIP license at professional rates | * **Display Use**: Data shown to end users via UI (e.g., dashboards, apps). * **Non-Display Use**: Backend systems, servers, analytics, or algorithmic strategies. Finvera passes through **exact SIP fees** with no markup. A small payment processing surcharge may apply if we collect the fees on behalf of the SIP. *** ### Key Features * Fetch National Best Bid and Offer (NBBO) quotes for a given stock symbol across a specified time window. Each entry captures the top‐of‐book bid and ask prices, sizes, corresponding exchanges, and precise timestamps. This historical NBBO snapshot empowers users to track price dynamics, assess liquidity at the best bid and ask, and refine trading strategies or support research analyses. * Fetch detailed, tick-by-tick trade data for a chosen stock symbol over a specified time interval. Each entry records the trade price, size, executing exchange, trade conditions, and exact timestamp. This granular dataset underpins the construction of aggregated bars and comprehensive analyses by logging every eligible transaction used to calculate open, high, low, and close values. Leveraging these trades lets users deepen their insight into intraday price behavior, rigorously test and optimize algorithmic strategies, and maintain a fully auditable record of market activity. * Fetch aggregated historical OHLC (Open, High, Low, Close) and volume data for a chosen stock symbol over a custom date range and interval in US Eastern Time (ET). Each bar is built exclusively from trades that meet specified criteria — if no eligible trades occur in an interval, no bar is generated, indicating a period of inactivity. You can adjust the multiplier and timespan parameters (for example, 5-minute bars) and include pre-market, regular market, and after-hours sessions. This level of control supports a wide array of analytical and visualization use cases. ## Real-Time SIP Data * **Definition**: Live, consolidated quotes and trades from CTA (Tape A/B) and UTP (Tape C). * **Licensing**: Required for all subscribers (pro and non-pro). * **Fee Model**: * Fees depend on classification (pro vs non-pro) and display vs non-display usage. * Delivery method (API vs WebSocket) does **not** affect licensing. *** ## Delayed SIP Data * **Definition**: Market data delayed by **15 minutes**, as defined by the SIP plans. * **Licensing**: Still required. Delayed does **not** mean free. * **Use Cases**: Retail dashboards, investor portals, or research platforms that can tolerate latency. *** ## Historical Data (T+1+) * **Definition**: SIP data from the prior trading day and older. * **Licensing**: Not subject to SIP licensing. * **Billing**: Covered under Finvera’s historical data pricing. *** ## How It Works — Finvera Workflow 1. **User Provisioning** * Select SIP data (CTA + UTP). * Indicate usage type (display vs non-display) and subscriber tier (pro vs non-pro). 2. **Licensing Quote** * Finvera calculates required SIP license fees and provides an estimated breakdown. 3. **Payment & Collection** * Fees may be collected by Finvera on behalf of the SIP, at exchange rates plus any processing fee. 4. **Access Granted** * Once licensing is validated, real-time and/or delayed SIP data is accessible via API or WebSocket. 5. **Ongoing Compliance** * Users are responsible for maintaining accurate classification as usage evolves. *** ## Glossary * **SIP (Securities Information Processor)**: SEC-designated system that consolidates U.S. exchange trades and quotes. * **CTA**: Consolidated Tape Association — covers Tape A (NYSE) and Tape B (Amex/Arca). * **UTP**: Unlisted Trading Privileges Plan — covers Tape C (Nasdaq). * **Real-time Data**: Live, consolidated trades and quotes. * **Delayed Data**: Same as real-time, but 15 minutes delayed. * **Historical Data (T+1+)**: SIP data from prior trading days; not subject to SIP licensing. * **Display Use**: Data shown on screens/dashboards for end users. * **Non-Display Use**: Data used in back-end servers, analytics, or algorithms. * **Professional vs Non-Professional**: Classification that determines the applicable SIP fee schedule. *** ### FAQs No—it’s identical. Licensing is based on venue and usage, not transport method. No. Delayed intraday data generally still requires licensing, though often at a lower tier. Historical (T+1+) data typically does not need exchange licensing and is billed separately by Finvera. Ask whether you're a retail investor or using data for internal/professional purposes such as trading systems, analytics, or commercial apps. Finvera offers a simple classification tool in our onboarding docs. # Fetch Press Releases Source: https://docs.finvera.ai/api-reference/press-releases/get-press-release-data get /api/v1/data Real-time, aggregated, corporate press releases delivered via REST API. ```json Response (200 OK) theme={null} [ { "WireDataID": "c67b9b08-050e-4400-8057-aae8226d86ef", "Vendor": "globenewswire", "ReleaseID": "map[#text:https://www.globenewswire.com/news-release/2025/11/21/3192931/0/en/Onfolio-Holdings-Receives-4-75M-in-Investment-Proceeds.html -isPermaLink:true]", "ExternalID": "3192931", "TransmissionID": "", "Headline": "Onfolio Holdings Receives $4.75M in Investment Proceeds", "SubHeadline": "", "Dateline": "", "Language": "en", "PublishTime": "2025-11-21T17:22:06.914539Z", "Source": "globenewswire", "SourceURL": "https://www.globenewswire.com/news-release/2025/11/21/3192931/0/en/Onfolio-Holdings-Receives-4-75M-in-Investment-Proceeds.html", "Summary": "...", "BodyHTML": "

Company will use approximately $2.35M for growth, debt repayment and working capital; and approximately $2.4M will be allocated to digital assets for yield generation and treasury strategy

WILMINGTON, Del., Nov. 21, 2025 (GLOBE NEWSWIRE) -- Onfolio Holdings Inc. (Nasdaq: ONFO, ONFOW) (OTC: ONFOP) (the \"Company\" or \"Onfolio\"), a company that combines digital assets, DeFi yield, and cash-flowing online businesses, today announced that it has received $4.75 million in investment proceeds under its previously announced financing agreement.

The Company has allocated approximately $2.35 million toward business growth initiatives, repayment of debt and working capital, and approximately $2.4 million toward purchases of BTC, ETH, and SOL as part of its digital-asset treasury strategy designed to generate yield and upside.

The company expects to complete the cryptocurrency purchases over the coming weeks.

“We’re going to use this capital to increase our cashflow via interest payment reductions, and injecting growth capital into the operating portfolio,” said Onfolio CEO Dom Wells.

“Starting our digital asset treasury at a time when cryptocurrency pricing has come down from its highs is also an exciting opportunity. We are aiming to make this initial tranche of capital transformational, and over the coming weeks will be keeping shareholders updated on debt repayment, cryptocurrency purchases, and growth milestones] as they occur,” concluded Wells.

Onfolio currently generates over $12 million in annualized revenue, driven by profitable operating units across its portfolio. The repayment of certain notes and debt using a portion of the proceeds is expected to reduce interest obligations, improve cash flow, and strengthen the Company’s path toward consolidated profitability.

About Onfolio Holdings
Onfolio Holdings Inc. (Nasdaq: ONFO) acquires and operates profitable online businesses across diverse verticals, including marketing, education, and e-commerce. The Company’s next evolution – a dual-engine compounding strategy – integrates real-world earnings with a diversified digital-asset treasury to drive sustainable, inflation-resistant growth.

Visit www.onfolio.com for more information.

Forward-Looking Statements

Certain statements in this press release are “forward-looking statements” within the meaning of the “safe Harbor” provisions of the United States Private Securities Litigation Reform Act of 1995. When used in this press release, words such as “estimated”, “projected” , “expect”, “anticipate”, “predict”, “plan”, “intend”, “believe”, “seek”, “may”, “will”, “should”, “future”, “propose” and variations of these words or similar expressions (or the opposite of such words or expressions) are intended to identify forward-looking statements. These forward-looking statements do not guarantee future performance, conditions or results and involve a number of known and unknown risks, uncertainties, assumptions and other important factors, many of which are outside the Company’s control and may cause actual results or achievements to differ materially from those discussed in the forward-looking statements. Important factors include future financial and operating results, including revenues, income, expenses, cash balances and other financial items; our ability to manage growth and expansion; current and future economic and political conditions; the ability to compete in industries with low barriers to entry; the ability to obtain additional financing to fund capital expenditure in the future, the ability to attract new customers and further enhance brand awareness; the ability to hire and retain qualified management and key staff; trends and competition in the industries in which our businesses operate; and outbreaks of pandemic or epidemic disease. Except as required by law, the Company undertakes no obligation to update forward-looking statements to reflect subsequent occurring events or circumstances, or changes in its expectations. Although the Company believes that the expectations expressed in these forward-looking statements are reasonable, the Company cannot assure you that such expectations will turn out to be correct, and the Company cautions you that actual results may differ materially from the expected results expressed or implied by the forward-looking statements we make. You should not interpret forward-looking statements as predictions of future events. Forward-looking statements represent only the beliefs and assumptions of our management as of the date such statements are made.

Investor Contact
investors@onfolio.com


\"\"", "BodyText": "Company will use approximately $2.35M for growth, debt repayment and working capital; and approximately $2.4M will be allocated to digital assets for yield generation and treasury strategy WILMINGTON, Del., Nov. 21, 2025 (GLOBE NEWSWIRE) -- Onfolio Holdings Inc. (Nasdaq: ONFO, ONFOW) (OTC: ONFOP) (the \"Company\" or \"Onfolio\"), a company that combines digital assets, DeFi yield, and cash-flowing online businesses, today announced that it has received $4.75 million in investment proceeds under its previously announced financing agreement. The Company has allocated approximately $2.35 million toward business growth initiatives, repayment of debt and working capital, and approximately $2.4 million toward purchases of BTC, ETH, and SOL as part of its digital-asset treasury strategy designed to generate yield and upside. The company expects to complete the cryptocurrency purchases over the coming weeks. “We’re going to use this capital to increase our cashflow via interest payment reductions, and injecting growth capital into the operating portfolio,” said Onfolio CEO Dom Wells. “Starting our digital asset treasury at a time when cryptocurrency pricing has come down from its highs is also an exciting opportunity. We are aiming to make this initial tranche of capital transformational, and over the coming weeks will be keeping shareholders updated on debt repayment, cryptocurrency purchases, and growth milestones] as they occur,” concluded Wells. Onfolio currently generates over $12 million in annualized revenue, driven by profitable operating units across its portfolio. The repayment of certain notes and debt using a portion of the proceeds is expected to reduce interest obligations, improve cash flow, and strengthen the Company’s path toward consolidated profitability. About Onfolio Holdings Onfolio Holdings Inc. (Nasdaq: ONFO) acquires and operates profitable online businesses across diverse verticals, including marketing, education, and e-commerce. The Company’s next evolution – a dual-engine compounding strategy – integrates real-world earnings with a diversified digital-asset treasury to drive sustainable, inflation-resistant growth. Visit www . onfolio.com for more information. Forward-Looking Statements Certain statements in this press release are “forward-looking statements” within the meaning of the “safe Harbor” provisions of the United States Private Securities Litigation Reform Act of 1995. When used in this press release, words such as “estimated”, “projected” , “expect”, “anticipate”, “predict”, “plan”, “intend”, “believe”, “seek”, “may”, “will”, “should”, “future”, “propose” and variations of these words or similar expressions (or the opposite of such words or expressions) are intended to identify forward-looking statements. These forward-looking statements do not guarantee future performance, conditions or results and involve a number of known and unknown risks, uncertainties, assumptions and other important factors, many of which are outside the Company’s control and may cause actual results or achievements to differ materially from those discussed in the forward-looking statements. Important factors include future financial and operating results, including revenues, income, expenses, cash balances and other financial items; our ability to manage growth and expansion; current and future economic and political conditions; the ability to compete in industries with low barriers to entry; the ability to obtain additional financing to fund capital expenditure in the future, the ability to attract new customers and further enhance brand awareness; the ability to hire and retain qualified management and key staff; trends and competition in the industries in which our businesses operate; and outbreaks of pandemic or epidemic disease. Except as required by law, the Company undertakes no obligation to update forward-looking statements to reflect subsequent occurring events or circumstances, or changes in its expectations. Although the Company believes that the expectations expressed in these forward-looking statements are reasonable, the Company cannot assure you that such expectations will turn out to be correct, and the Company cautions you that actual results may differ materially from the expected results expressed or implied by the forward-looking statements we make. You should not interpret forward-looking statements as predictions of future events. Forward-looking statements represent only the beliefs and assumptions of our management as of the date such statements are made. Investor Contact investors@onfolio.com", "Categories": null, "Keywords": [ "Financing Agreements" ], "ExternalLinks": [ "https://www.globenewswire.com/news-release/2025/11/21/3192931/0/en/Onfolio-Holdings-Receives-4-75M-in-Investment-Proceeds.html", "https://www.globenewswire.com/Tracker?data=PkTJ3hHTwRDuzGCQO0c7foiT78aBa5Zea3KbDhkVqiBE_xFgvXaXKAnBF_wkhMOlFsWPh4fghTLuExTsWxbmjwfFPaBPSj3zyum6My9dmQe63L0i8Db4rCociI07qLNhFG68a3YIjyLpnWa4uUruU_EaLrTk0cLXDrSUVr17fSXFB9jBaCmc15ebLRb-UMUg2CKqDmIquQ4ssC5PPm2Rgpclf-kmYHglUodikvvlCbprxFMKDsot3pRcTlfrrOg3Jrq27rlmZPBFHUNQAsWAjSAJT_RZvtnrkWfnyr_bgxkGroX_IasnDfj8QyeoOFxXFGVLFZjPxa0EWXbUsP_HunLCTd0O2I85sbBjfqoQqmzd5IKRrFV0jOeC1DqtZUpPPnRtb7x6L-M8TnCwgA-BksfRudQmUuoMxzfWucbyuVs9_zy0-wiYAm48IJz9Mib6Le7yLk2Q-lOk2PUhvhiE2oeoO6EtTCA70NGv1ZkyTwV3jy5wyXSsYV-T7vuOcyiEdYQiZ4jer8DCK1UomMKGaQmtF1fnPQEjP3_CEZhoxCiUumI27LYEm4KEtj5lJsvsdKnPie_2j1pb1x1uFbGCcoJey3ANajD9dLDbysw-_KFsmjYeOeIWSNkq-g3E72D_cqomprWdpKsH1Gb60qJuCZ3mPPkVoK4lrihFABq2kcE=", "https://www.globenewswire.com/Tracker?data=pVPz1tdcgC2LpaomASeKO9QZk_0qDpUiTlD7vrpmYmwaiyGEHm1WpZxcB8hNUkyK8a-YMhAjhlFmxsEWY7q0k0b-V8aiuDyWR8al9UuW6T-8Ndgd34MmMOiIsfKvLfbRQRrHY0m0Zm3HYXfg8g9XR5MRHyeaDIqrIbtWG0vGvsW7PU4WKTXkTTGT57iPOOsnZqPM_Liiyhso9weWQp4ZSxxAfEu-c5Egeez1ucgqOL9rlQp4ibx9NYXcjQ8oYRK8BJlR_7GFHr6NgwXpeZ-J9OjzdRPnTS6weJbMDRsLjEW_Ri_fk69RCgYxp6Azvll67y0YUShh3FXGDYbW0MTSOXUfZmH6JUrS1vc4K5Z9NjwlXxwtPFfWTVJuD0BalNSBBV0WNFswxepp5xd-tr5CJ6e3WK73vIyhcpnywhbi4Zb-rUP0zCcldZhoccfvYQpMNuorouDRsw1fC4mXRiQ8AdBVxqw3zDIjub1qnfZwRU35MvyNccebxnYFXi7HFL0FecXDkUeGIZXKfC_a4dcXgOwi9goQylqTGxEdx_97EPfp4_txl8WGOybNXgHVBKQ0RZJgeCHaG2YIC29JlxpfByglmYjMlT8mjW-28uoDfS-tPzxvtWI5Ym_4Po1k08Y9gEOJS0UagIlp5YqY_zS0uqUORdhdcgv3pISsppxqQFo=", "https://www.globenewswire.com/Tracker?data=T7SNXXYLNDwnDR7ivYXXzfmd-e1FnL_nPj17EHvhdEpNmS5BiTHmE3gf6znh5rqMbbzWD0fENR_TEFcLaEV08el68HsyqC1u0OnzjVEtbrxJy3oNevTpDpJXfpz68Q5qpczfWZxxRrLaPdhUd6QNMcIQqMOnWA5zBpt_6wo6Y3wkdRFVdGGXAsoZ0AvK4593nlr06OV3BxVOzj11PlI1l6Ngc6hmlZ8qW0Zfd5ImsDGeyqQa8yKvwX4n7_7KnSm_oDsMJbdaA44efYRLL4LDTlgA4ni2WsqeMsXGl6QSdBg_96Kl3AKUdOO0KFsgsuV8BFzsbXykDi3kX19j2gZnbRYjZw_UnrqpczLbGowxir3nqU14aEWDWeGAPI5hdBX7gkf9kd0VAnKS8bguoIlncQerm_TKyHKRwjfjldG_vYH3APJpZyrUnBh4v929Kivv14iF66AnfyiGL6thi5fhJvcyTUed07bPZKj3KI02q7z2UiBbqM35Xzj_C7BhUlRZpfIv0ELl9wS6ZTP0ASAVl1sHoYEF-0e_fRug-GQXo2M2NL4jPBd3WB2KkRgYYDtizpz22dleASMOoXNMXFd5nLPmx3VqQx6dzgKIiF_yn_547biQZwUjk3bXKMjPVFsqVMXCanhMyAGZO6CnEOUDoJHJCwQo18dx7JOeceiKVcA=", "https://www.globenewswire.com/Tracker?data=sa6jvSuXjKy6Ii1KIBsnBcRPGMFlFio4ERuZpOjtPU6xjjQ8fZ5A1ioL2NQ00QgOCAV18kViEOViVwwsWtksAMSEg52uE4RZq7hp5Uwu1ca6vA5LUEYNhvFSPn3dknwnjWpuwgsr3u4gF-Fee4rOO92kfxHbmADSQfovAWt3v7JQDw_O0K3GXJK5s5Fftvcmo_EdcQ07h537BfLKpGRhLX0zoYWhW0-eRmZ7bi_kvapK3e3yw8ypIvLhNAk4WBcLURL7Ecrpk7FpcALKeRnnONTCHyo4hUKcyyPdL-F-cdq7MTVH6HBwGh7c42Y0jGE7P6AqbSsqiT1LXV_7roONs5TzfiX8BLlKIsSdI6ctHgbhL2HJZRooUuxoDOd2lQW7WQFEr5mhQn18CLpZhph6a6P7ghlan3J5syoOMd3D8hY3z6qYHjgI93AdRRHz42BGW4iH6FsRpWWUo98UEbS8yeFirb1rHgigTcoIKbJL8iw0rrGWZZg5Zsi0DJHb2v_HHKsoNGfygu7elDxRZ-zH-p4cOMDhSviXlJ_n2Ogskjm2MxYfhIaLzBv-B2smBohPvKvMLwWCThNR7QiwFBxrLFywvUXuBFvlDreKeCAvmj5HUNtMuUzzpCOaS3L8PtGIi1V2K4MlSdZU2oguicmYB-GCfw7um8UJX4FSk9K9kc4m2quwiiI4yBeQZCE3oDTdowITFHGGuQQ_GWHepSvyoBHhZDsCUMP0pSBa0DlH4R5g6qYkUYOY_OC4P_cyQTuTAD8nVcXJjkietyOcrsEAwPUdh2s63mo59r0iwIjPvQY=", "https://ml.globenewswire.com/media/M2NiMzI3MTktOWM2Ni00N2YwLWI3NzAtOGEzZDlmNDQ0NzIxLTEyNjIwMDEtMjAyNS0xMS0yMS1lbg==/tiny/Onfolio-Holdings-Inc-.png" ], "Tickers": [ "ONFO", "ONFOP", "ONFOW" ], "Exchanges": [ "Nasdaq", "Other OTC", "Nasdaq" ], "Securities": [ { "figi": "BBG018G23J04", "isin": "US68277K1245", "name": "ONFOLIO HOLDINGS INC -27", "symbol": "ONFOW", "mic_code": "XNAS", "figi_composite": "BBG018G23J04", "figi_share_class": "", "refinitiv_exch_code": "NAQ" }, { "figi": "BBG016NPKTM4", "isin": "US68277K2078", "name": "ONFOLIO HOLDINGS INC", "symbol": "ONFO", "mic_code": "XNAS", "figi_composite": "BBG016NPKTM4", "figi_share_class": "BBG016NPKVJ3", "refinitiv_exch_code": "NAQ" } ], "Contacts": [ { "organization": "Onfolio Holdings Inc." } ], "MediaAssets": null, "Raw": {...}, "CreatedAt": "2025-11-21T17:22:07.114491Z", "UpdatedAt": "2025-11-21T17:22:07.114491Z" } ] ```
# Overview Source: https://docs.finvera.ai/api-reference/press-releases/press-releases-overview Press Release API The finvera Press Release API provides real-time and historical press releases from thousands of public companies through a single endpoint. It aggregates content from major newswire services like GlobeNewswire, PR Newswire, Accesswire, Newsfile, and others so you don't need to maintain separate integrations with each source. All releases are normalized into a consistent schema regardless of origin. Each response includes the full release text along with structured metadata: timestamps, distribution channels, company and ticker associations, industry tags, and attachment links. Filter by date, keyword, ticker, or source. No secondary requests are needed to access the full content body. The API supports common integration patterns out of the box: newsfeeds, research tools, compliance monitoring, sentiment analysis pipelines, and investor-facing portals. Authentication is handled via JWT, and standard error codes and pagination are documented in the reference. If you're adding corporate press release coverage to an existing product, this is a single dependency that replaces a patchwork of wire service contracts and custom parsers. # Fetch Reference Data Source: https://docs.finvera.ai/api-reference/reference-data/search-for-securities get /api/v1/securities Perform a search for securities using a symbol or other search criteria. ```json Response (200 OK) theme={null} { "data": { "facet_counts": [], "found": 1, "hits": [ { "document": { "classification.gics": "Information Technology/Technology Hardware & Equipment/Technology Hardware, Storage & Peripherals/Technology Hardware, Storage & Peripherals", "classification.gics_code": "45202030", "classification.market_sector": "Equity", "classification.security_description": "AAPL", "classification.security_type": "Common Stock", "classification.security_type2": "Common Stock", "classification.sic_code": "3571", "classification.sic_description": "ELECTRONIC COMPUTERS", "company_info.address.address1": "ONE APPLE PARK WAY", "company_info.address.city": "CUPERTINO", "company_info.address.postal_code": "95014", "company_info.address.state": "CA", "company_info.description": "Apple is among the largest companies in the world, with a broad portfolio of hardware and software products targeted at consumers and businesses.", "company_info.homepage_url": "https://www.apple.com", "company_info.list_date": "1980-12-12", "company_info.phone_number": "(408) 996-1010", "company_info.total_employees": 164000, "created_at": "2025-04-06T04:35:40.413507Z", "exchange_info.exchange_country": "USA", "exchange_info.exchange_name": "NASDAQ Global Select Consolidated", "exchange_info.mic_code": "XNAS", "exchange_info.openfigi_exchange_code": "US", "exchange_info.openfigi_ticker": "AAPL", "exchange_info.refinitiv_exchange_code": "NSQ", "exchange_info.refinitiv_exchange_name": "NASDAQ Global Select Consolidated", "financials.market_cap": 3327840000000, "financials.round_lot": 100, "financials.share_class_shares_outstanding": 15022070000, "financials.weighted_shares_outstanding": 15022073000, "id": "BBG000B9XRY4_XNAS", "identifiers.cik": "0000320193", "identifiers.cusip": "037833100", "identifiers.figi": "BBG000B9XRY4", "identifiers.figi_composite": "BBG000B9XRY4", "identifiers.figi_share_class": "BBG001S5N8V8", "identifiers.isin": "US0378331005", "identifiers.opol": "XNAS", "identifiers.permid": "55838974642", "identifiers.ric": "AAPL.O", "isin_history": null, "name": "APPLE INC", "status": "ACTIVE", "symbol": "AAPL", "ticker_meta.active": true, "ticker_meta.currency_name": "usd", "ticker_meta.last_updated_utc": "2025-03-26T00:00:00Z", "ticker_meta.locale": "us", "ticker_meta.market": "stocks", "ticker_meta.primary_exchange": "XNAS", "ticker_meta.ticker": "AAPL", "ticker_meta.ticker_root": "AAPL", "ticker_meta.type": "CS", "updated_at": "2025-04-06T04:35:40.413507Z" }, "highlight": {}, "highlights": [] } ], "out_of": 4368670, "page": 1, "request_params": { "collection_name": "securities_overview", "per_page": 100, "q": "*" }, "search_cutoff": false, "search_time_ms": 9 }, "message": "success" } ``` # Overview Source: https://docs.finvera.ai/api-reference/reference-data/security-master-overview The Security Master API provides a centralized, canonical dataset of identifiers and metadata for global instruments. It is designed to serve as the foundational reference layer for any financial data platform, ensuring consistency across tickers, company names, CUSIPs, ISINs, FIGIs, PermIDs, exchange codes, and other identifiers used across downstream applications. ### Key Features * Normalized Identifiers: Includes common identifiers such as ticker, CUSIP, ISIN, FIGI, LEI, and composite keys to support cross-dataset joins. * Exchange and Listing Details: Provides primary exchange, listing status (active/delisted), share class type, and trading currency. * Corporate Hierarchy: Tracks parent companies, subsidiaries, and name changes, useful for corporate actions and entity resolution. * Metadata Enrichment: Includes sector, industry classification (GICS/NAICS), IPO date, and headquarters location. * Symbol History: Maintains mapping of prior tickers to current symbols for accurate backtesting and longitudinal analysis. * Entity Linking: Provides company-level keys to tie back to other APIs like fundamentals, insider transactions, or earnings calls. ### Coverage * Universe: All U.S.-listed equities including common stock, ADRs, ETFs, SPACs, and preferred shares. * Updates: Daily refresh with event-driven updates for corporate actions such as ticker changes, delistings, or mergers. ### Use Cases * Ticker normalization across disparate data vendors * Portfolio and position reconciliation * Entity resolution for joining transcripts, fundamentals, and market data * Reference data foundation for compliance and risk tools The Security Master API ensures clean, conflict-free mapping of instruments across your platform. With robust identifier support and high-integrity metadata, it acts as the backbone for any investment analytics, trading, or research environment requiring precise security definition and linkage. # Get Conference Call Info by ID Source: https://docs.finvera.ai/api-reference/transcripts/fetch-call-details-by-call-id get /api/v1/calls/{call_id} Get conference call transcript by call_id. ```json Response (200 OK) theme={null} { "call_id": "302a052c-14e6-406e-b6a6-5bce71d2bfdb", "call_title": "OFG Bancorp reports strong Q1 results, raises dividend 20% amid loan growth", "headline": "OFG Bancorp generates $1 EPS with solid loan growth and digital innovation", "symbol": "OFG", "exchange": "ALL", "figis": [ "BBG016K9RJN7", "BBG001S9J8R0" ], "name": "", "start_time": "2025-04-23T11:34:15-04:00", "end_time": "2025-04-23T12:11:15-04:00", "duration": 37, "status": "COMPLETED", "created_at": "2025-04-23T15:34:15Z", "updated_at": "2025-04-23T16:11:15Z", "transcripts": [ { "transcript_id": "914369e3-cc94-4e2b-9172-042c9b9e34ca", "text": "Please stand by. Your program is about to begin. Good morning... You may now disconnect", "language": "en-US", "confidence_score": 0.9542389225423727, "segments": [ { "segment_id": 0, "speaker": "Madison", "start_time": "1200", "end_time": "76640", "confidence": 0.9834538, "text": "Please stand by.", "sentiment": 0 }], "type": "NON_LIVE" } ], "recording": { "recording_id": "5c41bd74-0d7f-4667-8c09-5c25902b5f12", "total_files": 382, "total_size": 19487716, "duration": 37, "location": "assets/302a052c-14e6-406e-b6a6-5bce71d2bfdb", "bucket": "earnings-call-media", "language": "en", "formats": [ { "file_link": "302a052c-14e6-406e-b6a6-5bce71d2bfdb/hls/index.m3u8", "size": 11378, "content_type": "application/vnd.apple.mpegurl", "quality": "720p" }, { "file_link": "302a052c-14e6-406e-b6a6-5bce71d2bfdb/mp3/audio.mp3", "size": 4535978, "content_type": "audio/mpeg", "quality": "192kbps" } ], "created_at": "0001-01-01T00:00:00Z" }, "summary": { "summary_id": "6a6bebc0-a94c-41b7-8bf7-f1c24794bb2f", "transcript_id": "", "call_id": "302a052c-14e6-406e-b6a6-5bce71d2bfdb", "summary": "- OFG Bancorp reported strong financial performance, with earnings per share diluted at $1, driven by effective operating execution and growth in loans and deposits. Despite a slight decline in total interest income due to fewer business days, the overall financial metrics were stable, supported by strategic share buybacks and a 20% dividend increase. - Strategic initiatives focused on digital innovation, with significant growth in digital enrollment and transactions. Three new digital tools were launched, including an Omnichannel app, Smart Banking insights, and Apple Pay integration, reinforcing OFG's position as a leader in digital banking in Puerto Rico. - The future outlook is cautiously optimistic, with stable credit quality and continued investment in digital strategies. Despite potential macroeconomic and geopolitical volatility, OFG maintains a strong capital position, with a CET1 ratio of 14.27%, and remains focused on deepening customer relationships and expanding its client base.", "symbol": "", "sentiment": 0, "language": "", "created_at": "2025-04-23T15:34:15Z", "updated_at": "2025-04-23T15:34:15Z" }, "participants": [ { "participant_id": "b879ece6-b0c9-4fc2-a1ab-a7f3cef2dc4a", "call_id": "302a052c-14e6-406e-b6a6-5bce71d2bfdb", "name": "Jose Rafael Fernandez", "role": "Chief Executive Officer and Chairman of the Board of Directors", "organization": "", "mentions": 5, "human_verified": false } ], "securities": [ { "figi": "BBG016K9RPW3", "isin": "GB00BNGFHX14", "name": "OCTOPUS FUTURE GENERATIONS V", "symbol": "OFG", "mic_code": "XLON", "figi_composite": "BBG016K9RJH4", "figi_share_class": "BBG016K9RJN7", "refinitiv_exch_code": "LSE" }, { "figi": "BBG000F5VMF2", "isin": "PR67103X1020", "name": "OFG BANCORP", "symbol": "OFG", "mic_code": "XNYS", "figi_composite": "BBG000F5VMF2", "figi_share_class": "BBG001S9J8R0", "refinitiv_exch_code": "NYQ" } ] } ``` # Get Summary by Call ID Source: https://docs.finvera.ai/api-reference/transcripts/fetch-call-summary-by-call-id get /api/v1/summaries/{call_id} Get Summary by call_id. # Get Conference Calls Source: https://docs.finvera.ai/api-reference/transcripts/fetch-calls get /api/v1/calls Get conference call transcripts. ```json Response (200 OK) theme={null} { "data": [ { "call_id": "302a052c-14e6-406e-b6a6-5bce71d2bfdb", "call_title": "OFG Bancorp reports strong Q1 results, raises dividend 20% amid loan growth", "headline": "OFG Bancorp generates $1 EPS with solid loan growth and digital innovation.", "symbol": "OFG", "exchange": "ALL", "figis": [ "BBG016K9RJN7", "BBG001S9J8R0" ], "name": "", "start_time": "2025-04-23T11:34:15-04:00", "end_time": "2025-04-23T12:11:15-04:00", "duration": 37, "status": "COMPLETED", "created_at": "2025-04-23T15:34:15Z", "updated_at": "2025-04-23T16:11:15Z", "transcripts": [ { "transcript_id": "914369e3-cc94-4e2b-9172-042c9b9e34ca", "text": "Please stand by. Your program is about to begin. If you need assistance... You may disconnect at any time.", "language": "en-US", "confidence_score": 0.9542389225423727, "segments": null, "type": "NON_LIVE" } ], "securities": [ { "figi": "BBG016K9RPW3", "isin": "GB00BNGFHX14", "name": "OCTOPUS FUTURE GENERATIONS V", "symbol": "OFG", "mic_code": "XLON", "figi_composite": "BBG016K9RJH4", "figi_share_class": "BBG016K9RJN7", "refinitiv_exch_code": "LSE" }, { "figi": "BBG000F5VMF2", "isin": "PR67103X1020", "name": "OFG BANCORP", "symbol": "OFG", "mic_code": "XNYS", "figi_composite": "BBG000F5VMF2", "figi_share_class": "BBG001S9J8R0", "refinitiv_exch_code": "NYQ" } ] } ], "message": "Successfully fetched calls", "pagination": { "hits": 1, "page": 1, "page_count": 1, "page_size": 10 } } ``` # Get Summaries Source: https://docs.finvera.ai/api-reference/transcripts/fetch-summaries get /api/v1/summaries Get Summaries. # Overview Source: https://docs.finvera.ai/api-reference/transcripts/transcripts-overview The Conference Call Transcripts API provides developers with programmatic access to earnings call transcripts from thousands of publicly traded companies, with a primary focus on the top 5k US companies. Coverage includes both real-time transcripts streamed via WebSocket during live calls, and post-processed, structured transcripts available through REST API endpoints shortly after the event concludes. ### Key Features * Live WebSocket Stream: Subscribe to live earnings calls and receive transcripts in real time, broken down by speaker and section (e.g., Management Remarks, Analyst Q\&A). * Speaker Diarization: Transcripts are tagged with speaker roles and names where identifiable (e.g., CEO, CFO, Analyst), making it easier to isolate specific commentary. * Structured Sections: Each transcript is segmented into logical blocks — prepared remarks, questions and answers, and operator comments — with timestamps. * Historical Access: Query past transcripts by date, ticker, or call type. Coverage includes quarterly earnings, guidance updates, and special investor calls. * Ticker-Based Querying: Retrieve all transcripts for a specific symbol or subscribe to multiple symbols during earnings season. * Lightweight JSON Format: All responses are returned in clean, developer-friendly JSON, optimized for downstream NLP, summarization, or sentiment analysis. ### Coverage * Universe: Focused on Russell 3000 with expanding support for S\&P 500 and other U.S. equities. * Update Frequency: Live calls are streamed with \< 5s latency, and post-processed transcripts are typically available within minutes after a call ends. * Languages: English transcripts only (non-U.S. companies supported if earnings calls are conducted in English). ### Use Cases * Building real-time earnings dashboards * Training NLP models on financial audio * Extracting management guidance and forward-looking statements * Powering alerting systems and event-driven trading strategies This API is built for scale and performance, backed by a distributed pipeline that handles ingestion, diarization, and formatting in real time. Whether you're powering an institutional research platform or building a custom earnings monitor, the Conference Call Transcripts API offers the low-latency access and structured data you need. # Changelog Source: https://docs.finvera.ai/changelog/changelog New updates and improvements ## MCP Server Dashboard * [MCP](https://docs.finvera.ai/documentation/mcp) Support added. * Users can add the MCP server to Cursor, Claude Code, etc. and interact with Finvera APIs. * Server URL: [https://docs.finvera.ai/mcp](https://docs.finvera.ai/mcp) ## API Key Dashboard Dashboard * Our API key [dashboard](https://dashboard.finvera.news/sign-up) is live! * Users can create trial keys and maintain licensing API keys. * We intend to add billing and teams to this dashboard in the near future. ## Fundamentals Enhanced API (v1) Released Security Master Autocomplete * Combines fundamentals with sector-specific KPIs and derived metrics. * Includes TTM values, YoY and QoQ growth calculations. * Coverage expansion to international markets and ETFs. ## Analyst Ratings API Enhancements * Added analyst accuracy score and coverage history. * Filters for firm, sector, and target price deviation metrics. ## Earnings Estimates API (v1) Released Security Master Autocomplete * Provides consensus EPS and revenue forecasts per quarter and fiscal year. * Includes historical revisions and surprise metrics post-earnings. ## Fundamentals API (v1) Released * REST API for structured financials from SEC filings (10-Ks, 10-Qs). * Normalized income statement, balance sheet, and cash flow data. * Includes fiscal period mappings and XBRL confidence flags. ## Security Master Enhancement Security Master Autocomplete * Added support for private companies, dual listings, and SPAC relationships. * Enhanced issuer-level metadata (sector, location, corporate structure). ## Press Release API (v1) Released * Stream of official company press releases. * Extracted metadata: event type, headline, sentiment, and ticker match. * Includes M\&A, guidance, product announcements, and capital markets activity. ## Transcripts API Upgrade * Introduced speaker diarization and structured sections (prepared remarks, Q\&A). * Added WebSocket support for real-time transcription stream. * Support for small-cap universe extended. ## Analyst Ratings API (v1) Released Security Master Autocomplete * Aggregates analyst upgrades, downgrades, initiations, and price target changes. * Normalized across major brokerages. * Delivered with timestamp, analyst name, and recommendation change. ## Security Master API (v1) Released * Provides foundational security reference data. * Includes mappings for tickers, CUSIPs, ISINs, FIGIs, and delisted symbols. * Entity resolution engine for public companies and tickers. ## Transcripts API (v1) Released * Launched access to earnings call transcripts for Russell 1000 companies. * Basic fields include ticker, timestamp, speaker, and text body. * REST endpoint supports historical and real-time calls (delayed). # Introduction Source: https://docs.finvera.ai/documentation/introduction Welcome to Finvera's developer documentation. Our infrastructure is designed for high-performance financial data processing, utilizing modern technologies to ensure scalability, reliability, and speed.
Get Started with Finvera

Create your free trial API key to start exploring our financial datasets.

### **Infrastructure** Finvera's backend is built on a robust technology stack: * **Kubernetes**: Ensures seamless container orchestration for efficient scaling and deployment. * **Golang**: Provides high-performance API endpoints with low latency. * **Kafka**: Handles real-time data streaming and event-driven processing. * **PostgreSQL**: Primary relational database for structured data storage. * **Other Databases**: * **ClickHouse**: Optimized for fast analytical queries on large datasets. * **Elasticsearch**: Used for search indexing and quick retrieval of textual data. * **Redis**: In-memory caching for rapid response times. ## Data Delivery Mechanisms Finvera supports multiple data access methods to fit various use cases: * Standard HTTPS endpoints for structured data retrieval. Real-time data feeds for low-latency applications. Downloadable datasets via secure S3 or FTP. Push-based data delivery to your endpoint. # Model Context Protocol (MCP) Source: https://docs.finvera.ai/documentation/mcp Connect Claude, Cursor, and other AI tools directly to Finvera's financial data — earnings-call transcripts, fundamentals, news, analyst ratings, and market data — through the Finvera MCP server. The **Finvera MCP server** lets any [Model Context Protocol](https://modelcontextprotocol.io) client — Claude, Claude Code, Cursor, and others — pull Finvera's financial data directly into your model's context. Ask for an earnings-call summary, a company's fundamentals, the latest analyst ratings, or recent quotes, and the model fetches it live through the tools below. | | | | ------------------ | ------------------------------- | | **Server URL** | `https://mcp.finvera.ai/` | | **Transport** | Streamable HTTP | | **Authentication** | OAuth 2.1 — no API key required | There are **no API keys to paste**. The MCP server uses OAuth 2.1: the first time your client connects, it opens the Finvera login page in your browser. Sign in with your Finvera account (create one free at the [Dashboard](https://dashboard.finvera.ai/sign-up)) and the connection is authorized automatically. ## Connecting Add `https://mcp.finvera.ai/` as a remote (custom) MCP connector in your tool of choice. On first connect you'll be sent through the Finvera login flow — no headers or keys to configure. Add the server with the CLI: ```bash theme={null} claude mcp add --transport http finvera https://mcp.finvera.ai/ ``` On first use, Claude Code opens the Finvera login page in your browser. After you sign in, the Finvera tools become available in your session. Run `/mcp` to check the connection status or re-authenticate. 1. Open **Settings → Connectors**. 2. Click **Add custom connector**. 3. Enter a name (e.g. `Finvera`) and the URL `https://mcp.finvera.ai/`. 4. Save, then click **Connect** and sign in with your Finvera account when the login page appears. The Finvera tools will then be available from the connectors menu in any chat. Add the server to your `mcp.json` (Cursor Settings → MCP → Add new MCP server): ```json theme={null} { "mcpServers": { "finvera": { "url": "https://mcp.finvera.ai/" } } } ``` Cursor will prompt you to authenticate through the Finvera login page on first connect. Any MCP client that supports **remote servers over HTTP with OAuth** can connect. Point it at: ```json theme={null} { "mcpServers": { "finvera": { "transport": "http", "url": "https://mcp.finvera.ai/" } } } ``` The client discovers the Finvera authorization server automatically and walks you through login on first connect. ## How authentication works The Finvera MCP server is an OAuth 2.1 **resource server** — it never accepts API keys as parameters. The standard MCP authorization flow runs end to end with zero manual setup: 1. Your client connects with no token and receives a `401` pointing at Finvera's protected-resource metadata. 2. The client discovers the **Finvera authorization server**, registers itself dynamically, and opens the login page. 3. You sign in. The authorization server issues a short-lived access token scoped to the MCP server. 4. Your client calls the server with that token on every request. The server verifies it (signature, issuer, audience, expiry) and serves your data. Tokens are short-lived and tied to your Finvera account, so your client may prompt you to re-authenticate periodically. ## Available tools The server exposes the following tools. Your AI client calls them automatically based on your request — you don't invoke them by hand. ### Earnings calls, transcripts & summaries | Tool | Description | | --------------------- | ----------------------------------------------------------------------------------------------------------------------- | | `list_earnings_calls` | List earnings conference calls (most recent first). Filter by `symbol`; shows which transcripts are available per call. | | `fetch_transcript` | Full transcript **text** for a call. Choose `LIVE` (real-time) or `NON_LIVE` (higher-confidence, post-processed). | | `get_call_details` | Call metadata: participants, recording, AI summary, and which transcripts exist (no transcript text). | | `list_call_summaries` | List AI-generated call summaries over a date range. | | `get_call_summary` | AI summary and sentiment for a single call. | For transcripts, start with `list_earnings_calls` to find a call, then use `fetch_transcript` for the full text or `get_call_summary` for the AI summary. ### Fundamentals, news & ratings | Tool | Description | | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | | `get_fundamentals` | Company fundamentals — `lite` (revenue, net income, EPS, assets/liabilities, equity) or `enhanced` (adds margins, cash-flow, and ratios like P/E and ROE). | | `fetch_news` | Curated "catalyst" news for a symbol — a headline plus a generated explanation of why the stock is moving. | | `fetch_press_releases` | Structured newswire press releases from GlobeNewswire, PR Newswire, Newsfile, or Accesswire. | | `fetch_analyst_ratings` | Analyst rating actions — upgrades/downgrades, ratings, and price targets. Filter by symbol, company, firm, exchange, or date. | `get_fundamentals` requires a Finvera account entitled to the fundamentals data set. Without that entitlement the server returns an "access to route not allowed" error. ### Market & reference data | Tool | Description | | --------------------- | ------------------------------------------------------------------------------------------------------- | | `fetch_quotes` | Recent NBBO quotes (best bid/ask price and size) for a symbol. | | `fetch_trades` | Recent tick-level executed trades (price, size, exchange) for a symbol. | | `fetch_ohlc_bars` | Historical OHLC(V) aggregate bars over a date range, at minute/hour/day/week/month resolution. | | `search_securities` | Resolve tickers and identifiers (FIGI, ISIN, CUSIP, CIK, and more) through the Finvera security master. | | `fetch_company_logos` | Company logo URLs (PNG/SVG) for a symbol. | ## Example prompts Once connected, just ask in natural language. Your client picks the right tools automatically: * *"Summarize Apple's most recent earnings call."* * *"What did analysts say about NVDA this week — any upgrades or downgrades?"* * *"Pull Microsoft's enhanced fundamentals for FY2024."* * *"Show me the latest catalyst news for TSLA and why it's moving."* * *"Get daily OHLC bars for AMZN over the last three months."* ## Troubleshooting Confirm your client supports **remote MCP servers over HTTP with OAuth** and that you used the exact URL `https://mcp.finvera.ai/`. In Claude Code, run `/mcp` to retry authentication. The `get_fundamentals` tool requires an account entitled to the fundamentals data set. Check your plan on the [Dashboard](https://dashboard.finvera.ai/sign-up) or contact support. Access tokens are short-lived. Reconnect or re-authenticate (in Claude Code, `/mcp`) to get a fresh token. Need help? Email [hey@finvera.ai](mailto:hey@finvera.ai). # Optical Character Recognition (OCR) Source: https://docs.finvera.ai/documentation/ocr Send images to our OCR engine and receive a low latency response of text in JSON format To create your free trial API key, you can head over to the [API Key Management Dashbord](https://dashboard.finvera.ai/sign-up). ### **Real-Time OCR** * Ultra-Low Latency: Optimized for real-time use cases. * Accurate OCR Models: Detects text, numbers, and symbols with confidence scoring. * Structured Output: Returns clean JSON with text, coordinates, and metadata. Example Request: ```json theme={null} curl -X POST https://api.finvera.news/ocr/v1/extract \ -H "Content-Type: application/json" \ -d '{ "frame": "data:image/png;base64,..." }' ``` Example Response: ```json theme={null} { "timestamp": "2024-11-05T17:00:00Z", "results": [ { "text": "Q3 Earnings Call", "x": 120, "y": 45, "confidence": 0.97 }, { "text": "Revenue: $14.2M", "x": 128, "y": 78, "confidence": 0.94 } ] } ``` ### **Use Cases** * Real-time video transcription * Financial broadcast analysis * Compliance and monitoring * Visual data enrichment for AI pipelines ### **Video Stream Example** When frames like the one below are sent to the endpoint, the OCR engine will extract the text and send via JSON. OCR on a video feed Example Response: ```json theme={null} { "timestamp": "2024-11-05T17:36:02Z", "results": [ { "text": "BREAKING NEWS" }, { "text": "BOEING DELAYS 777X ENTRY TO SERVICE" } ] } ``` # Using MCP to Plot Strategy Drift Source: https://docs.finvera.ai/examples/strategy-drift Here is a tutorial of how to use the Finvera MCP server to track strategy drift To create your free trial API key, you can head over to the [API Key Management Dashbord](https://dashboard.finvera.ai/sign-up). ### **Setup** 1. Set up the project in your AI IDE. 2. Prompt: ```markdown theme={null} Use the Finvera APIs to retrieve OHLC stock data and the conference calendar for a given ticker (start with HUBS) over the last three quarters. Requirements: 1. API Access • Call the REST APIs directly. • Load the API key from an environment variable named FINVERA_API_KEY (from .env). 2. Data • Get OHLC data for the ticker. • Get conference call events (conference calendar API). 3. Plotting • Use Matplotlib. • Plot only a line chart of OHLC data (no volume chart). • Overlay and clearly mark conference call dates on the chart. • Each marker should include the full conference call title. • Ensure labels are readable and properly placed. 4. Time Range • Fetch data for the last three quarters. 5. Implementation Notes • Structure the script cleanly. • Keep the visualization minimal, clean, and legible. • Make sure all labels, markers, and annotations for events are visible. ``` 3. Enter the chat with Cursor. 4. Check out the results. Cursor plots a series of annotations, over the stock price chart. These annotations are referenced from text within the Earnings Conference Calls. Strategy Drift Image # Delayed Quotes Source: https://docs.finvera.ai/ws-reference/market-data/delayed-quotes Enable users to interact with delayed Quotes # Delayed Trades Source: https://docs.finvera.ai/ws-reference/market-data/delayed-trades Enable users to interact with delayed trades # Real Time Quotes Source: https://docs.finvera.ai/ws-reference/market-data/realtime-quotes Enable users to interact with realtime Quotes # Real Time Trades Source: https://docs.finvera.ai/ws-reference/market-data/realtime-trades Enable users to interact with realtime trades # True Value Source: https://docs.finvera.ai/ws-reference/market-data/true-value Enable users to fetch True value for a specific stock/ticker # Press Releases Source: https://docs.finvera.ai/ws-reference/press-releases/get-real-time-press-releases Real-time company press releases from main providers that are formatted into a standard JSON format. Expect 20ms latency from publish timestamp for processing. # Low Latency Press Releases Source: https://docs.finvera.ai/ws-reference/press-releases/ultrafast-low-latency-press-releases Unprocessed PRs that stream in the original (non-standard) format as to not add any additional latency for formatting processing. Expect ~5ms latency from publish timestamp to transmission. # Streaming Introduction Source: https://docs.finvera.ai/ws-reference/stream-ws Real-time transcripts via WebSocket. # Overview Our WebSocket-based streaming service provides real-time access to conference call transcripts, press releases, and more through a secure connection. Using an API token for authentication, you can subscribe to live transcripts, manage active streams, and test connectivity seamlessly. This service ensures you have up-to-the-second insights. ## Getting Started ### 1. Establish a WebSocket Connection Connect to our WebSocket endpoint using your preferred client: ```bash theme={null} wss://api.finvera.news ``` ### 2. Authenticate Your Session Include your API key as a query parameter in the connection URL: ```bash theme={null} wss://api.finvera.news?apikey=yourApiKeyHere ``` ### 3. Establish a Stable Connection To ensure a stable connection, use the **ping** action periodically to keep the WebSocket session active: ```json theme={null} { "action": "ping" } ``` You can also send an echo action to verify that the connection is responsive: ```json theme={null} { "action": "echo", "data": "Hello, World!" } ``` ### 4. Subscribe to a Symbol To start receiving real-time transcripts for a specific stock, use the subscribe action: ```json theme={null} { "action": "subscribe", "symbol": "AAPL" } ``` To subscribe to all available transcripts, use: ```json theme={null} { "action": "subscribe", "symbol": "*" } ``` ### 5. Confirm Your Subscriptions To check which transcripts you are actively subscribed to, use the subscribed action: ```json theme={null} { "action": "subscribed" } ``` ## Supported Actions | Action | Description | Example Request | | --------------------- | -------------------------------------- | ----------------------------------------------- | | **list** | Retrieve available transcripts | `{ "action": "list" }` | | **subscribe** | Subscribe to a specific transcript | `{ "action": "subscribe", "symbol": "AAPL" }` | | **subscribe** (all) | Subscribe to all available transcripts | `{ "action": "subscribe", "symbol": "*" }` | | **subscribed** | Get a list of active subscriptions | `{ "action": "subscribed" }` | | **unsubscribe** | Unsubscribe from a specific transcript | `{ "action": "unsubscribe", "symbol": "AAPL" }` | | **unsubscribe** (all) | Unsubscribe from all transcripts | `{ "action": "unsubscribe", "symbol": "*" }` | | **echo** | Test the connection | `{ "action": "echo", "message": "test" }` | | **ping** | Maintain an active WebSocket session | `{ "action": "ping" }` | ### Need Help? We hope this guide helps you get started with our Websockets. If you have any questions, please don't hesitate to reach out to our support team. We're here to assist you in setting up and optimizing your WebSocket connection! # Real Time Transcripts Source: https://docs.finvera.ai/ws-reference/transcripts/get-real-time-transcripts Enable users to interact with your websockets