Aggregate sentiment scoring across timeframes (VWF / SDF / FIR / Composite)
https://api.skylit.ai/v1/aggregate/{ticker}Returns a Composite directional score plus its VWF / SDF / FIR components for one or more trailing timeframes (intraday or multi-day). Optional moneyness breakdown, optional time-decay weighting, and a comparative trend block contrasting short- vs long-horizon sentiment. Reference: PRD Section 8.
Authorization
Authorization: Bearer <your API key>Required. A missing header returns 401; an invalid, revoked or expired key returns 403.
Path parameters
tickerstringrequiredUnderlying ticker symbol (uppercase, e.g.
SPY,AAPL).
Query parameters
timeframesstringdefault1dComma-separated timeframes, or
all. Supported atoms:1h, 4h, 1d, 7d, 30d, 90d.allexpands to all six. Unknown atoms are treated as a single trading day. At most 8 entries. Priced by range: 3 credits per started 30 days of summed window length (1d,7d= 3;all= 130 days = 15).include_breakdownbooleandefaulttrueAttach the per-timeframe VWF/SDF/FIR component split.
include_moneynessbooleandefaultfalseAttach a
byMoneynessarray (deep_itm → deep_otm).moneyness_filterstringdefaultalldeep_itmitmatmotmdeep_otmallexpiration_filterstringdefaultallRestrict to one expiration bucket.
0dteweeklymonthlyleapsalltime_decaybooleandefaultfalseApply exponential time decay to VWF / SDF / FIR components.
time_decay_half_lifeintegerdefault30min 1Half-life in minutes for the decay (only applied when
timeDecay=true).datestringdate
Responses
- 200
Aggregate sentiment by timeframe.
- 400
Request validation failed.
- 401
Missing or invalid API key.
- 402
The account's shared Skylit credit balance is lower than this route's cost. Top up to continue. Carries
X-Credits-Remaining: 0. - 403
Unknown, revoked or expired API key (the gateway's
forbidden), the account's API access is suspended (account_suspended) or blocked (account_blocked). Not retryable. - 404
Unknown ticker or contract (
SYMBOL_NOT_FOUND), or no data for the requested window. Not charged. - 429
Either the key exceeded its requests-per-minute limit (
X-RateLimit-Limit; noRetry-After, wait untilX-RateLimit-Reset), or the account is over one of the API's own limits, such as the query budget (queries running at once, fresh queries per second):TOO_MANY_CONCURRENT_QUERIESorRATE_LIMITEDwithRetry-After. Not charged; retry after the wait. - 500
Unexpected server error (
INTERNAL_ERROR,DATABASE_ERROR). Not charged; safe to retry with exponential backoff. - 503
Underlying data source temporarily unavailable, the credit balance could not be verified (
credit_check_failed), or the API is paused for maintenance (api_paused, with aRetry-Afterheader and aretry_afterfield in seconds). Not charged; safe to retry. - 504
The request did not complete within 25 seconds. Not charged; narrow the window or retry.
Response fields
dataobjectrequiredtickerstringrequiredgeneratedAtstringdate-timerequiredbyTimeframeobjectrequiredMap keyed by timeframe id (
1h,4h,1d,7d,30d,90d, …). Only the requested timeframes appear; missing entries indicate the underlying query failed for that horizon.trendobjectrequiredbyMoneynessobject[]Present when
includeMoneyness=true.
metaobjectrequiredtimestampstringdate-timerequiredServer-side timestamp the response was generated at.
requestIdstringrequiredShort opaque ID for log correlation.
nextCursorstringTrade feeds (
/v1/flow/{ticker},/v1/contract/{symbol}/trades): pass back ascursorwith the same filters for the next page. Present only when more rows may follow.nextEndTimestringdate-time/v1/flow/{ticker}only: the last row's exact time (RFC 3339 with nanoseconds), forend_timepaging. Inclusive, so rows at that instant can repeat;nextCursornever repeats or skips.
Last updated