> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arrays.org/llms.txt
> Use this file to discover all available pages before exploring further.

# List event transcripts for a symbol

> US share-class symbols accept both `BRK.B` and `BRK-B`. When `symbol` is provided, matching scalar `symbol` fields in the response echo the request spelling.

[OpenAPI JSON Spec](/docs/output/v1_stocks_event-transcripts_get.json)
List FactSet call transcripts for a symbol across all 6 event
types (Earnings, AnalystsShareholdersMeeting,
ConferencePresentation, SalesRevenue, SpecialSituation,
Guidance), filtered by date range rather than fiscal
year/quarter. Metadata only — no transcript body; use the
detail endpoint (GET /event-transcripts/{event_id}) for the
full text.

**Request Parameters**
- `symbol` (required): Stock symbol, US or non-US
(e.g. "AAPL", "BRK.B", "0700.HK").
- `event_type` (optional): filter to one event type. When
omitted, results include ALL 6 types, including Earnings —
it is not "non-Earnings only".
- `from` / `to` (optional): unix-second range, inclusive.
`to` defaults to now; `from` defaults to `to` minus 90
days.
- `limit` (optional, default 20, max 100), `offset`
(optional, default 0).

**Response Data Structure**
- `data` ([]EventTranscript): one entry per matched event,
newest event_date first. `transcript` is always absent on
this endpoint (list responses never carry the body).
- `fiscal_year` / `fiscal_quarter` are `null` (not omitted,
not `""`) for every event_type except Earnings, which has
no fiscal-period concept at all.
- `fiscal_quarter` is Q-prefixed — `"Q3"`, not `"3"` — the
same spelling GET /stocks/earnings-transcript takes as
input. A small number of events carry FactSet's own `"Q5"`
label, passed through as-is.
- `pagination` (limit/offset only — no `total`).
- `metadata.data_as_of`: newest ingestion time (unix
seconds) across the returned page.

**Paging**: there is no `total`. A page that matched nothing
returns 200 with `data: []` — page until the array comes back
empty. An error is never the end-of-pages signal; an unknown
symbol remains a 400 caller-input error.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/stocks/event-transcripts
openapi: 3.0.0
info:
  contact: {}
  description: >-
    Welcome to Arrays!


    Arrays is a unified financial data layer for both financial institutions and
    retail users, delivering comprehensive market data across crypto and equity
    markets. Our datasets cover fundamentals, ETFs, options, crypto, and more.


    Visit [arrays.org](https://arrays.org) to request an API key and start your
    free trial. You can explore our full API offerings in the documentation
    below.


    For any questions regarding APIs or pricing, please contact
    support@arrays.org.
  title: Arrays API
  version: '1.0'
servers:
  - url: https://data-tools.prd.arrays.org/api
security: []
paths:
  /v1/stocks/event-transcripts:
    get:
      tags:
        - Stock
      summary: List event transcripts for a symbol
      description: >-
        US share-class symbols accept both `BRK.B` and `BRK-B`. When `symbol` is
        provided, matching scalar `symbol` fields in the response echo the
        request spelling.


        [OpenAPI JSON Spec](/docs/output/v1_stocks_event-transcripts_get.json)

        List FactSet call transcripts for a symbol across all 6 event

        types (Earnings, AnalystsShareholdersMeeting,

        ConferencePresentation, SalesRevenue, SpecialSituation,

        Guidance), filtered by date range rather than fiscal

        year/quarter. Metadata only — no transcript body; use the

        detail endpoint (GET /event-transcripts/{event_id}) for the

        full text.


        **Request Parameters**

        - `symbol` (required): Stock symbol, US or non-US

        (e.g. "AAPL", "BRK.B", "0700.HK").

        - `event_type` (optional): filter to one event type. When

        omitted, results include ALL 6 types, including Earnings —

        it is not "non-Earnings only".

        - `from` / `to` (optional): unix-second range, inclusive.

        `to` defaults to now; `from` defaults to `to` minus 90

        days.

        - `limit` (optional, default 20, max 100), `offset`

        (optional, default 0).


        **Response Data Structure**

        - `data` ([]EventTranscript): one entry per matched event,

        newest event_date first. `transcript` is always absent on

        this endpoint (list responses never carry the body).

        - `fiscal_year` / `fiscal_quarter` are `null` (not omitted,

        not `""`) for every event_type except Earnings, which has

        no fiscal-period concept at all.

        - `fiscal_quarter` is Q-prefixed — `"Q3"`, not `"3"` — the

        same spelling GET /stocks/earnings-transcript takes as

        input. A small number of events carry FactSet's own `"Q5"`

        label, passed through as-is.

        - `pagination` (limit/offset only — no `total`).

        - `metadata.data_as_of`: newest ingestion time (unix

        seconds) across the returned page.


        **Paging**: there is no `total`. A page that matched nothing

        returns 200 with `data: []` — page until the array comes back

        empty. An error is never the end-of-pages signal; an unknown

        symbol remains a 400 caller-input error.
      parameters:
        - description: >-
            Stock symbol, US or non-US (e.g. AAPL, BRK.B, 0700.HK). US share
            classes accept both BRK.B and BRK-B.
          in: query
          name: symbol
          required: true
          schema:
            type: string
        - description: Filter to one event type; omit for all 6 (including Earnings)
          in: query
          name: event_type
          schema:
            type: string
            enum:
              - Earnings
              - AnalystsShareholdersMeeting
              - ConferencePresentation
              - SalesRevenue
              - SpecialSituation
              - Guidance
        - description: 'Range start, unix seconds inclusive (default: to - 90d)'
          in: query
          name: from
          schema:
            type: integer
        - description: 'Range end, unix seconds inclusive (default: now)'
          in: query
          name: to
          schema:
            type: integer
        - description: Max results (default 20, max 100)
          in: query
          name: limit
          schema:
            type: integer
        - description: Offset (default 0)
          in: query
          name: offset
          schema:
            type: integer
      responses:
        '200':
          description: >-
            Event transcripts for the page; data is [] when the range or offset
            matched nothing
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/model.APIResponse'
                  - properties:
                      data:
                        items:
                          $ref: '#/components/schemas/model.EventTranscript'
                        type: array
                    type: object
        '400':
          description: Invalid parameters or unknown symbol
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/model.APIResponse'
                  - properties:
                      error:
                        $ref: '#/components/schemas/model.APIError'
                    type: object
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/model.APIResponse'
                  - properties:
                      error:
                        $ref: '#/components/schemas/model.APIError'
                    type: object
      security:
        - ApiKeyAuth: []
components:
  schemas:
    model.APIResponse:
      properties:
        data: {}
        error:
          $ref: '#/components/schemas/model.APIError'
        metadata: {}
        pagination: {}
        request_id:
          type: string
        success:
          type: boolean
      type: object
    model.EventTranscript:
      properties:
        event_date:
          description: >-
            EventDate is the event's calendar date (YYYY-MM-DD, UTC); "" if
            unknown.
          type: string
        event_datetime:
          description: >-
            EventDatetime is the meeting's actual start moment, as an RFC3339
            UTC

            timestamp; "" if unknown.
          type: string
        event_id:
          type: string
        event_type:
          type: string
        fiscal_quarter:
          example: Q3
          type: string
        fiscal_year:
          description: >-
            FiscalYear / FiscalQuarter are non-nil ONLY for Earnings events: a

            non-Earnings event has no fiscal-period concept at all (not merely
            an

            empty one), so these serialize as JSON null — deliberately no

            `omitempty` — rather than being omitted or emitted as "".


            FiscalQuarter is Q-prefixed ("Q3"), matching CLAUDE.md's standard

            fiscal_quarter vocabulary and GET /stocks/earnings-transcript's
            input,

            so the two endpoints can be correlated without converting. FactSet's

            own "Q5" label reaches callers unchanged

            (ingestionhandler.fiscalQuarterLabel).
          type: string
        headline:
          type: string
        published_at:
          description: >-
            PublishedAt is the transcript publication moment (story_date_time),
            as

            an RFC3339 UTC timestamp; "" if unknown.
          type: string
        symbol:
          type: string
        transcript:
          description: >-
            Transcript is populated only by the detail endpoint; the list
            endpoint

            leaves it nil so `omitempty` drops the key entirely (design doc
            §6.2:

            list responses never carry the transcript body).
          items:
            $ref: '#/components/schemas/model.SectionEntry'
          type: array
      type: object
    model.APIError:
      properties:
        code:
          example: RESOURCE_NOT_FOUND
          type: string
        details:
          items:
            $ref: '#/components/schemas/model.APIErrorDetail'
          type: array
        docs_url:
          type: string
        examples:
          items:
            type: string
          type: array
        hint:
          type: string
        message:
          example: The requested resource was not found.
          type: string
        suggestions:
          items:
            type: string
          type: array
      type: object
    model.SectionEntry:
      properties:
        content:
          items:
            $ref: '#/components/schemas/model.TranscriptEntry'
          type: array
        section:
          type: string
      type: object
    model.APIErrorDetail:
      properties:
        field:
          type: string
        got:
          type: string
        reason:
          type: string
      type: object
    model.TranscriptEntry:
      properties:
        content:
          type: string
        speaker:
          type: string
        title:
          type: string
      type: object
  securitySchemes:
    ApiKeyAuth:
      description: 'API Key authentication. Example: "your-api-key-here"'
      in: header
      name: X-API-Key
      type: apiKey

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.