Getting started

Errors

Every error response includes a machine-readable code, a human-readable error message, and a link back to this page so you can look up exactly what went wrong.

Error format#

Errors return JSON with the standard fields below. Null fields are omitted from the response body.

{
  "error": "Missing required parameter: exchange",
  "code": "missing_parameter",
  "param": "exchange",
  "documentation_url": "https://earningscall.biz/docs/errors#missing_parameter"
}

The documentation_url field always points at this page — the anchor matches the error code, so the link drops you right at the explanation.

Tip
Reading errors programmatically? Switch on the code field, not the human-readable error message — the message is intended for humans and may change.

All error codes#

missing_parameterMissing parameter400#

A required query parameter is missing. The error response includes a param field naming the missing parameter.

How to fix: Check the endpoint reference for the full list of required parameters and re-send the request with the missing one supplied.

invalid_parameterInvalid parameter400#

A parameter is the wrong type or out of range — for example a non-integer where a year is expected, or a quarter outside 14.

How to fix: Verify the value matches the type and range documented for that parameter.

missing_api_keyMissing API key401#

No API key was supplied. The API expects a key on every request, either as the apikey query parameter or the x-api-key header.

How to fix: Send your API key on the request. See the Authentication guide for how.

invalid_api_keyInvalid API key401#

The API key sent does not match an active key on file.

How to fix: Confirm you copied the key correctly from your account dashboard. If the key was rotated or deleted, generate a new one.

demo_restrictionDemo restriction403#

The demo API key was used to request data outside the demo allowlist. Demo keys can only access tickers NASDAQ:AAPL and NASDAQ:MSFT, and only 2025-01-10 on the calendar endpoint.

How to fix: Either request demo-allowed data, or upgrade to a paid plan for full access.

plan_restrictionPlan restriction403#

Your plan does not include the requested feature — for example a Basic plan requesting transcript level 2, or a non-Enterprise plan requesting slide PDFs.

How to fix: Upgrade your plan from the pricing page to unlock the feature.

resource_not_foundResource not found404#

The exact resource you asked for does not exist — for example a transcript for a year/quarter we have not yet processed.

How to fix: List available events with GET /events to confirm what's on file before requesting a transcript or audio file.

rate_limit_exceededRate limit exceeded429#

You've sent more requests than your plan allows. The response includes a Retry-After header indicating how many seconds to wait.

How to fix: Slow your request rate, batch where possible, or upgrade to a higher-tier plan.

service_unavailableService unavailable503#

A backing service (search index, live-events cache) is temporarily unavailable. The API includes a Retry-After header — usually a small number of seconds.

How to fix: Retry with backoff. If the problem persists, check our status page.

internal_errorInternal error500#

Something unexpected went wrong on our end. We monitor and alert on these — you don't need to file a ticket unless they persist.

How to fix: Retry once. If it keeps failing on the same request, contact support with the request URL and timestamp.

  • Rate limiting — details on 429 responses and the headers we return.
  • Plans — feature matrix that determines when you'll see plan_restriction.
  • Authentication — how to send your API key.