Circle of Wizards All APIs on RapidAPI →

EarningsLens

Turn a raw earnings call transcript into clean, structured financial signals — beat/miss, guidance, and management tone — in one POST request.

EarningsLens reads an earnings call transcript (give it a URL or paste the raw text) and uses DeepSeek AI to pull out the numbers and narrative that matter: revenue and EPS actuals versus estimates, beat/miss flags, next-quarter revenue guidance, key themes, management tone, and Q&A red flags. You get a single, predictable JSON object instead of paragraphs of prose. No CSV parsing, no regex over transcript HTML, no model prompt engineering on your end.

Endpoints

Endpoint What it returns
POST /extract Structured signals extracted from one transcript. Top-level fields: ticker, company, period (e.g. "Q1 FY2026"), date (YYYY-MM-DD), revenue {actual, estimate, unit, currency, beat}, eps {actual, estimate, beat}, guidance {next_quarter_revenue: {midpoint, low, high}, tone}, key_themes (string array, up to 8), management_tone, qa_red_flags (string array), word_count, and source_url.
GET /health Service status — {"status":"ok"}. No auth required.

POST /extract request body (JSON): supply either url (a transcript page to fetch) or text (raw transcript pasted directly) — at least one is required. Optional ticker is a hint (e.g. "NVDA") used to anchor the extraction.

Why this API

  • One request, one structured object. You hand over a transcript; you get back typed JSON with the exact same field shape every time — ready to drop into a database, dashboard, or screener.
  • Both numbers and narrative. Beyond revenue/EPS beat-miss math, it captures the soft signals analysts actually trade on: management_tone, guidance tone, key_themes, and qa_red_flags (analyst questions that revealed friction, deflection, or repeated pressure).
  • URL or raw text. Point it at a transcript page and it fetches and strips the HTML for you, or paste raw text directly when you already have it.
  • Ticker inference built in. If a transcript doesn't state the ticker, the model infers it from the company name (e.g. "NVIDIA Corporation" → NVDA), so results stay keyed even on messy sources.
  • Cached for speed and cost. Identical requests are served from cache (24-hour TTL by default), so repeated lookups of the same transcript return instantly.

Typical use cases

  • Earnings dashboards & screeners — populate a beat/miss table and guidance column the moment a transcript is available.
  • Quant & signal pipelines — feed management_tone, guidance tone, and qa_red_flags into sentiment or event-driven models.
  • Newsletters & research summaries — auto-generate a tight bullet recap (key_themes, beat/miss, next-quarter guidance) from a transcript link.
  • Backfilling historical transcripts — paste archived transcript text to extract a normalized record per quarter.
  • Alerting — flag calls where guidance tone is cautious or qa_red_flags is non-empty.

Good to know

  • You bring the transcript. EarningsLens does not host or search a transcript library — you must supply a url to fetch or the raw text. There is no ticker/date lookup endpoint.
  • AI extraction, not a filing parser. Signals are extracted by an LLM (DeepSeek) reading the transcript text. It is accurate on well-formed transcripts but is not a substitute for audited SEC filings; verify figures before relying on them for trading or reporting.
  • Nullable by design. Any field the model can't determine comes back null (or an empty list for key_themes / qa_red_flags). Numbers in revenue/guidance are expressed in the stated unit (e.g. "B" for billions) and currency.
  • Input is trimmed. Fetched or pasted transcripts are capped (~80,000 characters) before extraction; very long transcripts are truncated, which can drop late-call details.
  • url fetching depends on the source. If the target page blocks the fetch or returns an error, /extract responds with 502; pasting the text directly avoids this.
  • word_count reflects the supplied text, and source_url echoes the url you passed (or null when you posted raw text).
  • Auth: access is via the RapidAPI gateway; the GET /health check is open and unauthenticated.