earningscalls-dev Transcripts API

Full transcript text (Pro/Enterprise)

Operations 4

GET /api/v1/transcripts/recent Recently Added Transcripts #
GET /api/v1/transcripts/{earningsId} Get Full Transcript #
GET /api/v1/transcripts/{earningsId}/summary Get Transcript Summary #
GET /api/v1/transcripts/{earningsId}/components Get Transcript Components #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/earningscalls-dev:earningscalls-dev-transcripts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

earningscalls-dev-transcripts-api-openapi.yml Raw ↑
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