# Earnings Call Transcripts — SEC EDGAR 8-K Prepared Remarks (`gochujang/earnings-call-transcript`) Actor

Extract earnings call transcripts from SEC EDGAR 8-K filings (Exhibit 99.1). Search by ticker and date range. Returns full prepared remarks text for LLM sentiment analysis, quant signal extraction, and competitive intelligence. Free SEC public data. $0.05/transcript.

- **URL**: https://apify.com/gochujang/earnings-call-transcript.md
- **Developed by:** [Hojun Lee](https://apify.com/gochujang) (community)
- **Categories:** Business, AI
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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

### What does Earnings Call Transcript Extractor do?

The **Earnings Call Transcript Extractor** is an **earnings call transcript scraper** that pulls prepared remarks directly from **SEC EDGAR 8-K filings** — the same authoritative filings institutional investors read. Provide a list of stock tickers and a date range, and the actor returns structured, full-text transcripts for every matching filing. Because it reads from **SEC EDGAR public data**, no third-party subscription or API key is required.

### Why use Earnings Call Transcript Extractor?

**Institutional-grade earnings data at a fraction of the cost.** The actor accesses the same **SEC filing data** that powers Wall Street research desks, without enterprise pricing:

- **LLM sentiment analysis** — pipe CEO and CFO remarks directly into GPT-4 or Claude to score guidance tone, extract forward-looking statements, and flag risk language automatically.
- **Quant signal extraction** — detect guidance raises/cuts, capex signals, hiring commentary, and margin language that drives **event-driven trading** strategies.
- **Competitive intelligence** — monitor rival company earnings calls in bulk to understand market positioning and product roadmap signals across an entire sector.
- **Compliance and IR research** — automate transcript archiving and earnings monitoring across a portfolio of dozens of holdings without manual downloads.
- **NLP and ML training data** — build large-scale **quarterly earnings API** datasets from hundreds of companies for financial language model fine-tuning.

| Source | Monthly Cost | Coverage |
|--------|-------------|----------|
| **This actor** | ~$0.50/run | All SEC-filing US companies |
| Seeking Alpha Premium | $239/month | Most US companies |
| Bloomberg Transcript Service | $2,000+/month | Global (enterprise only) |
| FactSet | Custom pricing | Global (enterprise only) |

### How to use Earnings Call Transcript Extractor

1. Open the actor on Apify and click **Try for free**.
2. Enter one or more stock tickers in the `tickers` field (e.g. `["AAPL", "MSFT", "NVDA"]`).
3. Set `dateFrom` and `dateTo` to your desired earnings window (defaults to the past 90 days).
4. Optionally adjust `maxPerCompany` (default: 4) and `outputFormat` (`full` or `summary`).
5. Click **Run** — transcripts are returned in the dataset within seconds to a few minutes depending on batch size.
6. Export results as JSON, CSV, or connect downstream via the Apify API.

### Input

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `tickers` | string\[] | required | Stock tickers, e.g. `["AAPL", "MSFT", "NVDA"]` |
| `dateFrom` | string | 90 days ago | Search from date (`YYYY-MM-DD`) |
| `dateTo` | string | today | Search up to date (`YYYY-MM-DD`) |
| `maxPerCompany` | integer | 4 | Max transcripts per company (1–20) |
| `includeFullText` | boolean | true | Include full transcript text in output |
| `outputFormat` | string | `full` | `full` = complete text; `summary` = prepared remarks only |

### Output

Each transcript is returned as a structured JSON record:

```json
[
  {
    "ticker": "AAPL",
    "company_name": "Apple Inc.",
    "fiscal_quarter": "Q1 2026",
    "filing_date": "2026-01-30",
    "cik": "320193",
    "accession_number": "0000320193-26-000010",
    "sec_url": "https://www.sec.gov/Archives/edgar/data/320193/.../ex99-1.htm",
    "text_length": 42800,
    "word_count": 7100,
    "source": "SEC EDGAR 8-K",
    "transcript_text": "Apple Inc. Q1 FY2026 Earnings Call\n\nTim Cook - CEO:\nRevenue was $124.3 billion, up 4% year over year..."
  },
  {
    "_type": "summary",
    "total_transcripts": 8,
    "companies_covered": ["AAPL", "MSFT"],
    "date_from": "2025-11-01",
    "date_to": "2026-01-31",
    "run_at": "2026-01-31T14:22:00Z"
  }
]
```

### Data fields

| Field | Description |
|-------|-------------|
| `ticker` | Stock exchange ticker symbol |
| `company_name` | Full legal company name from SEC records |
| `fiscal_quarter` | Estimated fiscal quarter (e.g. `Q1 2026`) |
| `filing_date` | Date the 8-K was filed with SEC EDGAR |
| `cik` | SEC Central Index Key — unique company identifier |
| `accession_number` | SEC EDGAR filing accession number |
| `sec_url` | Direct URL to the exhibit 99.1 transcript document |
| `text_length` | Character count of extracted transcript |
| `word_count` | Word count of extracted transcript |
| `source` | Always `"SEC EDGAR 8-K"` |
| `transcript_text` | Full prepared remarks text (when `includeFullText` is true) |

### Cost estimation

| Scenario | Transcripts | Estimated Cost |
|----------|-------------|---------------|
| Single company, last quarter | 1 | ~$0.05 |
| 5 tickers, last quarter | 5–10 | $0.25–$0.50 |
| 20 tickers, full year | 80 | ~$4.00 |
| S\&P 500 Q4 sweep | 500 | ~$25.00 |

**Pricing**: $0.001 per run start + **$0.05 per transcript** returned.

Compare to Seeking Alpha Premium at $239/month — a single run covers a full portfolio for under $1.

### FAQ

**Does this cover Q\&A sections of earnings calls?**
Coverage depends on what the company files as Exhibit 99.1 in their 8-K. Many companies file prepared remarks only; some include the full transcript with Q\&A. The actor extracts whatever is filed — the output `word_count` field is a good indicator of whether Q\&A is included.

**How current is the data?**
The actor queries SEC EDGAR in real time, so transcripts typically appear within minutes to hours of the 8-K being filed. There is no caching delay — you always get the latest available filing.

**Can I use this for automated trading signals?**
Yes — the actor is designed for **event-driven strategies**. Schedule it to run after market close on earnings days and pipe the output to your signal engine. All data is from official SEC public records, so there are no legal restrictions on use for trading research.

***

**Disclaimer:** This actor retrieves publicly available data from SEC EDGAR under the SEC's public data policy. It is not affiliated with the SEC. Users are responsible for complying with applicable laws governing the use of financial data for trading or investment decisions.

**Keywords:** earnings call transcript scraper, SEC filing data, quarterly earnings API, SEC EDGAR 8-K, investor relations, LLM finance, sentiment analysis, quant signal, financial NLP, event-driven trading

***

### Related actors

- [SEC Company Financials](https://apify.com/gochujang/sec-company-financials) — EDGAR balance sheet, income, and cash flow data to pair with earnings transcript sentiment
- [Yahoo Finance Historical Price Fetcher](https://apify.com/gochujang/yahoo-finance-history) — OHLCV price reaction to earnings releases for post-earnings drift analysis
- [Earnings Surprise Tracker](https://apify.com/gochujang/earnings-surprise-tracker) — EPS beat/miss data to contextualize transcript tone and guidance language

### Feedback

If this actor powers your earnings research, a review helps others find it: [Leave a review on Apify Store](https://apify.com/gochujang/earnings-call-transcript#reviews)

# Actor input Schema

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

List of stock tickers to search for, e.g. \["AAPL", "MSFT", "NVDA"]

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

Search filings from this date (YYYY-MM-DD). Defaults to 90 days ago.

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

Search filings up to this date (YYYY-MM-DD). Defaults to today.

## `maxPerCompany` (type: `integer`):

Maximum number of transcripts to retrieve per company.

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

Include the full transcript text in output. If false, only metadata is returned.

## `outputFormat` (type: `string`):

full = complete transcript text; summary = prepared remarks section only (shorter, cleaner)

## Actor input object example

```json
{
  "tickers": [
    "AAPL",
    "MSFT"
  ],
  "maxPerCompany": 4,
  "includeFullText": true,
  "outputFormat": "full"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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",
        "MSFT"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("gochujang/earnings-call-transcript").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",
        "MSFT",
    ] }

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

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).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",
    "MSFT"
  ]
}' |
apify call gochujang/earnings-call-transcript --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,gochujang/earnings-call-transcript"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

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