Sports odds widget vs odds API
Answer: a widget is a ready-made embed (iframe or script) that shows a vendor's odds table on your page; you get little control over layout, markets or refresh. An API gives you the raw prices as JSON so you decide what to show and when. PinnFeed is an API, not a widget: you render Pinnacle odds yourself from GET /v1/odds or the WebSocket, and you keep the API key on your server.
Pick by job#
| You want | Better fit |
|---|---|
| A drop-in odds table on a blog with no code | A widget vendor |
| Your own design, filters, alerts or a bot | An API such as PinnFeed |
Fair odds, margin or maxStake next to the price | An API (PinnFeed returns fair, fairProb, margin, maxStake) |
| Live prices pushed into your app | A WebSocket API (PinnFeed Builder) |
Build your own "widget" safely#
Never ship your ps_live_ key to the browser. Proxy it through a tiny server route and cache the result:
// server.js (Node 18+): GET /odds -> PinnFeed, key stays server-side
import http from 'node:http';
let cache = { at: 0, body: '[]' };
http.createServer(async (req, res) => {
if (req.url !== '/odds') { res.writeHead(404).end(); return; }
if (Date.now() - cache.at > 15000) {
const r = await fetch('https://pinnfeed.io/v1/odds?sport=soccer&market=moneyline&main=true&limit=20',
{ headers: { 'x-api-key': process.env.PINNFEED_KEY } });
cache = { at: Date.now(), body: await r.text() };
}
res.writeHead(200, { 'content-type': 'application/json' }).end(cache.body);
}).listen(3000);
Your page then calls /odds and draws the table. A 15-second cache keeps you well inside the REST rate limits. For a no-code view, try Google Sheets or a Lovable app.
Plans#
Free (€0, 30-second delay) is enough to prototype the table. Real-time REST is Hobby (€29/mo); live push is Builder (€99/mo). Paid plans: 3-day trial; a card is required and it is charged after day 3 unless you cancel.
Educational content for adults (18+). Check the gambling-advertising rules in your country before showing odds publicly.
Related: dropping odds software vs API.
Questions people ask#
Does PinnFeed offer an embeddable widget?#
No. It is a developer API (REST, WebSocket, MCP). You build the display.
Can I call the API from the browser?#
Technically yes with ?key=, but anyone can then read your key. Use a server proxy as above.
Can I show the odds on a public site?#
That depends on your use and local advertising rules. Ask us about commercial licensing via Enterprise if you redistribute at scale.