League of Legends and Dota 2 odds API
Answer: League of Legends and Dota 2 matches arrive under PinnFeed's esports sport (id 11) when Pinnacle lists them. Pinnacle names its esports leagues by title and tournament, so /v1/events?sport=esports&q=league of legends or q=dota finds the league ids. Then filter /v1/odds or a WebSocket subscription by those ids for match moneylines, map handicaps and totals as Pinnacle offers them.
Find the competitions#
for t in "league of legends" "dota"; do
curl -s -G "https://pinnfeed.io/v1/events" --data-urlencode "sport=esports" --data-urlencode "q=$t" \
-d limit=200 -H "x-api-key: ps_live_your_key" | jq -r '.events[].league | "\(.id)\t\(.name)"' | sort -u
done
If a name search returns nothing, list all esports events and read the league names: naming can vary by tournament.
Odds for those leagues#
curl -s "https://pinnfeed.io/v1/odds?sport=esports&league=ID1,ID2&market=moneyline,spread,total" \
-H "x-api-key: ps_live_your_key"
Map-level markets, when offered, come as markets with their own period; read period and line rather than assuming a fixed mapping. Live matches have live: true; on Builder, delta frames push each price change between maps.
Plans#
Free: 30 s delay, 2 sports (pick esports), main markets. Hobby (€29/mo): real-time REST. Builder (€99/mo): WebSocket, all markets and specials. 3-day trial; a card is required and it is charged after day 3 unless you cancel. Other titles: esports odds, CS2/CS:GO.
Educational content for adults (18+). No tips, no guaranteed profit.
Questions people ask#
Do I get in-game data (kills, gold)?#
No. PinnFeed carries Pinnacle odds; score is filled only when Pinnacle publishes one.
Valorant or other titles?#
Same esports sport; search by the title or tournament name.
Why are some esports markets missing on Free?#
Free and Hobby get main markets only; map and specials markets need Builder.