1. Getting Started
| Connection | Protocols |
|---|---|
| Connect to InsightSentry | WebSocket, NATS, or MQTT |
| Receive on your own broker | NATS, Redis Pub/Sub, or Redis Streams |
For your own broker, provide connection details and credentials for a reachable instance you host.
Delivery gaps
Delivery of every trade is not guaranteed. Use the REST API to backfill recent trades and bars.
2. Response Data Formats
When an identifier is included, E identifies stocks, F identifies futures, C identifies currencies, and T identifies ETFs.
Quote Data Format
Quote messages contain current pricing and volume information.
| Field | Description |
|---|---|
| c | Symbol identifier |
| p | Identifier |
| t | Message type marker, always quote |
| ss | Session status |
| v | Trading volume |
| a | Ask price |
| b | Bid price |
| as | Size of ask orders |
| bs | Size of bid orders |
Example Quote Response:
{
"c": "NASDAQ:AAPL",
"p": "E",
"t": "quote",
"ss": "OPEN",
"v": 533779.0,
"a": 243.09,
"b": 243.08,
"as": 520.0,
"bs": 430.0
}Bar Data Format
Bar data messages use t: "bar" at the top level and contain OHLCV entries in the s array.
| Field | Description |
|---|---|
| c | Symbol identifier |
| p | Identifier |
| t | Message type marker, always bar |
| be | Bar end timestamp |
| lu | Last update timestamp |
| bt | Bar interval type |
| s | Array of bar entries |
Bar entries in the s array contain these fields:
| Field | Description |
|---|---|
| t | Bar timestamp |
| o | Opening price |
| h | Highest price |
| l | Lowest price |
| c | Closing price |
| v | Trading volume |
Example Bar Response:
{
"c": "NASDAQ:AAPL",
"p": "E",
"t": "bar",
"be": 1733432399.0,
"lu": 1733432399820,
"bt": "1m",
"s": [
{
"t": 1733432340.0,
"o": 242.89,
"h": 243.09,
"l": 242.82,
"c": 243.08,
"v": 533779.0
}
]
}Trade Data Format
Trade data messages use p for the identifier and t: "trade" at the top level, then contain per-trade entries in the s array.
Per-trade entries in the s array contain these fields:
| Field | Description |
|---|---|
| t | Trade timestamp |
| c | Trade price |
| v | Trade volume (shares/contracts) |
| s | Trade direction (`buy` or `sell`) |
Example Trade Response:
{
"c": "NASDAQ:AAPL",
"p": "E",
"t": "trade",
"bt": "1T",
"be": 1749462520.0,
"lu": 1749462520177,
"s": [
{
"t": 1749462520.177003,
"c": 242.89,
"v": 200.0,
"s": "buy"
}
]
}3. SIP Feed
SIP messages are delivered separately from the base feed.
| Data Type | Symbol Format | Additional Fields |
|---|---|---|
| Quotes | SIP:AAPL | p, t, bx, ax; limit-band updates also use ts, u, d, i, z |
| Trades | SIP:AAPL | p, s[].i, s[].x, s[].z, s[].tc, s[].e, s[].oi, s[].op, s[].os, s[].oc, s[].cm |
| Bars | SIP:AAPL | p, bt, s[].n |
| Trading Status | SIP:AAPL | p, ts, sc, sm, rc, rm, z |
Quote Data Format
Quotes use the SIP: symbol prefix, include t: "quote", include p: "S", and provide the event timestamp as ts. Bid/ask updates include the bid and ask exchange labels. Each received limit up/limit down change is delivered as a partial quote message and is not repeated on later bid/ask quotes.
| Field | Description |
|---|---|
| c | SIP-prefixed symbol identifier |
| p | Feed identifier, always S |
| t | Message type marker, always quote |
| ts | Event timestamp in Unix seconds with millisecond precision |
| b / bs | Bid price and bid size |
| a / as | Ask price and ask size |
| bx / ax | Bid and ask exchange labels |
| u / d | Limit up and limit down prices; present only on a limit-band update |
| i | Limit-band indicator; present only on a limit-band update |
| z | Tape code; present only on a limit-band update |
Example Quote Response:
{
"c": "SIP:AMD",
"p": "S",
"t": "quote",
"ts": 1614009105.335,
"b": 87.66,
"bs": 1,
"a": 87.68,
"as": 4,
"bx": "MEMX",
"ax": "NASDAQ_OMX"
}Example Limit Up/Limit Down Quote Update:
{
"c": "SIP:AMD",
"p": "S",
"t": "quote",
"ts": 1614009105.335,
"u": 92.0,
"d": 75.0,
"i": "B",
"z": "C"
}Trading Status Format
| Field | Description |
|---|---|
| c | SIP-prefixed symbol identifier |
| p | Feed identifier, always S |
| t | Message type marker, always status |
| ts | Status timestamp in Unix seconds with millisecond precision |
| sc | Status code |
| sm | Status message |
| rc | Reason code |
| rm | Reason message |
| z | Tape code |
Example Trading Status Response:
{
"c": "SIP:IBM",
"p": "S",
"t": "status",
"ts": 1717080600.000,
"sc": "2",
"sm": "Trading Halt",
"rc": "P",
"rm": "News Pending",
"z": "A"
}Trading Status Codes
| Tape | Code | Message |
|---|---|---|
| A / B (CTA) | 2 | Trading Halt |
| A / B (CTA) | 3 | Resume |
| A / B (CTA) | 5 | Price Indication |
| A / B (CTA) | 6 | Trading Range Indication |
| A / B (CTA) | 7 | Market Imbalance Buy |
| A / B (CTA) | 8 | Market Imbalance Sell |
| A / B (CTA) | 9 | Market On Close Imbalance Buy |
| A / B (CTA) | A | Market On Close Imbalance Sell |
| A / B (CTA) | C | No Market Imbalance |
| A / B (CTA) | D | No Market On Close Imbalance |
| A / B (CTA) | E | Short Sale Restriction |
| A / B (CTA) | F | Limit Up-Limit Down |
| C / O (UTP) | H | Trading Halt |
| C / O (UTP) | Q | Quotation Resumption |
| C / O (UTP) | T | Trading Resumption |
| C / O (UTP) | P | Volatility Trading Pause |
Trading Reason Codes
| Tape | Code | Message |
|---|---|---|
| A / B (CTA) | A | Additional Information Requested |
| A / B (CTA) | C | Regulatory Concern |
| A / B (CTA) | D | News Released (formerly News Dissemination) |
| A / B (CTA) | E | Merger Effective |
| A / B (CTA) | F | ETF Component Prices Not Available |
| A / B (CTA) | I | Order Imbalance |
| A / B (CTA) | M | Limit Up-Limit Down (LULD) Trading Pause |
| A / B (CTA) | N | Corporate Action |
| A / B (CTA) | O | New Security Offering |
| A / B (CTA) | P | News Pending |
| A / B (CTA) | V | Intraday Indicative Value Not Available |
| A / B (CTA) | X | Operational |
| A / B (CTA) | Y | Sub-Penny Trading |
| A / B (CTA) | 1 | Market-Wide Circuit Breaker Level 1 – Breached |
| A / B (CTA) | 2 | Market-Wide Circuit Breaker Level 2 – Breached |
| A / B (CTA) | 3 | Market-Wide Circuit Breaker Level 3 – Breached |
| C / O (UTP) | T1 | Halt News Pending |
| C / O (UTP) | T2 | Halt News Dissemination |
| C / O (UTP) | T5 | Single Stock Trading Pause In Affect |
| C / O (UTP) | T6 | Regulatory Halt Extraordinary Market Activity |
| C / O (UTP) | T8 | Halt ETF |
| C / O (UTP) | T12 | Trading Halted; For information requested by NASDAQ |
| C / O (UTP) | H4 | Halt Non Compliance |
| C / O (UTP) | H9 | Halt Filings Not Current |
| C / O (UTP) | H10 | Halt SEC Trading Suspension |
| C / O (UTP) | H11 | Halt Regulatory Concern |
| C / O (UTP) | 01 | Operations Halt, Contact Market Operations |
| C / O (UTP) | IPO1 | IPO Issue not yet Trading |
| C / O (UTP) | M1 | Corporate Action |
| C / O (UTP) | M2 | Quotation Not Available |
| C / O (UTP) | LUDP | Volatility Trading Pause |
| C / O (UTP) | LUDS | Volatility Trading Pause – Straddle Condition |
| C / O (UTP) | MWC1 | Market Wide Circuit Breaker Halt - Level 1 |
| C / O (UTP) | MWC2 | Market Wide Circuit Breaker Halt - Level 2 |
| C / O (UTP) | MWC3 | Market Wide Circuit Breaker Halt - Level 3 |
| C / O (UTP) | MWC0 | Market Wide Circuit Breaker Halt - Carry over from previous day |
| C / O (UTP) | T3 | News and Resumption Times |
| C / O (UTP) | T7 | Single Stock Trading Pause/Quotation-Only Period |
| C / O (UTP) | R4 | Qualifications Issues Reviewed/Resolved; Quotations/Trading to Resume |
| C / O (UTP) | R9 | Filing Requirements Satisfied/Resolved; Quotations/Trading To Resume |
| C / O (UTP) | C3 | Issuer News Not Forthcoming; Quotations/Trading To Resume |
| C / O (UTP) | C4 | Qualifications Halt ended; maint. Req. met; Resume |
| C / O (UTP) | C9 | Qualifications Halt Concluded; Filings Met; Quotes/Trades To Resume |
| C / O (UTP) | C11 | Trade Halt Concluded By Other Regulatory Auth,; Quotes/Trades Resume |
| C / O (UTP) | R1 | New Issue Available |
| C / O (UTP) | R | Issue Available |
| C / O (UTP) | IPOQ | IPO security released for quotation |
| C / O (UTP) | IPOE | IPO security – positioning window extension |
| C / O (UTP) | MWCQ | Market Wide Circuit Breaker Resumption |
Bar Data Format
Bars use p: "S" and t: "bar", contain one OHLCV entry in the s array, and use bt: "1D".
| Field | Description |
|---|---|
| c | SIP-prefixed symbol identifier |
| p | Feed identifier, always S |
| t | Message type marker, always bar |
| bt | Bar interval marker, always 1D |
| s[].t | Bar timestamp in Unix seconds with millisecond precision |
| s[].o / h / l / c | Open, high, low, and close prices |
| s[].v | Accumulated volume |
| s[].n | Accumulated trade count |
Example Bar Response:
{
"c": "SIP:AAPL",
"p": "S",
"t": "bar",
"bt": "1D",
"s": [
{
"t": 1614009104.208,
"o": 126.55,
"h": 127.12,
"l": 125.98,
"c": 126.89,
"v": 1234567,
"n": 4312
}
]
}Trade Data Format
Trade payloads include p: "S" and t: "trade", include the trade in the s array, and use bt: "1T".
Standard trades include a trade id in s[].i. Trade corrections and cancellations use the same payload shape and add s[].e; standard trades omits[].e.
Correction-only fields are s[].oi, s[].op, s[].os, and s[].oc. The s[].e marker appears on correction and cancellation/error payloads. Cancellation/error payloads also include s[].cm as the cancel message: cancel or error.
| Field | Description |
|---|---|
| c | SIP-prefixed symbol identifier |
| p | Feed identifier, always S |
| t | Message type marker, always trade |
| bt | Trade interval marker, always 1T |
| s[].t | Trade timestamp in Unix seconds with millisecond precision |
| s[].us | Trade timestamp in Unix microseconds (integer) |
| s[].i | Trade id |
| s[].c | Trade price |
| s[].v | Trade size |
| s[].x | Trade exchange label |
| s[].z | Tape code |
| s[].tc | Trade condition codes |
| s[].e | Optional trade event marker: correction or cancel |
| s[].oi | Original trade id for corrections |
| s[].op / os / oc | Original price, size, and condition codes for corrections |
| s[].cm | Cancel message: cancel or error |
Example Trade Response:
{
"c": "SIP:AAPL",
"p": "S",
"t": "trade",
"bt": "1T",
"s": [
{
"t": 1614009104.208,
"us": 1614009104208123,
"i": 96921,
"c": 126.55,
"v": 1,
"x": "FINRA_ADF",
"z": "C",
"tc": ["@", "I"]
}
]
}Example Trade Correction Response:
{
"c": "SIP:EEM",
"p": "S",
"t": "trade",
"bt": "1T",
"s": [
{
"t": 1680791106.542,
"us": 1680791106542456,
"i": 52983525034326,
"oi": 52983525033527,
"c": 39.1809,
"v": 440000,
"x": "CHICAGO_STOCK_EXCHANGE",
"e": "correction",
"z": "B",
"tc": [" ", "7"],
"op": 39.1582,
"os": 440000,
"oc": [" ", "7"]
}
]
}Example Trade Cancellation Response:
{
"c": "SIP:AAPL",
"p": "S",
"t": "trade",
"bt": "1T",
"s": [
{
"t": 1614009104.208,
"us": 1614009104208123,
"i": 96921,
"c": 126.55,
"v": 1,
"x": "FINRA_ADF",
"e": "cancel",
"cm": "cancel",
"z": "C"
}
]
}