earningscalls-dev Transcripts API
Full transcript text (Pro/Enterprise)
Full transcript text (Pro/Enterprise)
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/earningscalls-dev:earningscalls-dev-transcripts-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Earnings Call Transcripts API
description: Access our growing archive of earnings call transcripts from publicly traded companies across 70+ countries and 175+ exchanges. Full-text search, speaker segments, and structured data.
version: 1.0.0
contact:
name: API Support
url: https://earningscalls.dev
servers:
- url: https://earningscalls.dev
description: Production server
security:
- ApiKeyAuth: []
tags:
- name: Transcripts
description: Full transcript text (Pro/Enterprise)
paths:
/api/v1/transcripts/recent:
get:
summary: Recently Added Transcripts
tags:
- Transcripts
description: List transcripts in the order they landed in our database, newest first. Use cursor-based pagination (`since` and/or `after_id`) for stable polling. Returns metadata only — fetch full text via /api/v1/transcripts/:id. Available on the Free tier.
parameters:
- schema:
type: string
format: date-time
in: query
name: since
required: false
description: Only return transcripts added after this ISO 8601 timestamp (inclusive of microseconds, exclusive of the boundary).
- schema:
type: integer
minimum: 1
in: query
name: after_id
required: false
description: Cursor for sub-second stability — only return transcripts with earnings_call_id > this value (paired with the previous `next_after_id`).
- schema:
type: string
format: date-time
in: query
name: event_since
required: false
description: Additionally filter by the earnings call event date — only return calls that happened on or after this ISO 8601 timestamp.
- schema:
type: integer
minimum: 1
maximum: 100
default: 50
in: query
name: limit
required: false
responses:
'200':
description: Default Response
operationId: getApiV1TranscriptsRecent
x-operation-id-source: derived
/api/v1/transcripts/{earningsId}:
get:
summary: Get Full Transcript
tags:
- Transcripts
description: Get the complete transcript text for an earnings call. Pro/Enterprise plans only. Pass limit/offset to read long transcripts in chunks (follow next_offset) and section=qa for only the Q&A.
parameters:
- schema:
type: string
enum:
- full
- components
- summary
default: full
in: query
name: format
required: false
description: Response format
- schema:
type: string
enum:
- prepared_remarks
- qa
in: query
name: section
required: false
description: Only this part of the call. Q&A starts at the first analyst turn (first shareholder turn if there are no analysts).
- schema:
type: integer
minimum: 0
in: query
name: offset
required: false
description: Character offset into the transcript text (use next_offset from the previous response)
- schema:
type: integer
minimum: 1
maximum: 100000
in: query
name: limit
required: false
description: Max characters of transcript text to return
- schema:
type: integer
in: path
name: earningsId
required: true
description: Earnings call ID
responses:
'200':
description: Default Response
operationId: getApiV1TranscriptsByEarningsId
x-operation-id-source: derived
/api/v1/transcripts/{earningsId}/summary:
get:
summary: Get Transcript Summary
tags:
- Transcripts
description: Get the AI-generated summary of a call (summary, main topics, key metrics, guidance, analyst concerns, conclusion) where one exists, mainly S&P 500 calls. ai_summary is null otherwise. Always includes a 500-character preview and the full transcript length.
parameters:
- schema:
type: integer
in: path
name: earningsId
required: true
description: Earnings call ID
responses:
'200':
description: Default Response
operationId: getApiV1TranscriptsByEarningsIdSummary
x-operation-id-source: derived
/api/v1/transcripts/{earningsId}/components:
get:
summary: Get Transcript Components
tags:
- Transcripts
description: Get structured transcript data including header info, call participants, and component sections.
parameters:
- schema:
type: string
enum:
- prepared_remarks
- qa
in: query
name: section
required: false
description: Only this part of the call. Q&A starts at the first analyst turn (first shareholder turn if there are no analysts).
- schema:
type: integer
minimum: 1
in: query
name: page
required: false
- schema:
type: integer
minimum: 1
maximum: 200
in: query
name: limit
required: false
description: Components per page
- schema:
type: integer
in: path
name: earningsId
required: true
description: Earnings call ID
responses:
'200':
description: Default Response
operationId: getApiV1TranscriptsByEarningsIdComponents
x-operation-id-source: derived
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: API key obtained from the dashboard after registration