Cohort members
Min tier: free. The ranked members of one curated cohort. Every row satisfies every line of the cohort's floor, so the page needs no further filtering. free keys see the top 25 with no pagination; terminal+ paginate to the cohort's own max_rows cap (500 for every cohort today). Cursor-paginated.
Reads the pre-aggregated wallet rollups only — never a raw trades scan. Those aggregates lag real time, so the response reports data_as_of (the freshest underlying rollup timestamp across the page, null on an empty page) instead of implying "now". member_count is how many wallets clear the cohort's own floor in total; it is unaffected by min_bets and by paging.
Ranking is PnL-first: pnl is Polymarket's reported figure when present, else the on-chain ledger's. sort=win_rate ranks on the sample-shrunk bayesian_win_rate — the raw per-fill win_rate column is contaminated and is never a sort key or a floor. No cohort gates on win rate.
Errors are loud rather than silent: an unknown slug returns 400 bad_request listing the valid slugs (not 404); a disabled cohort returns 400 bad_request quoting its disabled_reason (not a 200 with an empty page); a cursor past max_rows returns 400 bad_request naming the cap.
Request
- Base URL: https://crowdintel.xyz/api
- URL: https://crowdintel.xyz/api/v1/cohorts/{slug}
- Auth: HTTP bearer
Path parameters
Cohort slug from /v1/cohorts. Slugs are stable and never renamed; the enabled set and the floors are not.
Query parameters
Sort key. Defaults to the cohort's own order_by (pnl for every cohort except market-maker-bots, which ranks by volume). Must appear in that cohort's sortable list or the request is rejected with 400. win_rate ranks on the sample-shrunk bayesian_win_rate.
Sort direction.
Page size (default 50, max 100). free keys are capped at 25.
Raise the resolved-bet floor above the cohort's own. It can only RAISE it — a value below floors.min_resolved_bets is clamped up. It narrows the returned page, not member_count.
Opaque pagination cursor from a previous response's next_cursor. Omit for the first page. A cursor that is supplied but undecodable returns 400 bad_request ("Invalid cursor") — it does not silently restart at page 1.
Response
Cursor-paginated cohort members, with the cohort's own context as siblings of data.
Example response
{
"data": [
{
"address": "0x0000000000000000000000000000000000000000"
}
]
}Changes
No recorded changes to this operation across all 1 revision of this API.