# Earnings Call Transcript API - SEC 8-K Filings Parser & Monitor (`johnvc/earnings-call-transcript-api`) Actor

Speaker-tagged earnings call transcripts with Q\&A pairs, plus SEC 8-K filings parsed from EDGAR: item codes, press releases, guidance sentences, sentiment. Full-text keyword search across all US filers. Pay-per-result, no start fee.

- **URL**: https://apify.com/johnvc/earnings-call-transcript-api.md
- **Developed by:** [John](https://apify.com/johnvc) (community)
- **Categories:** AI, Developer tools, Business
- **Stats:** 11 total users, 10 monthly users, 99.8% runs succeeded, 3 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.10 / 1,000 record returneds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Earnings Call Transcript API - SEC 8-K Filings Parser & Monitor

Get earnings call transcripts with per-speaker tagging and separated Q\&A, plus SEC 8-K filings parsed item by item from EDGAR, as clean structured JSON. One API covers both the words executives said on the call and the material events they filed with the SEC.

Pay-per-result with no start fee and no subscription. A low-cost structured alternative to expensive market data subscriptions that return transcripts as one raw text blob and filings as bare links.

### What you get

**Earnings call transcripts** (structured, not a text blob):

- Every speaker turn tagged with name, role, and role type (executive, analyst, operator)
- Prepared remarks separated from the Q\&A session
- Q\&A pairs: each analyst question matched with the management answers that follow, with analyst firm affiliations
- Call participants roster, fiscal quarter, call date, word and question counts
- Guidance sentences extracted from executive speech
- Finance-dictionary sentiment scores (positive, negative, uncertainty, net)

**SEC 8-K filings** (parsed, not just linked):

- Full item-code classification across the complete 8-K item map, 1.01 through 9.01: earnings (2.02), executive changes (5.02), cybersecurity incidents (1.05), bankruptcies (1.03), M\&A (1.01, 2.01), and every other item
- Per-item parsed text from the primary document
- Press release exhibits (EX-99.1) parsed into headline, outlook section, and body
- Guidance sentence extraction with quantity and period matching, so generic optimism is filtered out
- EDGAR acceptance timestamps for latency-sensitive event studies
- Direct EDGAR links to the filing index, primary document, and press release

**Full-text keyword search**: search any word or phrase across 8-K filings from ALL US companies (for example "guidance withdrawal", "material weakness", "going concern") with date and item filters.

**Monitoring mode**: turn on `onlyNew` with a schedule and each run emits only newly filed 8-Ks and newly published transcripts. A `metadataOnly` cheap mode powers lightweight alerting.

### What you do NOT get

- No audio and no real-time streaming of live calls. Transcripts typically appear within hours of the call.
- Transcript coverage spans roughly 1,000 to 1,500 mostly large and mid cap US companies per earnings quarter, with an archive back to about 2007. Every US filer's 8-Ks are covered, but not every micro cap has a transcript.
- Sentiment scores come from a deterministic finance-domain dictionary, not an LLM. Reproducible and fast, but not a language-model judgment.
- No 10-K or 10-Q financial statements and no XBRL fundamentals. This actor is about 8-K events and earnings calls.

### Use cases

- **LLM training and RAG pipelines**: export clean question-answer pairs and speaker-tagged remarks, ready for fine-tuning and retrieval corpora.
- **Event-driven trading research**: track 8-K item codes with acceptance timestamps, e.g. earnings releases (Item 2.02) or executive departures (Item 5.02), the moment EDGAR disseminates them.
- **Guidance monitoring**: extract forward-looking sentences from press releases and calls for a watchlist, and diff them quarter over quarter.
- **Cross-market screening**: full-text search every US filer's 8-Ks for crisis language such as "going concern" or "restatement".
- **Compliance and IR competitive tracking**: follow what peer companies file and say, in a machine-readable format.

### When to use this actor

| | This actor | Typical market data APIs |
|---|---|---|
| Earnings transcripts | Speaker-tagged turns, Q\&A pairs, roles | Often one raw text blob, or gated to a top tier (FMP transcripts are Ultimate-only at $149/mo billed annually) |
| 8-K filings | Parsed items, press release text, guidance, sentiment | Usually metadata and links only |
| Filing search | Full-text across all US filers | Often a separate product (sec-api.io starts at $49/mo) |
| Pricing | Pay-per-result, no start fee, no subscription | $49 to $149+ per month, annual commitments |
| Structure for AI agents | JSON records, MCP-ready | Varies |

If you need every ticker's transcript back to the 1990s or real-time call audio, a premium vendor is the right tool. For structured transcripts and parsed filings on demand, this actor does it for a fraction of a cent per record.

### 🔌 Integrations: Automate SEC 8-K and Earnings Monitoring

A single run answers one question ("what did NVDA say last quarter?"). The real value comes from running this API repeatedly, so new 8-K filings and fresh transcripts land in your stack the moment they publish. See the full list of [Apify platform integrations](https://docs.apify.com/platform/integrations).

**Tasks and Schedules (the core recipe).** Save one [task](https://docs.apify.com/platform/actors/running/tasks) per thing you watch (a ticker watchlist, or a `searchKeyword` screener like "material weakness"), turn on `onlyNew`, then attach a [schedule](https://docs.apify.com/platform/schedules) from the actor's Actions, then Schedule menu. Each run then emits only records you have not seen. Useful cron strings: `0 6 * * *` (daily 6 AM), `0 */6 * * *` (every 6 hours), `0 13 * * 1-5` (weekday mornings, UTC), `0 9 * * 1` (Mondays). One schedule can trigger many tasks at once.

**n8n.** This API ships an n8n community node (see the n8n integration section below). A four-step monitor: Schedule Trigger, then the Earnings Call Transcript API node with `onlyNew` on, then a Filter on `itemCodes` containing `2.02`, then Slack or email.

**Make and Zapier.** The same pattern works no-code with [Make](https://docs.apify.com/platform/integrations/make) and [Zapier](https://docs.apify.com/platform/integrations/zapier): trigger on a schedule, run the actor, route the new records where you need them.

**Store the history (Supabase).** Send each run's rows into a table so a filing and transcript history accumulates. No-code: the n8n Actor node, then a Supabase node. Or in Python (each row carries `recordType`, `ticker`, `itemCodes`, `sentimentNet`, `guidanceSentences`):

```python
from apify_client import ApifyClient
from supabase import create_client

apify = ApifyClient("YOUR_APIFY_TOKEN")
supabase = create_client("YOUR_SUPABASE_URL", "YOUR_SUPABASE_KEY")

run = apify.actor("johnvc/earnings-call-transcript-api").call(run_input={
    "tickers": ["NVDA", "AAPL", "MSFT"],
    "dataType": "both",
    "onlyNew": True,
})
rows = list(apify.dataset(run["defaultDatasetId"]).iterate_items())
supabase.table("earnings_events").upsert(rows).execute()
```

**MCP and AI agents.** Add this API as a tool in Claude or Cursor through the Apify MCP server so an agent can pull live filings and transcripts (see the Use this API from Claude section below).

**Webhooks.** For anything custom, fire an [Apify webhook](https://docs.apify.com/platform/integrations/webhooks) on `ACTOR.RUN.SUCCEEDED` to push each run's dataset into your own service.

### Pricing

One event, charged per record returned: a parsed 8-K filing or a structured transcript. Error rows are never charged. There is no start fee and no separate subscription.

Worked example: 100 records cost about one cent. A quarterly refresh of a 50-ticker watchlist (one earnings 8-K plus one transcript each) is 100 records.

### Input

| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
| `tickers` | array | one of tickers / searchKeyword | `["AAPL"]` | Stock symbols or CIK numbers |
| `dataType` | enum | yes | `both` | `filings`, `transcripts`, or `both` |
| `filingsLimit` | integer | no | 10 | Max 8-K filings per ticker (1-200); caps total results in keyword mode |
| `transcriptsLimit` | integer | no | 4 | Max transcripts per ticker (1-40), newest first |
| `searchKeyword` | string | one of tickers / searchKeyword | - | Full-text search across ALL US filers; treats dataType as `filings` |
| `eventCategories` | array | no | - | Shortcuts like `earnings`, `executive_changes`, `cybersecurity` that map to item codes |
| `itemCodes` | array | no | - | Exact 8-K item codes, e.g. `["2.02"]` |
| `dateFrom` / `dateTo` | string | no | last ~12 months | `YYYY-MM-DD` window |
| `includeFullText` | boolean | no | false | Adds complete filing, press release, and transcript text |
| `metadataOnly` | boolean | no | false | Skip document parsing; metadata and item codes only |
| `onlyNew` | boolean | no | false | Emit only records not returned by previous runs (monitoring) |

### Example input

Ticker mode, filings and transcripts together:

```json
{
    "tickers": ["AAPL", "NVDA", "MSFT"],
    "dataType": "both",
    "filingsLimit": 5,
    "transcriptsLimit": 1
}
```

Keyword mode, screening every US filer:

```json
{
    "searchKeyword": "guidance withdrawal",
    "dataType": "filings",
    "filingsLimit": 25
}
```

### Sample output

Filing record (trimmed):

```json
{
    "recordType": "filing",
    "ticker": "AAPL",
    "companyName": "Apple Inc.",
    "cik": "0000320193",
    "formType": "8-K",
    "accessionNumber": "0000320193-26-000011",
    "filedDate": "2026-04-30",
    "acceptanceDateTime": "2026-04-30T20:30:41.000Z",
    "eventDate": "2026-04-30",
    "itemCodes": ["2.02", "9.01"],
    "itemNames": ["Results of Operations and Financial Condition", "Financial Statements and Exhibits"],
    "title": "Apple Inc. 8-K: Results of Operations and Financial Condition (Item 2.02)",
    "items": [{"itemCode": "2.02", "itemName": "Results of Operations and Financial Condition", "text": "On April 30, 2026, Apple Inc. issued a press release regarding..."}],
    "pressRelease": {"headline": "Apple reports second quarter results", "outlookText": null, "text": "..."},
    "guidanceSentences": [],
    "sentiment": {"positive": 18.94, "negative": 16.57, "uncertainty": 6.31, "wordCount": 1267, "netScore": 0.067},
    "sentimentNet": 0.067,
    "url": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000011/",
    "documentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000011/aapl-20260430.htm",
    "pressReleaseUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000011/a8-kex991q2202603282026.htm"
}
```

Transcript record (trimmed):

```json
{
    "recordType": "transcript",
    "ticker": "AAPL",
    "companyName": "Apple Inc.",
    "title": "Apple AAPL Q2 2026 Earnings Call Transcript",
    "eventDate": "2026-04-30",
    "fiscalQuarter": "Q2 2026",
    "fiscalYear": 2026,
    "participants": [{"name": "Timothy D. Cook", "role": "Chief Executive Officer", "roleType": "executive"}],
    "preparedRemarks": [{"speaker": "Timothy D. Cook", "role": "Chief Executive Officer", "roleType": "executive", "text": "..."}],
    "qaPairs": [{
        "question": {"speaker": "Erik Woodring", "affiliation": "Morgan Stanley", "text": "..."},
        "answers": [{"speaker": "Timothy D. Cook", "role": "Chief Executive Officer", "text": "..."}]
    }],
    "guidanceSentences": ["We expect June quarter revenue to grow..."],
    "sentiment": {"positive": 21.4, "negative": 6.2, "uncertainty": 8.9, "wordCount": 11842, "netScore": 0.637},
    "sentimentNet": 0.637,
    "speakerCount": 13,
    "questionCount": 16
}
```

### How to get started

1. Open the actor on Apify: [View on Apify Store](https://apify.com/johnvc/earnings-call-transcript-api?fpr=9n7kx3)
2. Enter one or more tickers (or a search keyword) and click Start.
3. Read your records from the run's dataset as JSON, CSV, or Excel.

For a Python quick-start and MCP setup walkthrough, see the [example repo on GitHub](https://github.com/johnisanerd/Apify-Earnings-Call-Transcript-API).

8-K data comes from SEC EDGAR (https://www.sec.gov/cgi-bin/browse-edgar), the SEC's official filing system. No API key is required.

### Run from the API

```bash
curl -X POST "https://api.apify.com/v2/acts/johnvc~earnings-call-transcript-api/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"tickers": ["NVDA"], "dataType": "both", "filingsLimit": 5, "transcriptsLimit": 1}'
```

### 🔌 Use this API from Claude (MCP)

Add this actor as a tool in [Claude Code](https://claude.ai/referral/uIlpa7nPLg) (free trial), [Claude Cowork](https://claude.ai/referral/uIlpa7nPLg) (free trial), or any other MCP client, via the hosted Apify MCP server. Use this actor-specific URL:

https://mcp.apify.com/?tools=actors,docs,johnvc/earnings-call-transcript-api

Setup walkthrough:

https://www.youtube.com/watch?v=jREWahDGhJM

Apify MCP integration docs: https://docs.apify.com/platform/integrations/mcp

Your AI agent can then answer questions like "What guidance did NVDA give on its last earnings call?" or "Which companies filed 8-Ks mentioning material weakness this month?" with live structured data.

### 💸 Pay per run with crypto (x402)

The Earnings Call Transcript API supports agentic payments via the [x402 protocol](https://docs.apify.com/platform/integrations/x402).
AI agents and MCP clients can pay for runs in USDC (on Base) with no Apify account or API token needed:
point your agent at the [Apify MCP server](https://mcp.apify.com/?tools=actors,docs,johnvc/earnings-call-transcript-api) and it can
discover, pay for, and run this Actor autonomously. Read the
[Apify x402 announcement](https://apify.com/change-log/pay-for-apify-actors-with-x402?fpr=9n7kx3) for details.

### n8n integration

Available as an n8n community node, **[n8n-nodes-earnings-call-transcript-api](https://www.npmjs.com/package/n8n-nodes-earnings-call-transcript-api)**. In n8n: Settings, Community Nodes, install `n8n-nodes-earnings-call-transcript-api`, then use it in any workflow. It ships Filing and Transcript resources, a full-text Search operation, and works as an AI Agent tool.

### Applications: Earnings Call Transcript & 8-K Examples

Ready-to-run examples of this API in action. Open any one and run it in a single click.

#### SEC EDGAR 8-K Filings API by Ticker

Pull parsed 8-K filings for any ticker from SEC EDGAR as structured JSON.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/sec-edgar-8-k-filings-api-by-ticker?fpr=9n7kx3)

#### 8-K Filing API: Item Codes, Guidance, Sentiment

Get 8-K filings with classified item codes, guidance sentences, and sentiment.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/8-k-filing-api-item-codes-guidance-sentiment?fpr=9n7kx3)

#### NVDA Earnings Call Transcript API in JSON

Speaker-tagged NVIDIA earnings call transcript with Q\&A pairs and sentiment.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/nvda-earnings-call-transcript?fpr=9n7kx3)

#### AAPL Earnings Call Transcript API in JSON

Apple's latest earnings call as structured JSON, prepared remarks separated from Q\&A.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/aapl-earnings-call-transcript?fpr=9n7kx3)

#### MSFT Earnings Call Transcript API in JSON

Microsoft earnings call transcript with per-speaker roles and guidance sentences.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/msft-earnings-call-transcript?fpr=9n7kx3)

#### TSLA Earnings Call Transcript API in JSON

Tesla earnings call transcript, Q\&A pairs matched to analyst firms.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/tsla-earnings-call-transcript?fpr=9n7kx3)

#### AMZN Earnings Call Transcript API in JSON

Amazon earnings call transcript as clean structured records.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/amzn-earnings-call-transcript?fpr=9n7kx3)

#### META Earnings Call Transcript API in JSON

Meta earnings call transcript with sentiment scores and participant roster.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/meta-earnings-call-transcript?fpr=9n7kx3)

#### GOOGL Earnings Call Transcript API in JSON

Alphabet earnings call transcript, prepared remarks and Q\&A separated.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/googl-earnings-call-transcript?fpr=9n7kx3)

#### AMD Earnings Call Transcript API in JSON

AMD earnings call transcript with speaker tagging and finance-dictionary sentiment.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/amd-earnings-call-transcript?fpr=9n7kx3)

#### NFLX Earnings Call Transcript API in JSON

Netflix earnings call transcript as JSON, ready for RAG and analysis.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/nflx-earnings-call-transcript?fpr=9n7kx3)

#### AVGO Earnings Call Transcript API in JSON

Broadcom earnings call transcript with Q\&A pairs and guidance extraction.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/avgo-earnings-call-transcript?fpr=9n7kx3)

#### SEC 8-K Item 5.02 Executive Departure Tracker

Track executive departures and appointments the moment they hit EDGAR.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/sec-8k-executive-departure-tracker?fpr=9n7kx3)

#### SEC 8-K Cybersecurity Incident Monitor (1.05)

Monitor Item 1.05 material cybersecurity incident disclosures across all filers.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/sec-8k-cybersecurity-incident-monitor?fpr=9n7kx3)

#### SEC 8-K Item 2.02 Earnings Release Feed

A feed of Item 2.02 earnings releases with parsed press release text.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/sec-8k-earnings-release-feed?fpr=9n7kx3)

#### SEC 8-K Material Events Watchlist Monitor

Watch a ticker list for any material 8-K event on a schedule.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/sec-8k-material-events-monitor?fpr=9n7kx3)

#### Material Weakness Disclosure Screener (SEC)

Full-text screen every US filer's 8-Ks for "material weakness" language.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/material-weakness-disclosure-screener?fpr=9n7kx3)

#### Going Concern Warning Screener (SEC 8-K)

Surface going-concern language across recent 8-K filings.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/going-concern-warning-screener?fpr=9n7kx3)

#### Guidance Withdrawal Screener (SEC Filings)

Find companies withdrawing or cutting guidance in their filings.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/guidance-withdrawal-screener?fpr=9n7kx3)

#### Financial Restatement Screener (SEC 8-K)

Screen 8-K filings for financial restatement disclosures.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/financial-restatement-screener?fpr=9n7kx3)

#### Earnings Call Q\&A Pairs Dataset for LLM & RAG

Export matched analyst-question and management-answer pairs as a training corpus.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/earnings-call-qa-dataset-llm-rag?fpr=9n7kx3)

#### Earnings Guidance Monitor (Calls & 8-K)

Track forward-looking guidance sentences from calls and press releases quarter over quarter.
[Run this task](https://apify.com/johnvc/earnings-call-transcript-api/examples/earnings-guidance-monitor?fpr=9n7kx3)

### 🔗 Related Tools

Building a market-intelligence pipeline? These tools from the same catalog pair well with 8-K filings and earnings transcripts:

- [Google Finance API](https://apify.com/johnvc/google-finance-api?fpr=9n7kx3): live quotes, financials, and market data to pair with the events you track here.
- [Congress Financial Disclosures & Stock Trades](https://apify.com/johnvc/us-congress-financial-disclosures-and-stock-trading-data?fpr=9n7kx3): another primary-source financial signal, congressional trades filed with the government.
- [Crunchbase Company API](https://apify.com/johnvc/crunchbase-company-api?fpr=9n7kx3): company firmographics, funding rounds, and investors for the names on your watchlist.
- [Investment Finance Professionals (SEC adviser contacts)](https://apify.com/johnvc/SECInvestmentAdvisorContacts?fpr=9n7kx3): contact data for SEC-registered investment advisers.

Alternatives such as [nexgendata/earnings-transcripts](https://apify.com/nexgendata/earnings-transcripts?fpr=9n7kx3) exist, but charge on the order of $0.50 per record (several thousand times the per-record cost here) and show minimal adoption. This API returns speaker-tagged transcripts and item-parsed 8-Ks as clean JSON, pay-per-result, with no start fee.

### FAQ

#### Which companies have transcripts?

Roughly 1,000 to 1,500 mostly large and mid cap US companies per earnings quarter, with an archive reaching back to about 2007. 8-K filings cover every US public filer without exception. If a transcript is not available for a ticker, the run returns a clear uncharged note instead of failing.

#### How fresh is the data?

8-K records are available minutes after EDGAR accepts the filing; the record carries the exact acceptance timestamp. Transcripts typically publish within hours of the call for large caps, and up to a day or two for smaller names.

#### What do the 8-K item codes mean?

Every 8-K reports numbered items. The most watched: 2.02 results of operations (earnings), 5.02 executive departures and appointments, 1.05 material cybersecurity incidents, 1.03 bankruptcy, 2.01 completed acquisitions, 7.01 Regulation FD disclosures, 8.01 other events. The actor classifies all items from 1.01 through 9.01 and includes human-readable names in every record.

#### Is the sentiment score from an LLM?

No. Scores come from a deterministic finance-domain dictionary (positive, negative, and uncertainty word counts per 1,000 words, with negation handling). The same document always produces the same score, which matters for research reproducibility.

#### Why did I get fewer results than my limit?

The limits are maximums. A company may have fewer 8-Ks in the date window, or fewer transcripts than requested. In keyword mode, only filings matching your phrase count toward the limit.

#### Can I search filings without a ticker?

Yes. Set `searchKeyword` and leave `tickers` empty to run a full-text search across all US filers. Add `tickers` to narrow the search to specific companies.

#### Can I monitor filings on a schedule?

Yes. Enable `onlyNew` and add a schedule in Apify. Each run then emits only records that previous runs have not returned, which is ideal for alerting pipelines. Combine with `metadataOnly` for the cheapest possible polling. See the Integrations section above for the full Tasks-and-Schedules recipe with cron examples.

#### What is an 8-K filing?

An 8-K is the "current report" US public companies file with the SEC to announce material events between quarterly reports: earnings, executive changes, acquisitions, bankruptcies, cybersecurity incidents, and more. This API parses each 8-K from [SEC EDGAR](https://www.sec.gov/cgi-bin/browse-edgar) into item codes, press release text, and guidance sentences. Background: [Form 8-K](https://en.wikipedia.org/wiki/Form_8-K).

#### What does an earnings call transcript include?

Each transcript record separates prepared remarks from the Q\&A session, tags every speaker with name, role, and role type (executive, analyst, operator), matches each analyst question to the management answers that follow, and adds guidance sentences and finance-dictionary sentiment. See [earnings call](https://en.wikipedia.org/wiki/Earnings_call) for background.

#### Should I use an API or a web scraper for earnings data?

Both, and this actor is both. An official market-data API is usually rate limited, quota bound, and gates transcripts behind a high tier, while a plain [web scraper](https://en.wikipedia.org/wiki/Web_scraping) returns messy HTML. This actor gives you the clean, structured result of a purpose-built [API](https://en.wikipedia.org/wiki/API): call it yourself, pay per record, no quotas, and get the same JSON whether you want one ticker or a full-text screen of every filer.

#### Can I use this API programmatically?

Yes. The Apify API runs the actor, schedules it, and fetches datasets, and the `apify-client` package exists for both Node.js and Python. See the Run from the API section above, or the actor's [API tab](https://apify.com/johnvc/earnings-call-transcript-api/api?fpr=9n7kx3).

#### Can I use the Earnings Call Transcript API through an MCP server?

Yes. Add it as a tool in any MCP client (Claude, Cursor, and others) through the hosted [Apify MCP server](https://mcp.apify.com/) with the actor-specific URL `https://mcp.apify.com/?tools=actors,docs,johnvc/earnings-call-transcript-api`. In [Claude Code](https://claude.ai/referral/uIlpa7nPLg) (free trial) or [Claude Cowork](https://claude.ai/referral/uIlpa7nPLg) (free trial) your agent can then answer questions like "what guidance did NVDA give last quarter?" with live data. See the [Apify MCP docs](https://docs.apify.com/platform/integrations/mcp).

#### Can I integrate this API with other apps?

Yes. It connects to almost any cloud service through [Apify integrations](https://docs.apify.com/platform/integrations): [Make](https://docs.apify.com/platform/integrations/make), [Zapier](https://docs.apify.com/platform/integrations/zapier), [Slack](https://docs.apify.com/platform/integrations/slack), the n8n community node, and [webhooks](https://docs.apify.com/platform/integrations/webhooks) on `ACTOR.RUN.SUCCEEDED` for custom actions. See the Integrations section above for full recipes.

#### How else can I collect SEC and market data?

Pair this API with related tools in the same catalog: the [Google Finance API](https://apify.com/johnvc/google-finance-api?fpr=9n7kx3) for quotes and financials, [Congress Financial Disclosures & Stock Trades](https://apify.com/johnvc/us-congress-financial-disclosures-and-stock-trading-data?fpr=9n7kx3) for another primary-source signal, and the [Crunchbase Company API](https://apify.com/johnvc/crunchbase-company-api?fpr=9n7kx3) for company funding and firmographics.

***

### 🌐 About Alpha OSINT

This Actor is part of [Alpha OSINT](https://www.alphaosint.com), toolset of financial and operations data sources and APIs.
See the [Earnings Call Transcript API - SEC 8-K source page](https://www.alphaosint.com/sources/earnings-call-transcript-api-sec-8-k-filings-parser-monitor/) for related tools and use cases.
For support or requests for this actor, please start a ticket [directly on our support page](https://apify.com/johnvc/earnings-call-transcript-api/issues/open?fpr=9n7kx3).

Last Updated: 2026.08.04

# Actor input Schema

## `tickers` (type: `array`):

List stock ticker symbols to fetch, for example 'AAPL' or 'NVDA'. CIK numbers also work. Each ticker is processed independently and tagged in the output. Leave empty only when Search Keyword is set, which switches the Actor to full-text search across all US companies.

## `dataType` (type: `string`):

Choose what to return: parsed SEC 8-K filings, structured earnings call transcripts, or both.

## `filingsLimit` (type: `integer`):

Set how many 8-K filings to return per ticker, newest first. In keyword search mode this caps total results across all companies. Default 10.

## `transcriptsLimit` (type: `integer`):

Set how many earnings call transcripts to return per ticker, newest quarter first. Default 4, which covers one year of calls.

## `searchKeyword` (type: `string`):

Search this word or phrase across 8-K filings from ALL US companies using SEC EDGAR full-text search, for example 'guidance withdrawal' or 'material weakness'. When set, tickers become an optional company filter and dataType is treated as 'filings'.

## `eventCategories` (type: `array`):

Filter 8-K filings to these event categories, for example 'earnings' or 'executive\_changes'. Each category maps to the matching 8-K item codes. Combine freely with Item Codes below.

## `itemCodes` (type: `array`):

Filter 8-K filings to these item codes, for example '2.02' (results of operations), '5.02' (officer departures), or '1.05' (material cybersecurity incidents). Accepts any code from the full 8-K item map 1.01 through 9.01. Leave empty to return filings for all items.

## `dateFrom` (type: `string`):

Return only filings and transcripts dated on or after this date, format YYYY-MM-DD, for example 2025-01-01. Leave empty to default to roughly the last 12 months.

## `dateTo` (type: `string`):

Return only filings and transcripts dated on or before this date, format YYYY-MM-DD. Leave empty for no upper bound.

## `includeFullText` (type: `boolean`):

Include the complete per-item filing text, full press release body, and full transcript in every record. Off by default to keep records small; structured fields (speakers, Q\&A pairs, guidance sentences, sentiment scores) are always included.

## `metadataOnly` (type: `boolean`):

Return filing metadata and item codes without fetching or parsing document bodies. Faster and lighter, ideal for alerting on new filings. Off by default.

## `onlyNew` (type: `boolean`):

Skip records already returned by previous runs of this Actor on your account. Turn on together with a schedule to emit only newly filed 8-Ks and newly published transcripts on each run.

## Actor input object example

```json
{
  "tickers": [
    "AAPL"
  ],
  "dataType": "both",
  "filingsLimit": 10,
  "transcriptsLimit": 4,
  "includeFullText": false,
  "metadataOnly": false,
  "onlyNew": false
}
```

# Actor output Schema

## `records` (type: `string`):

Every transcript and filing record stored in the default dataset, with full nested structure (qaPairs, preparedRemarks, participants, items).

## `overview` (type: `string`):

Cross-type table: type, ticker, company, date, 8-K items, quarter, sentiment, guidance, and filing link.

## `filings` (type: `string`):

SEC 8-K event view: item codes and names, form type, filed/report/acceptance dates, sentiment, and the three EDGAR links.

## `transcripts` (type: `string`):

Earnings-call index: fiscal period, call date, speaker/question/word counts, sentiment, and guidance.

## `qaPairs` (type: `string`):

One row per analyst Q\&A exchange: question speaker, affiliation, question text, and management answers. Built for RAG and LLM ingestion.

## `participants` (type: `string`):

One row per speaker: ticker, company, quarter, name, role, and role type.

## `search` (type: `string`):

Full-text keyword-search results: matched keyword, highlighted snippets, matched document, item codes, and EDGAR links.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "tickers": [
        "AAPL"
    ],
    "dataType": "both"
};

// Run the Actor and wait for it to finish
const run = await client.actor("johnvc/earnings-call-transcript-api").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "tickers": ["AAPL"],
    "dataType": "both",
}

# Run the Actor and wait for it to finish
run = client.actor("johnvc/earnings-call-transcript-api").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "tickers": [
    "AAPL"
  ],
  "dataType": "both"
}' |
apify call johnvc/earnings-call-transcript-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=johnvc/earnings-call-transcript-api",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/OYmaEgBLPCE3cDiCQ/builds/WcKwAbaiMKfUMSQmf/openapi.json
