Pinnacle odds in n8n
Answer: in n8n, add a Schedule Trigger, then an HTTP Request node that calls https://pinnfeed.io/v1/drops (or /v1/odds) with a Header Auth credential named x-api-key holding your ps_live_ key. Split the drops array, filter with an IF node, and send the result to Telegram, Slack, Discord or a sheet. No code beyond one optional expression.
Workflow#
- Schedule Trigger: every 1 minute (stay inside your plan's rate limits).
- HTTP Request: Method
GET, URLhttps://pinnfeed.io/v1/drops, Authentication → Generic Credential Type → Header Auth, Namex-api-key, Valueps_live_.... Query parameters:sport=soccer,minutes=5,min_pct=5. - Split Out: field
drops. - IF: expression
$json.dropPct(inside n8n's double-curly-brace expression syntax) is greater than or equal to8. - Remove Duplicates (or a Code node keyed on
eventId+market+outcome+movedAt) so one move alerts once. - Telegram / Slack / Discord node: build the message from the expressions
$json.home,$json.away,$json.market,$json.outcome,$json.fromand$json.to.
Check the exact response field names against your own first run or /openapi.json before you wire the message.
Test the call first#
export PINNFEED_KEY="ps_live_..."
curl -sS -H "x-api-key: $PINNFEED_KEY" "https://pinnfeed.io/v1/drops?sport=soccer&minutes=5&min_pct=5"
Polling vs push#
n8n polls, so on Free you see moves 30 seconds late and at most 1 request per second, 1,000 per day; a 1-minute schedule uses 1,440 calls a day, so on Free poll every 2 minutes or more. Hobby (€29/mo) is real-time REST. For sub-second alerts, run a small WebSocket worker on Builder (€99/mo) instead (steam to Telegram). Paid plans: 3-day trial; a card is required and it is charged after day 3 unless you cancel.
Other no-code routes: Zapier / Make, Google Sheets, Airtable.
Educational content for adults (18+). Alerts are data, not tips.
Related: Webhook vs WebSocket.
Questions people ask#
Can n8n hold a WebSocket open?#
Not in the standard HTTP Request node. Use polling in n8n, or run a WebSocket worker elsewhere that posts to an n8n Webhook node.
Where do I keep the key?#
In an n8n credential (Header Auth), not in the URL, so it does not show up in execution logs.
Does this work on n8n Cloud and self-hosted?#
The HTTP Request, IF and Schedule nodes are core nodes in both.