MCP · 33,000+ calls · 70 countries

Give your AI every earnings call.

Public companies · earnings call transcripts
Models & agents
earningscalls.dev
MCP server or API

Connect earnings-call transcripts to Claude with one URL - or pull speaker-segmented JSON.
No scraping, no parsing, no SDK to learn. The easy API to feed your favorite LLM model.

Wire it to your stack in minutes, not days.

Use the MCP connector for zero-code access from Claude, or hit the REST API directly inside your own agents and pipelines.

01

Claude via MCP

Generate a personal, revocable connector URL from your dashboard, paste it into Claude Desktop or claude.ai, and query earnings data in plain English. 13 tools — search, speakers, summaries, ticker aggregates. Beta.

POST /u/<token>/mcp
02

RAG-ready speaker chunks

Every transcript pre-split by speaker with role tags. Segments map 1:1 to embedding chunks — no recursive splitters, no overlap heuristics. Ticker, sector, role, and date ship with every chunk.

GET /api/v1/speakers/:id
03

Full-text retrieval

Google-style operators in the q param — exact phrase, AND / OR, negation. Filter by ticker, sector, country, or date before you embed a single token.

GET /api/v1/search?q=…
04

Incremental polling

Cursor-based since / after_id pagination. Idempotent and re-runnable — pick up new calls without duplicates and keep your vector store fresh as the corpus grows daily.

GET /api/v1/transcripts/recent

Run a real live query.

Change the ticker, click Run, see the actual response.

Select a test phrase
GET /api/v1/search?q=agentic AI&type=speakers&speaker_type=Executive&ticker=NVDA&limit=5
API online · ~45ms

Connect any LLM and AI.

Automate when you're ready. Cancel anytime.

Pro
$ 24.99 /month

Full access for builders and traders

  • ✓ 5,000 requests / month
  • ✓ 20 requests / minute
  • ✓ Personal use - up to 50 MAU
  • ✓ Full transcript text + speaker segments
  • ✓ Boolean + phrase full-text search
  • ✓ Cross-ticker aggregates (up to 500/call)
  • ✓ MCP connector for Claude & more
  • ✓ Cursor-based polling for ETL
Enterprise
$ 299 /month

High-volume production workloads

  • ✓ 100,000 requests / month
  • ✓ 120 requests / minute
  • ✓ Commercial use - up to 10,000 MAU
  • ✓ Everything in Ultra
  • ✓ MCP connector for Claude & more
  • ✓ Highest concurrency tier
  • ✓ Dedicated support contact
  • ✓ DPA available on request

Questions LLM devs actually ask

MCP setup, RAG chunks, retrieval, and coverage.

How does the MCP connector work?

Generate a personal connector URL from your dashboard (Connectors → Generate URL). In Claude Desktop: Settings → Developer → Edit Config → add it under mcpServers, save, restart. In claude.ai: Settings → Connectors → Add custom connector → paste the URL. Each URL is independently revocable — generate one per device or workspace. Currently in Beta and exposes 13 tools (search, speakers, summaries, cross-ticker counts, …) callable in natural language.

Why are speaker segments good for RAG?

Each transcript is pre-split into segments by speaker, so one segment is a natural embedding chunk — no recursive character splitting, no overlap tuning. Every segment carries speaker_type, speaker_name, and text_content, and the parent call carries ticker, sector, country, and date. That metadata travels with each chunk for clean filtering and citations.

What are the speaker roles? Do you break out CEO vs CFO?

Segments are tagged into five roles: Executives (825,980 segments), Analysts (469,689), Operator (207,885), Attendees (33,157), Shareholders (4,266). Roles are grouped — we tag Executives, not separate CEO / CFO labels — and the speaker's name is included where the source identifies it (about 93% of segments are named).

What's the coverage and how far back does it go?

Coverage started late July 2025 and grows daily as new calls land (typically within hours of the call ending). The archive currently spans roughly 10 months across 33,000+ calls from ~16,000 companies in 70 countries and 90 exchanges, all 11 GICS sectors — about three-quarters non-US. Scope any query with date_from / date_to. Built for live monitoring and a forward-growing corpus, not deep historical backfill.

How do I authenticate? Is there an SDK?

Pass your key in the X-API-Key header (or api_key query for quick tests). There is no SDK to install — plain REST/JSON works in any language, and the OpenAPI 3.0 spec at /docs can generate a typed client if you want one. We do not publish official libraries.

What are the rate limits?

By tier: Pro 20/min · 5,000/mo, Ultra 60/min · 25,000/mo, Enterprise 120/min · 100,000/mo. The cross-ticker aggregate (/search/by_ticker) counts as a single request even when scoped to 500 tickers — the cheap way to scan a universe.

How fresh is the data? Can I get push notifications?

New transcripts typically land within hours of the call ending. The earnings calendar updates daily from the Nasdaq feed. All tiers pull updates via cursor polling — hit /api/v1/transcripts/recent with since or after_id and you get only what's new, idempotently. Cheap to run on a cron — perfect for a vector-store refresh job.

Can I try it before paying?

Read any transcript free in the browser, no signup. The API, MCP connector, speaker segments, and search are on the paid plans (from $24.99/mo) — no free API tier, but plans are monthly and cancel anytime, so you can spin up, test against real data, and cancel within a cycle if it isn't a fit.

Cancel anytime? Refunds?

All plans are monthly and self-service from the dashboard. Cancel whenever, no annual lock-in. Refunds go through Paddle at paddle.net or via support[at]earningscalls.dev.