Get Kalshi comments
Get public Kalshi Social comments: a trader’s recent comments with the post (trade idea) each one answers, or a post with all its comments. Posts include the market, side, position cost and payout, return and engagement counts.
/v1/kalshi/commentsx-api-keyHeaders
Get your API keyYour ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.
A trader’s nickname: returns their recent comments. Provide nickname or postId.
DegenJohnnyA post UUID: returns the post and its comments.
With nickname: comments to return, 1–20; default 20.
10Request correlation UUID.
Upstream requests, decoded response bytes and elapsed milliseconds.
Always included.
≥ 0
Always included.
≥ 0
Always included.
≥ 0
True when usable data is returned; inspect status and coverage for omissions.
success, partial, failed or challenged. HTTP 200 can be partial.
one of: success, partial
Kalshi public API URL the data was read from.
absolute HTTPS URL
UTC retrieval time.
order is source_order. complete is false with comment_limit when a post has more than 500 comments.
Always included.
Always included.
Always included.
Always included.
one of: newest_first, oldest_first, ranked, relevance, source_order
Optional.
Optional.
Optional.
With postId: the post with Kalshi’s field names: id, nickname, content, media, market_ticker, market_title, event_ticker, series_tickers, side, cost_cents, payout_if_win_cents, paid_out_cents, value_cents, dollar_roi, percentage_roi, position_odds, likes_count, comments_count, copy_trades_count, bookmarks_count, view_count and created_ts (Unix microseconds).
Always included.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
up to 50 items
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Always included.
Optional.
Optional.
With postId: comments with id, post_id, parent_comment_id (replies), nickname, content, depth, likes_count, is_deleted, media and created_ts (Unix microseconds).
up to 500 items
Always included.
Always included.
Optional.
Always included.
Always included.
Always included.
Optional.
Optional.
Always included.
Always included.
Always included.
Optional.
Always included.
Optional.
Optional.
Optional.
Optional.
Optional.
With nickname: entries of comment and the post it answers.
up to 20 items
Always included.
Always included.
Always included.
Optional.
Always included.
Always included.
Always included.
Optional.
Optional.
Always included.
Always included.
Always included.
Optional.
Always included.
Optional.
Optional.
Optional.
Optional.
Optional.
Always included.
Always included.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
up to 50 items
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Always included.
Optional.
Optional.
No fields match.
HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.
| HTTP | failure.code | Meaning |
|---|---|---|
| 200 | partial | Usable data with market_limit, metadata_unavailable, candle_limit, window_truncated, comment_limit or metrics_unavailable warnings. |
| 400 | invalid_request | Missing, duplicate, malformed or unsupported parameters, a link outside kalshi.com/markets, a price-history window above its period limit, or parameters Kalshi rejected. |
| 401 | unauthorized | Missing or invalid worker API key. |
| 404 | not_found | Unknown market, event, series, post or trader. |
| 429 | upstream_rate_limited | Kalshi rate limited the request. |
| 502 | upstream_challenged | Kalshi refused the public request. |
| 502 | unsupported_page | Malformed, mismatched or non-JSON source data. |
| 502 | response_too_large payload_too_complex | Response exceeded byte or parsing limits. |
| 502 | unsafe_redirect request_limit upstream_error | Bounded source retrieval could not complete. |
| 503 | busy | All worker slots and the waiting queue are occupied. |
| 504 | timeout | Total request deadline expired. |