/api/market/trading-haltsCurrent NASDAQ trading halts + resumptions, each enriched with stock attributes (market cap / price / sector / industry).
Current NASDAQ trading halts + resumptions, each enriched with stock attributes (market cap / price / sector / industry).
Why use this
Common use case
Current NASDAQ trading halts, enriched and served as the REST companion to the live halt event on the /sec WebSocket. SINGLE SOURCE: a server-side poller fetches the NASDAQ trade-halt feed ONCE, enriches each halt with the four stock attributes from all_stocks_strategies_yf_daily (the same table the stock-attributes path uses), caches the current list, and broadcasts new halts live on /sec. Both transports therefore carry IDENTICAL fields (field parity). Public endpoint (no auth, cost: 0). Returns an empty array when the poller cache is cold (just-started worker).
Response schema
| Field | Type | Nullable | Description |
|---|---|---|---|
| data[].id | string | no | Stable dedup key = symbol + '_' + halt_date (slashes→dashes) + '_' + halt_time. Matches the `halt` WebSocket event id exactly. |
| data[].symbol | string | no | Halted issue ticker (NASDAQ IssueSymbol). |
| data[].name | string | yes | Issue name (IssueName). |
| data[].market | string | yes | Listing market (Market). |
| data[].reason_code | string | yes | NASDAQ halt reason code (e.g. LUDP volatility pause, T1 news pending, T12 additional info). |
| data[].halt_date | string | yes | Halt date, MM/DD/YYYY (HaltDate). |
| data[].halt_time | string | yes | Halt time, HH:MM:SS ET (HaltTime). |
| data[].resumption_date | string | yes | Resumption date if set (ResumptionDate); empty while still halted. |
| data[].resumption_quote_time | string | yes | Resumption quote time if set (ResumptionQuoteTime). |
| data[].resumption_trade_time | string | yes | Resumption trade time if set (ResumptionTradeTime); presence indicates the halt has resumed. |
| data[].pause_threshold_price | string | yes | LULD pause threshold price if provided (PauseThresholdPrice). |
| data[].market_cap | number | yes | Market cap (USD) from all_stocks_strategies_yf_daily latest snapshot. Null when the ticker has no row (fail-closed for market-cap rule filters). |
| data[].price | number | yes | Latest daily close (USD) from the same snapshot. Null when absent. |
| data[].sector | string | yes | Sector from the same snapshot ('' when unclassified). |
| data[].industry | string | yes | Industry from the same snapshot ('' when unclassified). |
Sample response
- "data":
Errors
| Status | Label | Description |
|---|---|---|
| 200 | OK | Request succeeded. |
| 400 | Bad Request | Invalid query, body, or path parameter. |
| 401 | Unauthorized | Missing or invalid Authorization header / api_Token. |
| 402 | Payment Required | Insufficient token balance for this call. Top up |
| 429 | Too Many Requests | Rate limit exceeded for your tier (see /pricing for tier limits). Tier limits |
| 500 | Server Error | Unexpected server-side failure. Retry with backoff; report if persistent. |
Code samples
curl "https://api.finradar.ai/api/market/trading-halts" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"Generate an API key in /account/credentials to run live queries (literal YOUR_API_KEY placeholder shown until then).