tastytradeDeveloper Docs
Legacy ↗

API Reference / Market Metrics

Get Historical Earnings Reports

getMarketMetricsEarningsSymbol
get/market-metrics/historic-corporate-events/earnings-reports/{symbol}

Base URL: https://api.cert.tastyworks.com (Sandbox) · https://api.tastyworks.com (Production)

Returns historical earnings announcements for a single underlying identified by the `symbol` path parameter. Use the required `start-date` query parameter to bound the window from that date until now, and the optional `end-date` to cap the upper bound. Each entry reports the announcement date and reported earnings per share.

Code samples

curl -X GET 'https://api.cert.tastyworks.com/market-metrics/historic-corporate-events/earnings-reports/AAPL?start-date=2024-01-15&end-date=2024-01-15' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -H 'User-Agent: tastytrade-docs-example/1.0'

Parameters

NameInTypeDescription
symbol*pathstringSymbol to get earnings data for
e.g. "AAPL"
start-date*querystringLimits earnings data from start-date until now
e.g. "2024-01-15"
end-datequerystringLimits earnings data from start-date until end-date
e.g. "2024-01-15"

Responses

200An array of historical earnings records for the requested symbol within the requested date window.application/json

Example response

{
  "data": {
    "items": [
      {
        "occurred-date": "2025-01-30",
        "eps": "2.40"
      }
    ]
  },
  "context": "/market-metrics/historic-corporate-events/earnings-reports/{symbol}",
  "pagination": {
    "per-page": 0,
    "page-offset": 0,
    "item-offset": 0,
    "total-items": 0,
    "total-pages": 0,
    "current-item-count": 0
  }
}

Schema

  • datarequiredobject
    • itemsrequiredarray<object>{2 fields}
  • contextrequiredstring

    example: "/market-metrics/historic-corporate-events/earnings-reports/{symbol}"

  • paginationobject

    Paging metadata, present on paginated list responses.

    • per-pageinteger
    • page-offsetinteger
    • item-offsetinteger
    • total-itemsinteger
    • total-pagesinteger
    • current-item-countinteger
401Missing or invalid `Authorization` bearer token (tokens expire after 15 minutes), or a missing/malformed `User-Agent` header. Send `Authorization: Bearer <token>` and a `User-Agent` like `my-app/1.0`.application/json

Example response

{
  "error": {
    "code": "unauthorized",
    "message": "No valid access token was provided; access tokens expire after 15 minutes."
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

403Authenticated, but not authorized to access this resource.application/json

Example response

{
  "error": {
    "code": "not_permitted",
    "message": "User not permitted access"
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

404The requested resource was not found.application/json

Example response

{
  "error": {
    "code": "string",
    "message": "string",
    "errors": [
      {
        "code": "string",
        "message": "string",
        "domain": "string"
      }
    ]
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

422Unprocessable content — the request was invalid for this endpoint. Dates must be ISO-8601 (`YYYY-MM-DD`); the reason is returned in `error.message`.application/json

Example response

{
  "error": {
    "code": "preflight_check_failure",
    "message": "One or more preflight checks failed",
    "errors": [
      {
        "code": "preflight_check_failure",
        "message": "A specific validation failed for this order."
      }
    ]
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

429Request rate exceeded reasonable thresholds. Back off exponentially and retry.application/json

Example response

{
  "error": {
    "code": "string",
    "message": "string",
    "errors": [
      {
        "code": "string",
        "message": "string",
        "domain": "string"
      }
    ]
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

Related

Agents: this page is also Markdown (with the embedded OpenAPI definition) — append .md or send Accept: text/markdown. Index at /llms.txt.