No-limit hold'em (6-max)
The NLHE preflop ranges — v2 endpoints with per-hand EV, plus the legacy v1 tree.
Six-handed no-limit hold'em ranges at stack depths 20, 30, 40, 50, 70, 100, 150, and 200bb, positions UTG, HJ, CO, BTN, SB, BB. Weights are on the 169-grid (AA, AKs, AKo, …), each in [0, 1].
The v2 endpoints additionally return evs — per-hand expected value in small blinds. EV is emitted for every hand the bundle scores, including hands the action is never taken with; that zero-weight EV is what makes "folding AKs here costs 3.2sb" computable.
Operations are published through the GitBook OpenAPI plugin from openapi.yaml.
/api/v1/ranges/nl/v2free · no keyCovered stacks and positions plus manifest metadata. Free, no key.
curl "https://pokerdata.io/api/v1/ranges/nl/v2"{
"game": "nl",
"version": 2,
"generatedAt": "2026-06-08T12:00:00.000Z",
"bundleCount": 48,
"stacks": [
20,
30,
40,
50,
70,
100,
150,
200
],
"positions": [
"BB",
"BTN",
"CO",
"HJ",
"SB",
"UTG"
]
}/api/v1/ranges/nl/v2/rangeThe range for one spot. Path must end in an action. Only nonzero weights are returned.
stackintegerrequired- Stack depth in bb.
spotstringrequired- Action path ending in an action.
handstringoptional- 169-grid class.
curl "https://pokerdata.io/api/v1/ranges/nl/v2/range" \
-H "Authorization: Bearer pdk_YOUR_KEY"{
"game": "nl",
"version": 2,
"stack": 100,
"spot": "UTG_60%_HJ_Call",
"actor": "HJ",
"hand": "AKs",
"freq": 0.35,
"ev": 1.84,
"combos": 61.9,
"weights": {
"AKs": 0.35,
"QQ": 0.62,
"JJ": 1
},
"evs": {
"AKs": 1.84,
"QQ": 2.31
}
}/api/v1/ranges/nl/v2/nodeEvery available action at a node, with ranges. Path must end in a position.
stackintegerrequired- Stack depth in bb.
historystringrequired- Action path ending in the position about to act.
handstringoptional- 169-grid class.
curl "https://pokerdata.io/api/v1/ranges/nl/v2/node" \
-H "Authorization: Bearer pdk_YOUR_KEY"/api/v1/ranges/nl/v2/spotsEvery valid decision node for a stack, tagged by depth (1 = RFI, 2 = vs open, …).
stackintegerrequired- Stack depth in bb.
curl "https://pokerdata.io/api/v1/ranges/nl/v2/spots" \
-H "Authorization: Bearer pdk_YOUR_KEY"