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

# Earnings calendar (all companies)

> Results dates in a window, worldwide: issuer-confirmed, issuer-tentative, estimated from reporting history (status `estimated`, with the basis in `explanation`), or reported (with the filing). Dates are issuer-local. Up to 93 days, or ten years with `cik`. `view=compact` drops logos, websites, the quoted disclosure sentence and revision bookkeeping.



## OpenAPI

````yaml https://astreus.ai/openapi.json get /api/v1/earnings/calendar
openapi: 3.1.0
info:
  title: Astreus API
  version: '2026-11-11'
  description: >-
    Astreus is a financial data terminal that turns the world's unstructured
    financial disclosure into structured, traceable data. It reads what
    companies, exchanges and central banks publish — annual and interim reports,
    SEC filings, results announcements, investor presentations, earnings calls,
    8-Ks, regulator notices and policy text — across the United States, the Gulf
    (Tadawul, DFM, ADX, Boursa Kuwait, QSE), Japan, Taiwan, Korea, the UK and
    Europe, and serves it as data a program can trust: standardized financial
    statements (annual, quarterly, semiannual), segments and KPIs, the tables
    inside the notes, filing sections as text, investor decks page by page,
    earnings-call transcripts and audio, span-anchored observations, management
    guidance scored against outcomes, typed 8-K events, an attributed intraday
    news tape, insider and 13F ownership, a people registry, macro series (the
    current vintage: the latest published value for each period) and
    central-bank text, benchmark, commodity and compute-price series, and a
    source-linked claim graph with declared validation limits. Use `fact-source`
    and document metadata to retain available provenance. Publication and
    entitlement gates apply per dataset; inspect availability and tool
    limitations.


    Coverage is published live: `GET /api/v1/landing/coverage` (no key) returns
    every market served with company counts, history depth, completeness and
    periods held per data type — ask it before answering "what do you cover?".
    `{id}` is a ticker, a numeric SEC CIK, or a platform key for a non-SEC
    issuer (XSAU000001) — the `cik` field of the company payload. Human-readable
    guides: https://doc.astreus.ai (coverage at /coverage, data catalog at
    /data-catalog).


    Tiers: `public` endpoints need no credentials. Everything else takes an
    **API key** — create one on the Developers page in the terminal
    (https://astreus.ai/developers) and send it as `X-API-KEY: pk_live_...` (or
    `Authorization: Bearer pk_live_...`). Signed-in terminal sessions may use
    their Cognito ID token instead.


    Rate limits and quotas are per plan (fixed UTC windows): Free — 30 req/min,
    250 req/day; Build — 300 req/min, 100,000 req/month; Scale — custom. Build,
    Scale and prepaid credits are set up with sales
    (https://astreus.ai/contact), not self-serve. Responses carry RateLimit-*,
    X-Quota-* and, when credits pay, X-Billing-Source/X-Credits-Remaining-USD
    headers; a 429 carries `Retry-After` and a machine `code` of rate_limited or
    quota_exceeded (with sales_email).


    Server-side use: `/api/v1` sends no CORS headers, so a browser page on
    another origin cannot call it. Call it from a server, a script or an agent,
    and keep the key there.


    Versioning: `info.version` is the UTC date the contract last changed, and
    every response carries it in `x-astreus-api-version`. Within `/api/v1`
    changes are additive; a field or parameter that will go is marked
    `deprecated` first and kept for at least 90 days. Policy:
    https://doc.astreus.ai/versioning.


    Not investment advice. See /terms.
  contact:
    email: saif@astreus.ai
  termsOfService: https://astreus.ai/terms
  license:
    name: 'Proprietary: Astreus terms of service'
    url: https://astreus.ai/terms
servers:
  - url: https://astreus.ai
security: []
tags:
  - name: Search & Meta
    description: Entity resolution and platform metadata.
  - name: Company Data
    description: Profiles, structure, leadership, calendars.
  - name: Geo & Assets
    description: >-
      Physical assets on the map — what a company owns, operates or develops,
      where, since when, at what location precision, and the source behind each
      fact.
  - name: Financial Statements
    description: >-
      Standardized XBRL-derived statements — every line traceable to its filing
      via fact provenance.
  - name: SEC Filings
    description: >-
      The filing index and documents (SEC and exchange-published), parsed
      section text, and the tables inside the notes as gated grids and series.
  - name: 8-K Events
    description: >-
      Material events: 8-K items and exchange disclosures by item code,
      filterable by family, with extracted item text.
  - name: News
    description: >-
      The intraday news tape: filings, releases and licensed wires with source
      attribution, storylines and topics.
  - name: Transcripts & Calls
    description: Earnings-call transcripts, span-anchored observations, IR decks.
  - name: Guidance & Scorecards
    description: What management promised vs. what happened.
  - name: Ownership & Insiders
    description: 13F holders, Forms 3/4/5, the people registry.
  - name: Macro
    description: >-
      Economic series (the current vintage: the latest published value for each
      period) and central-bank text.
  - name: Market Data
    description: Daily bars for stocks, benchmarks, commodities and compute.
  - name: Intelligence
    description: Narratives and source-linked claims with declared validation status.
  - name: Analytics
    description: Charting over any catalog series.
paths:
  /api/v1/earnings/calendar:
    get:
      tags:
        - Company Data
      summary: Earnings calendar (all companies)
      description: >-
        Results dates in a window, worldwide: issuer-confirmed,
        issuer-tentative, estimated from reporting history (status `estimated`,
        with the basis in `explanation`), or reported (with the filing). Dates
        are issuer-local. Up to 93 days, or ten years with `cik`. `view=compact`
        drops logos, websites, the quoted disclosure sentence and revision
        bookkeeping.
      operationId: get-earnings-calendar-all-companies
      parameters:
        - name: from
          in: query
          description: First day, YYYY-MM-DD (default today).
          schema:
            type: string
        - name: to
          in: query
          description: Last day, YYYY-MM-DD (default `from`).
          schema:
            type: string
        - name: cik
          in: query
          description: >-
            Numeric CIK (1–10 digits) or platform key (letters then digits, at
            most 10 characters): that company's dates; widens the window limit
            to ten years.
          schema:
            type: string
        - name: country
          in: query
          description: >-
            Uppercase ISO alpha-2 market codes, comma-separated, up to 80 (e.g.
            AE,SA). Lowercase codes answer 400.
          schema:
            type: string
        - name: status
          in: query
          description: Only this status.
          schema:
            type: string
            enum:
              - estimated
              - issuer_tentative
              - confirmed
              - elapsed
              - reported
              - postponed
              - cancelled
              - disputed
        - name: search
          in: query
          description: Company name or ticker contains; max 100 characters.
          schema:
            type: string
        - name: limit
          in: query
          description: 1–1000, default 500.
          schema:
            type: integer
            minimum: 1
            maximum: 1000
            default: 500
        - name: offset
          in: query
          description: Rows to skip, default 0.
          schema:
            type: integer
            minimum: 0
            default: 0
        - name: view
          in: query
          description: '`compact` drops display-only fields (logos, websites).'
          schema:
            type: string
            enum:
              - full
              - compact
            default: full
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  from:
                    type: string
                    format: date
                  to:
                    type: string
                    format: date
                  events:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        cik:
                          type: string
                        company:
                          type: string
                        ticker:
                          type: string
                        country:
                          type: string
                        periodEnd:
                          type: string
                          format: date
                        kind:
                          type: string
                        date:
                          type: string
                          format: date
                        status:
                          type: string
                        session:
                          type: 'null'
                        timeText:
                          type: 'null'
                        windowStart:
                          type: string
                          format: date
                        windowEnd:
                          type: string
                          format: date
                        sampleSize:
                          type: integer
                        explanation:
                          type: string
                        docRef:
                          type: 'null'
                        sourceUrl:
                          type: 'null'
                        quote:
                          type: 'null'
                        sourcePublishedAt:
                          type: 'null'
                        updatedAt:
                          type: string
                          format: date-time
                        revision:
                          type: string
                        reason:
                          type: string
                        marketCap:
                          type: integer
                        exchange:
                          type: string
                        website:
                          type: string
                        brandMark:
                          type: string
                        brandMarkChecked:
                          type: boolean
                        broadcast:
                          type: 'null'
                  markets:
                    type: array
                    items:
                      type: string
                  total:
                    type: integer
                  summary:
                    type: object
                    properties:
                      confirmed:
                        type: integer
                      estimated:
                        type: integer
                      reported:
                        type: integer
                  offset:
                    type: integer
                  limit:
                    type: integer
                  generatedAt:
                    type: string
                    format: date-time
                description: >-
                  Inferred from captured responses: every field shown was
                  returned by a real call; a field may be absent or null on
                  other calls.
                x-schema-source: inferred
              example:
                from: '2026-11-01'
                to: '2026-11-01'
                events:
                  - id: '43656'
                    cik: XSAU000040
                    company: Al Majed Oud Co.
                    ticker: '4165'
                    country: SA
                    periodEnd: '2026-09-30'
                    kind: results
                    date: '2026-11-01'
                    status: estimated
                    session: null
                    timeText: null
                    windowStart: '2026-10-24'
                    windowEnd: '2026-11-10'
                    sampleSize: 9
                    explanation: >-
                      Based on 9 prior releases, including 2 for fiscal Q3.
                      Recent reporting dates carry more weight. This range is an
                      estimate, not an issuer schedule.
                    docRef: null
                    sourceUrl: null
                    quote: null
                    sourcePublishedAt: null
                    updatedAt: '2026-11-01T00:16:05.759Z'
                    revision: '376933'
                    reason: model_refresh
                    marketCap: 778792932
                    exchange: TADAWUL
                    website: http://www.almajed4oud.com
                    brandMark: >-
                      https://cdn.brandfetch.io/almajed4oud.com/icon?c=1idQJ_8ukVnXwK_PLYs&fallback=404
                    brandMarkChecked: true
                    broadcast: null
                  - id: '109082'
                    cik: XSAU000262
                    company: Al-Rajhi Company for Cooperative Insurance
                    ticker: '8230'
                    country: SA
                    periodEnd: '2026-09-30'
                    kind: results
                    date: '2026-11-01'
                    status: estimated
                    session: null
                    timeText: null
                    windowStart: '2026-10-26'
                    windowEnd: '2026-11-25'
                    sampleSize: 59
                    explanation: >-
                      Based on 59 prior releases, including 14 for fiscal Q3.
                      Recent reporting dates carry more weight. This range is an
                      estimate, not an issuer schedule.
                    docRef: null
                    sourceUrl: null
                    quote: null
                    sourcePublishedAt: null
                    updatedAt: '2026-11-01T00:16:18.165Z'
                    revision: '377882'
                    reason: model_refresh
                    marketCap: 2556877753
                    exchange: TADAWUL
                    website: https://www.alrajhitakaful.com/ar
                    brandMark: >-
                      https://cdn.brandfetch.io/alrajhitakaful.com/icon?c=1idQJ_8ukVnXwK_PLYs&fallback=404
                    brandMarkChecked: true
                    broadcast: null
                markets:
                  - AE
                  - AT
                total: 29
                summary:
                  confirmed: 1
                  estimated: 8
                  reported: 15
                offset: 0
                limit: 2
                generatedAt: '2026-11-01T12:49:02.816Z'
        '400':
          description: >-
            A query parameter the route does not take (unknown_parameter), a
            value outside its type, enum or range (invalid_parameter), or a
            required one missing (missing_parameter); `param` names it. A
            request refused against this spec's parameter list is not metered.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid bearer token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Unknown company, country, symbol or resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limited. Honour Retry-After.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - apiKey: []
        - cognitoIdToken: []
components:
  schemas:
    Error:
      type: object
      required:
        - error
        - code
      properties:
        error:
          type: string
          description: Human-readable message. It may change; branch on `code`.
        code:
          type: string
          description: >-
            Stable machine code; every error carries one. unknown_parameter,
            invalid_parameter and missing_parameter come with `param`;
            unknown_parameter also with `allowed`. A route may add codes of its
            own (e.g. key_limit); treat an unlisted code by its HTTP status.
          enum:
            - unknown_parameter
            - invalid_parameter
            - missing_parameter
            - invalid_request
            - unauthenticated
            - upgrade_required
            - forbidden
            - not_found
            - conflict
            - too_large
            - unsupported_media_type
            - rate_limited
            - quota_exceeded
            - auth_unavailable
            - upstream_unavailable
            - internal_error
        param:
          type: string
          description: The query parameter at fault, when one is.
        allowed:
          type: array
          items:
            type: string
          description: 'With unknown_parameter: every query parameter the route takes.'
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-KEY
      description: >-
        Astreus API key (pk_live_...), created on the Developers page in the
        terminal. Also accepted as `Authorization: Bearer pk_live_...`.
      x-default: pk_live_YOUR_KEY
    cognitoIdToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Amazon Cognito ID token (token_use=id) for the Astreus user pool — the
        terminal's own session credential. API consumers should use an API key
        instead.

````

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