Fund Letters

List fund letters

Changed on

Lists the published fund letters for one calendar year (optionally one quarter) — quarterly, annual and interim letters from hedge funds, mutual funds, investment partnerships and other professional investors, with extracted per-company theses available via the letter detail endpoint.

Rows are sorted by reporting period, newest first. Narrow further with quarter, or with investorId/fundId from the investors endpoints (an investor's complete letter feed across all years is on /v1/fund-letters/investors/{investorId}). Every row carries the companies the letter discusses (companyKeys), so the list is also a cheap way to scan a period's coverage. A period with no published letters returns an empty page, not an error.

The corpus is curated: only complete, quality-checked letters from 2020 onward are published, and each letter appears once (the same letter distributed through multiple channels is deduplicated). Identifiers are permanent; counts can drift slightly between daily publishes as new letters arrive and the company universe evolves.

Letters are published once a day. A letter can be revised after publishing under the same letterId (corrected content, or a better copy of its PDF): compare each row's updatedAt with the one you hold and re-fetch only the letters that moved, and the PDF only when pdfSha256 changed. New letters can appear in past years, so a full sync lists every year from 2020.

Free-trial keys receive the letters of the investors listed by /v1/fund-letters/investors.

get/v1/fund-letters

Request

  • Base URL
    https://api.fiscal.ai (the document declares no server; this is the origin it was published from)
  • URL
    https://api.fiscal.ai/v1/fund-letters
  • Auth
    API key in query parameter apiKey

Query parameters

apiKeystring

API Key (alternatively send via X-Api-Key header)

yearinteger required

Calendar year of the reporting period (2020 or later). Required.

Example:2026
quarterinteger

Optional. Calendar quarter (1-4) within the year. Omit for the whole year.

Example:1
investorIdstring

Optional. Only letters from this investor (fscl_investor_… identifier).

Example:fscl_investor_4SZX6KKJ822
fundIdstring

Optional. Only letters from this fund (fscl_fund_… identifier).

Example:fscl_fund_9YFY9ZQK323
pageNumberinteger

Optional. Page number (1-indexed). Defaults to 1.

Example:1
pageSizeinteger

Optional. Rows per page. Defaults to 250, max 1000.

Example:250

Response

Paginated fund letters, newest reporting period first.

Example response

{
  "pagination": {
    "page": 1,
    "pageSize": 250,
    "totalCount": 512,
    "totalPages": 3,
    "hasNextPage": true
  },
  "data": [
    {
      "letterId": "fscl_document_9GDB7GDZ834",
      "investorId": "fscl_investor_4SZX6KKJ822",
      "fundId": "fscl_fund_9YFY9ZQK323",
      "investorName": "Harris Associates / Oakmark",
      "fundName": "Oakmark Fund",
      "fundType": "mutual_fund",
      "title": "Oakmark Fund Quarterly Commentary - March 31, 2026",
      "reportPeriod": "2026Q1",
      "reportPeriodYear": 2026,
      "reportPeriodQuarter": 1,
      "reportPeriodType": "quarterly",
      "periodLabel": "Quarter Ended March 31, 2026",
      "publicationDate": "2026-04-15",
      "letterType": "quarterly_letter",
      "thesisCount": 11,
      "keyTopics": [
        "artificial_intelligence"
      ],
      "companyKeys": [
        "NYSE_CRM"
      ],
      "companyTickers": [
        "CRM"
      ],
      "firstPublishedAt": "2026-04-16T07:05:51Z",
      "updatedAt": "2026-04-16T07:05:51Z",
      "pdfSha256": "098bb3da399936a382827fafc1b96070f586b1dca1d796033c6e776ad2a00047"
    }
  ]
}

Changes

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status