---
title: "Investor events across every covered company whose transcript is on file, newest call first — the feed for a poller that posts or indexes new transcripts without naming tickers. Only events whose call date falls inside the since/until window are considered (default the last 7 days, at most 31), filtered to the listing market (default US) and, for US listings, a minimum market capitalization. A transcript can land a day or more after the call, so poll with a window wider than your interval and de-duplicate on id."
method: GET
path: "/v1/investor-events/recent"
tags: ["EarningsCalls"]
---

# Investor events across every covered company whose transcript is on file, newest call first — the feed for a poller that posts or indexes new transcripts without naming tickers. Only events whose call date falls inside the since/until window are considered (default the last 7 days, at most 31), filtered to the listing market (default US) and, for US listings, a minimum market capitalization. A transcript can land a day or more after the call, so poll with a window wider than your interval and de-duplicate on id.

`GET /v1/investor-events/recent`

## Request

- Base URL: `https://api.equibles.com`
- URL: `https://api.equibles.com/v1/investor-events/recent`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/equibles/apis/equibles-api/docs/v1/investor-events/recent/get.ts> (a function with typed inputs; its response is checked against the schema)

## Query parameters

- `since` string, date
- `until` string, date
- `eventType` string
- `market` string
- `minMarketCap` number, double
- `tickers` string
- `limit` integer
- `offset` integer

## Response `200`

OK

- RecentInvestorEventDtoPagedResponse
  - `listingNotice` ListingNotice: What happened to a requested ticker that no longer trades. "delisted": the company has no current US listing, so the answer is its history. "renamed": the company now trades as successorTicker, its current US presentation ticker (possibly another share class). A listed series (short volume, short interest, off-exchange volume, fails-to-deliver, congressional trades) is the retired ticker's own; a company-level read is the company's data.
    - `status` string, nullable: "delisted" or "renamed".
    - `ticker` string, nullable: The retired ticker as listed.
    - `delistedOn` string, date, nullable: The day the retired listing stopped trading, when known.
    - `successorTicker` string, nullable: For "renamed", the company's current US presentation ticker; null for "delisted".
  - `data` RecentInvestorEventDto[], nullable
    - `ticker` string, nullable: The company's US ticker, or MIC:TICKER (for example XLON:VOD) for a company whose main listing is outside the US, so it feeds straight back into the tickers filter and the /stocks/{ticker} routes; null for an issuer with no presentation listing.
    - `companyName` string, nullable: The company's name.
    - `market` string, nullable: ISO 3166 alpha-2 country of the company's presentation listing (US, GB, ...), the value the market filter matches; null for an issuer with no presentation listing.
    - `id` string, uuid
    - `eventType` string, nullable
    - `eventTypeName` string, nullable
    - `title` string, nullable
    - `callDate` string, date-time
    - `callDateIsPeriodEnd` boolean: True when callDate is only the end of the call's fiscal quarter, held until the real call date is known; treat the call date as not confirmed. Always false for events other than earnings calls.
    - `fiscalYear` integer, nullable
    - `fiscalQuarter` integer, nullable
    - `status` string, nullable
    - `statusName` string, nullable
    - `webcastUrl` string, nullable
    - `transcriptDocumentId` string, uuid, nullable
    - `earningsReleaseDocumentId` string, uuid, nullable
    - `hasAudio` boolean
    - `hasSlides` boolean
    - `hasTranscript` boolean: Whether a speaker-labelled transcript is available via the speakers endpoints. Broader than transcriptDocumentId: an audio-pipeline transcription stores speaker turns without a transcript document, so gate on this flag, not the document id.
    - `materials` InvestorEventMaterialsDto
      - `transcript` MaterialStatusDto
        - `status` string, nullable: The material's state: "available" (on file), "pending" (not yet, and a capture lane will still try or the call has not happened), "notPublished" (the company published none, such as no replay or no deck), "failed" (we tried and could not capture or process it), "notAttempted" (no lane has tried it) or "noCallHeld" (the event had no call).
        - `reason` string, nullable: A short human-readable reason for the status.
        - `lastAttemptAt` string, date-time, nullable: When the capture lane last attempted this material; null when unknown or never attempted.
        - `nextAttemptAt` string, date-time, nullable: When the capture lane will next try or recheck it; null when no attempt is scheduled.
      - `audio` MaterialStatusDto
        - `status` string, nullable: The material's state: "available" (on file), "pending" (not yet, and a capture lane will still try or the call has not happened), "notPublished" (the company published none, such as no replay or no deck), "failed" (we tried and could not capture or process it), "notAttempted" (no lane has tried it) or "noCallHeld" (the event had no call).
        - `reason` string, nullable: A short human-readable reason for the status.
        - `lastAttemptAt` string, date-time, nullable: When the capture lane last attempted this material; null when unknown or never attempted.
        - `nextAttemptAt` string, date-time, nullable: When the capture lane will next try or recheck it; null when no attempt is scheduled.
      - `slides` MaterialStatusDto
        - `status` string, nullable: The material's state: "available" (on file), "pending" (not yet, and a capture lane will still try or the call has not happened), "notPublished" (the company published none, such as no replay or no deck), "failed" (we tried and could not capture or process it), "notAttempted" (no lane has tried it) or "noCallHeld" (the event had no call).
        - `reason` string, nullable: A short human-readable reason for the status.
        - `lastAttemptAt` string, date-time, nullable: When the capture lane last attempted this material; null when unknown or never attempted.
        - `nextAttemptAt` string, date-time, nullable: When the capture lane will next try or recheck it; null when no attempt is scheduled.
    - `isTombstoned` boolean, nullable: True on an event hidden by default because none of its materials could be captured; only includeUncaptured=true returns one. Omitted otherwise.
    - `presentationOnly` boolean, nullable: True when the audio and transcript are the company's presentation only: the company published no recording of the Q&A. Omitted otherwise.
    - `partialRecording` boolean, nullable: True when the audio and transcript come from a live recording that joined the call after it began: the opening is missing until the company's replay replaces them. Omitted otherwise.
  - `meta` PageMeta
    - `limit` integer
    - `offset` integer
    - `count` integer
    - `hasMore` boolean
    - `total` integer, nullable

## Other responses

- `400`: Bad Request
- `404`: Not Found

## Changes

- **2026-11-06** `666e06778588`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/equibles/apis/equibles-api/changes/v1/investor-events/recent/get.md)

---

[API](https://skmtc.dev/equibles/apis/equibles-api.md) - [All operations](https://skmtc.dev/equibles/apis/equibles-api/llms.txt) - [OpenAPI document](https://skmtc.dev/equibles/apis/equibles-api/revisions/83f13ba1a993?raw)
