Motley Fool Earnings Call Transcripts Scraper
Motley Fool Earnings Call Transcripts Scraper
Scrape earnings call transcripts from Motley Fool's free archive. Extracts full transcript text (prepared remarks + Q&A), call participants, company ticker, fiscal quarter, published date, and article metadata. Archive spans 2007 to present with ~1,000–1,500 new transcripts per earnings quarter.
What it does
The actor operates in two modes:
Direct URL mode — provide specific transcript URLs and get results immediately. No sitemap walking, no date filtering.
Discovery mode — walk Motley Fool's monthly XML sitemaps for a configured year range (startYear–endYear), filter to transcript URLs, and extract each one. Supports optional ticker filtering.
For each transcript the actor extracts:
- Company name, ticker symbol, and exchange (e.g.,
NASDAQ) - Fiscal quarter label (e.g.,
Q1 2026) - Date of the earnings call
- Article publication date (ISO 8601)
- Author / transcript editor name
- Headline from structured data
- List of call participants with their roles
- Full transcript text
- Prepared remarks (pre-Q&A portion)
- Q&A section (from first analyst question onward)
- AI-generated summary (when present)
Use cases
- Build earnings sentiment analysis pipelines
- Train LLMs on executive communication and financial language
- Track company-specific commentary across quarters
- Monitor guidance language and forward-looking statements
- Research competitor disclosures by ticker
Input
| Field | Type | Description |
|---|---|---|
startUrls |
String list | Specific transcript URLs to scrape. When provided, bypasses sitemap discovery entirely. |
startYear |
Integer | Earliest publication year for discovery mode. Default: current year. |
endYear |
Integer | Latest publication year for discovery mode (inclusive). Default: current year. |
tickerFilter |
String | Only return transcripts matching this ticker symbol (e.g., AAPL). Case-insensitive. Leave blank for all tickers. |
maxItems |
Integer | Maximum number of transcripts to return. 0 = no limit. |
Direct URL example
{
"startUrls": [
"https://www.fool.com/earnings/call-transcripts/2026/05/09/maravai-mrvi-q1-2026-earnings-transcript/",
"https://www.fool.com/earnings/call-transcripts/2026/04/30/twilio-twlo-q1-2026-earnings-transcript/"
],
"maxItems": 5
}
Discovery mode example (all transcripts from Q1 2026)
{
"startYear": 2026,
"endYear": 2026,
"maxItems": 100
}
Ticker filter example
{
"startYear": 2020,
"endYear": 2026,
"tickerFilter": "AAPL",
"maxItems": 0
}
Output
Each dataset record has these fields:
| Field | Description |
|---|---|
article_url |
Full URL of the Motley Fool transcript article |
article_slug |
URL slug, e.g. maravai-mrvi-q1-2026-earnings-transcript |
company_name |
Company name extracted from slug, e.g. Maravai |
ticker |
Stock ticker symbol, e.g. MRVI |
exchange |
Stock exchange, e.g. NASDAQ |
fiscal_quarter |
Fiscal quarter label, e.g. Q1 2026 |
call_date |
Date of the earnings conference call, e.g. May 7, 2026 |
published_date |
Article publication date (ISO 8601), e.g. 2026-05-09T20:15:31.000Z |
author |
Transcript editor or contributor name |
headline |
Article headline from structured data |
canonical_url |
Canonical URL from the article |
summary |
AI-generated summary paragraph (when present) |
call_participants |
List of participants in Role — Name format |
transcript_full |
Full conference call transcript text |
prepared_remarks |
Text of the prepared remarks portion (before Q&A) |
qa_section |
Text of the Q&A portion (from first analyst question onward) |
Sample record
{
"article_url": "https://www.fool.com/earnings/call-transcripts/2026/05/09/maravai-mrvi-q1-2026-earnings-transcript/",
"article_slug": "maravai-mrvi-q1-2026-earnings-transcript",
"company_name": "Maravai",
"ticker": "MRVI",
"exchange": "NASDAQ",
"fiscal_quarter": "Q1 2026",
"call_date": "May 7, 2026",
"published_date": "2026-05-09T20:15:31.000Z",
"author": "Motley Fool Transcribing",
"call_participants": [
"Chief Executive Officer — Trey Martin",
"Chief Financial Officer — Kevin Herde",
"Analyst — Derik De Bruin"
],
"prepared_remarks": "...",
"qa_section": "...",
"transcript_full": "..."
}
Performance
- No proxy required — Motley Fool's transcript pages are publicly accessible
- Default concurrency: 3 parallel requests (conservative for Cloudflare CDN)
- Archive size: ~80k–120k transcripts historically; ~1,000–1,500 new per earnings season
- Sitemap for a single month contains 1,000–1,500 entries (processed in-memory)
Pricing
Pay-per-result pricing: $0.10 per start + $0.001 per transcript.
- 100 transcripts: ~$0.20
- 1,000 transcripts: ~$1.10
- Full quarterly archive (~1,500 transcripts): ~$1.60
Notes
- Only transcript articles are scraped —
/earnings/call-transcripts/URL path - The
tickerFilterapplies only in discovery mode; in direct URL mode, all provided URLs are fetched - Transcripts with no Q&A section (rare) have
qa_sectionas an empty string andprepared_remarksas the full text - The actor does not follow pagination links on listing pages; it uses sitemaps for scalable discovery