List earnings events
Scheduled and historical earnings reports for an instrument.
Scheduled and historical earnings reports for an instrument.
Authorization
ApiKeyAuth earnings:readPresent your API key as a bearer token: Authorization: Bearer pk_live_....
Two environments are issued per account. A pk_test_ sandbox key returns the SAME real historical data as a live key and does NOT consume your LIVE allowance, so learning the API is free. It has its own separate windows and can be rate limited on them. A pk_live_ key reads against your allowance.
Keys carry explicit scopes (instruments:read, prices:read, actions:read, fx:read, earnings:read, options:read, news:read, sentiment:read, events:read, analytics:read, correlations:read, technicals:read, macro:read) and are enforced fail-closed, so a leaked key is bounded to what it was issued for. Revocation is immediate.
In: header
Scope: earnings:read
Path Parameters
Instrument identifier (UUID).
uuidQuery Parameters
Earliest report date, inclusive.
^\d{4}-\d{2}-\d{2}$Latest report date, inclusive.
^\d{4}-\d{2}-\d{2}$Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/instruments/497f6eca-6276-4993-bfeb-53cbbbba6f08/earnings?from=string&to=string"{ "data": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "instrumentId": "48367a03-b541-4ea7-88a6-ae604df75c64", "reportDate": "string", "reportTime": "string", "fiscalPeriod": "string", "epsActual": 0, "epsEstimate": 0 } ], "meta": { "asOf": "string", "source": "string", "stale": true }}{ "error": { "code": "invalid_request", "message": "string", "docsUrl": "http://example.com", "details": { "property1": [ "string" ], "property2": [ "string" ] } }}{ "error": { "code": "invalid_request", "message": "string", "docsUrl": "http://example.com", "details": { "property1": [ "string" ], "property2": [ "string" ] } }}{ "error": { "code": "invalid_request", "message": "string", "docsUrl": "http://example.com", "details": { "property1": [ "string" ], "property2": [ "string" ] } }}{ "error": { "code": "invalid_request", "message": "string", "docsUrl": "http://example.com", "details": { "property1": [ "string" ], "property2": [ "string" ] } }}{ "error": { "code": "invalid_request", "message": "string", "docsUrl": "http://example.com", "details": { "property1": [ "string" ], "property2": [ "string" ] } }}{ "error": { "code": "invalid_request", "message": "string", "docsUrl": "http://example.com", "details": { "property1": [ "string" ], "property2": [ "string" ] } }}List corporate actions GET
Corporate actions for an instrument, filtered by effective date. Each action carries effectiveDate (when it happened), knowledgeDate (when it became knowable) and knowledgeProvenance (how that instant was established). asOf filters on knowledgeDate, so an action that only became knowable after your cut-off is absent. knowledgeDate is deliberately not createdAt: for an announced dividend it is the end of the declaration day, and for a backfilled action it is null, meaning we cannot honestly date it - such actions are excluded from every asOf read unless you set includeBackfilled.
Get an instrument economic sensitivity GET
How this instrument (a macro proxy such as SPY or TLT) has historically reacted across economic-event classes: per class, the SIGNED median move (directional bias), the median absolute move (magnitude), and the SAMPLE behind the claim - sampleSize (N) and significantCount (M). The sample is the honesty: a median over 2 events and a median over 40 are different claims, so a small-N class is reported with its real N rather than dropped or padded into a single averaged number. Returns 404 for an unknown instrument id.