Filings

Earnings Release Filings

GET/v2/filings/earnings

Real-time feed of SEC 8-K earnings-release filings (item 2.02), source- agnostic and forward-compatible with future push delivery (websocket / webhook). Each event is written twice: once at stage=announced (lowest latency, minimal fields — typically seconds after the filing hits EDGAR) and again at stage=enriched once the index page and press-release exhibit have been hydrated.

Omit symbol/isin/cusip for the full firehose across all companies. from/to filter on filed_at. For low-latency polling, use updated_since instead of from/to: it switches the sort order to updated_at ascending so a cursor never skips a row that was updated between polls (e.g. an announced row that became enriched). Ordered filed_at DESC by default, updated_at ASC when updated_since is set.

Included in: Startup, Pro, Growth.

Authentication

Send your API key in the x-api-key header on every request to https://api.bavest.co. The samples read it from the BAVEST_API_KEY environment variable. Get an API key · Authentication guide

Parameters

Optional, at most one of symbol, isin, cusip.

NameInTypeRequiredDescription
symbolquerystringno (at most one of symbol, isin, cusip)

Optional ticker filter (e.g., AAPL). Omit for all securities. Provide at most one of symbol or isin.

isinquerystringno (at most one of symbol, isin, cusip)

ISIN code (e.g., US0378331005). Provide exactly one of symbol or isin. Clear the symbol example before using an ISIN.

cusipquerystringno (at most one of symbol, isin, cusip)

CUSIP code (e.g., 037833100). Provide at most one of symbol, isin, or cusip.

fromquerystring (date)no

Start date (YYYY-MM-DD)

toquerystring (date)no

End date (YYYY-MM-DD)

updated_sincequerystring (date-time)no

Delta-polling cursor start. Accepts an ISO-8601 date or date-time. When set, results are sorted updated_at ascending instead of filed_at descending — the recommended low-latency polling pattern, since it guarantees a cursor never skips a row that was updated between polls.

limitqueryinteger (int32)no

Maximum number of results to return (default 50, max 500)

Default 50

cursorquerystringno

Opaque cursor for cursor-based pagination. When provided, returns results after the cursor position. Takes precedence over offset.

Try it

Optional ticker filter (e.g., `AAPL`). Omit for all securities. Provide at most one of symbol or isin.

ISIN code (e.g., `US0378331005`). Provide exactly one of symbol or isin. Clear the symbol example before using an ISIN.

GET /v2/filings/earnings

Sent only to api.bavest.co for this request; not stored.

Sign in to sendGet an API keySends with the key above, or sign in to use your account's key. Each request counts as one API call.

Response 200

Successful response · application/json

  • dataarray of EarningsRelease
    • event_typestringrequired

      Event type discriminator. Always earnings_release on this endpoint; other /v2/filings/* endpoints use other values.

      Example earnings_release

    • sourcestringrequired

      Filing source registry. Only sec_edgar in v1; EU regulator feeds (RNS, EQS) are a Phase 2 commercial/licensing item.

      One of sec_edgar

      Example sec_edgar

    • form_typestring

      Regulator form type of the underlying filing (e.g. 8-K). Kept as a free string so non-SEC form types fit without a schema change.

      Example 8-K

    • is_amendmentboolean

      True when this filing amends a prior filing.

      Example false

    • amends_accession_numberstring | null

      Accession number of the filing this amends, or null when is_amendment is false.

    • itemsarray of string | null

      SEC 8-K item codes that triggered this event, e.g. 2.02 (Results of Operations and Financial Condition) or 9.01 (Financial Statements and Exhibits). Null for future EU-source events, which carry no item codes.

    • identifiersFilingIdentifiers

      All known identifier forms for the filer, so consumers can key on whichever one they use internally.

    • company_namestring | null

      Filer's registered company name

      Example Apple Inc.

    • accession_numberstringrequired

      SEC accession number (unique per filing)

      Example 0000320193-26-000018

    • filed_atstring (date-time)required

      Filing timestamp reported by SEC EDGAR (ISO-8601, UTC).

      Example 2026-07-30T20:30:28+00:00

    • updated_atstring (date-time)required

      When this event row was last written (ISO-8601, UTC). Sort key for updated_since delta polling.

      Example 2026-07-30T20:30:36+00:00

    • report_datestring (date) | null

      Reporting date as stated by the filer, when different from filed_at's calendar date.

      Example 2026-07-30

    • headlinestring | null

      Short human-readable summary. Null until the filing is enriched.

      Example Apple reports third quarter results

    • documentsFilingDocuments | null

      Links to the filing's documents. exhibits (and therefore press_release, which is derived from it) is null until enrichment completes.

    • periodFilingPeriod | null

      The fiscal period the filing reports on. Null until the filing is enriched.

  • metaobject

    Cursor pagination metadata. No totalCount — computing an exact total across a firehose feed is not worth the query cost.

    • pageSizeinteger

      Page size requested (echoes limit)

    • hasMoreboolean

      Whether another page is available

    • nextCursorstring | null

      Opaque cursor for the next page, or null when hasMore is false

    • timeinteger

      Server-side processing time in milliseconds

      Example 17

    • parametersobject

      Echo of the request parameters the endpoint resolved

Errors

  • 400Invalid request parameters. Returned when required query parameters are missing, have invalid types, or violate constraints (e.g., providing both symbol and isin when they are mutually exclusive).
  • 401Missing or invalid API key.
  • 404Resource not found.
  • 429Rate limit exceeded. Retry after the `Retry-After` header interval.
  • 500An unexpected error occurred on the server. If the issue persists, contact support with the X-Request-Id header value.
  • 502Upstream data provider returned an error or is temporarily unavailable. Retry after a short delay.
  • 504The request timed out waiting for a response from the upstream data provider. This may occur for complex queries or during peak load.
  • defaultAn unexpected error occurred on the server. If the issue persists, contact support with the X-Request-Id header value.

For AI agents: this page as Markdown at /docs/v2_filings_earnings.md, every route in /llms.txt, the OpenAPI spec at /openapi.json.