Added

v1.8.2 - Historical Trading Signals Endpoint

You can now retrieve paginated historical smoothed trading signals for any ticker using GET /v1/signals/historical/{ticker}. The endpoint applies the same hourly resampling and smoothing algorithm as the live GET /signals endpoint, so the historical series is consistent with the live signal you already receive.

Added

  • GET /v1/signals/historical/{ticker} - Retrieve historical smoothed trading signals for a single ticker with keyset pagination.

    Parameters:

    • model_name - Model to use for signals. Same options as GET /signals (v2 default, v1, v1_raw, v2_raw, v3, v3_raw, sentiment, fundamental_sentiment, sector_sentiment, macroeconomic_sentiment, technical, latest)
    • smoothing_parameter - Number of consecutive hourly periods a signal must persist before being accepted. Default 2, range 148
    • start_date - Start of the query window in YYYY-MM-DD format. Defaults to 7 days ago. Maximum lookback is 90 days
    • end_date - Optional end of the query window in YYYY-MM-DD format
    • limit - Number of records per page. Default 100, maximum 1000
    • next_token - Pagination cursor returned in the previous response. Pass this to fetch the next page

    Response shape (PaginatedSignalsResponse):

    {
      "data": [
        {
          "date": "2026-05-19T14:00:00",
          "ticker": "BZ_COM",
          "decision": "BUY",
          "confidence": 0.92,
          "reason": "Confirmed uptrend"
        }
      ],
      "limit": 100,
      "next_token": "<opaque_token>",
      "has_more": true
    }

    Pagination: Pass the next_token from the response as the next_token query parameter on the next request to advance through the result set. When has_more is false and next_token is null you have reached the end of the available data.