List sentiment scores
Signed sentiment scores for an instrument, returned EXACTLY as stored and never rescaled - negative is bearish, positive is bullish, magnitude is the source own scale. Every row carries subjectClass (business sentiment may LEAD price; market_commentary is REACTIVE and must not be read as a signal) and isHeadlineOnly (whether the score is headline-only, a lower-confidence coverage depth). Filter by as-of date range, subjectClass and source.
Signed sentiment scores for an instrument, returned EXACTLY as stored and never rescaled - negative is bearish, positive is bullish, magnitude is the source own scale. Every row carries subjectClass (business sentiment may LEAD price; market_commentary is REACTIVE and must not be read as a signal) and isHeadlineOnly (whether the score is headline-only, a lower-confidence coverage depth). Filter by as-of date range, subjectClass and source.
Authorization
ApiKeyAuth sentiment: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: sentiment:read
Path Parameters
Instrument identifier (UUID).
uuidQuery Parameters
Earliest as-of date, inclusive. Omit for no lower bound.
^\d{4}-\d{2}-\d{2}$Latest as-of date, inclusive. Omit for no upper bound.
^\d{4}-\d{2}-\d{2}$Only scores about this subject. business is leading, market_commentary is reactive. Omit for both.
Value in
- "business"
- "market_commentary"
Only scores from this source. Omit for every source.
1 <= lengthResponse 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/sentiment"{ "data": [ { "instrumentId": "48367a03-b541-4ea7-88a6-ae604df75c64", "source": "string", "subjectClass": "business", "asOfDate": "string", "score": 0, "observationCount": -9007199254740991, "isHeadlineOnly": true, "computedAt": "string" } ], "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" ] } }}Get a price series GET
Daily bars for a date range. Set adjusted=true to apply the corporate-action set server-side. The response carries actionSetVersion: re-request the same version and the numbers are identical, permanently. Supply asOf to adjust using only the actions known on that date, which is what makes a backtest reproducible rather than silently re-stated.
Get a technical snapshot GET
A full technical-indicator snapshot (RSI, MACD, SMA/EMA/WMA, Bollinger, ATR, Stochastic, Ichimoku, VWAP, candlestick and chart patterns, plus a consensus trend) over stored daily bars. Every indicator is a deterministic transform of the stored closes/OHLCV. The snapshot is POINT-IN-TIME correct: asOf bounds the bars to those on or before it, so a backtest reads the indicator as it stood then. An indicator that needs more bars than the window holds is null - never a garbage value from too little data - and assumptions.barsUsed reports exactly how many bars were available so the reason is visible. Returns 404 for an unknown instrument or a window with no stored bars.