NuroPicks.com
/ developers

NuroPicks public APIs

Every endpoint here is public, free, and requires no signup or API key. Pull JSON, subscribe via RSS, drop in an .ics calendar, fire HMAC-signed webhooks, or embed a widget. No rate-limit theater.

ranking + signal

Picks + confidence

Real-time pick stream, per-pick confidence score, and the marquee daily curation.

  • /picks.rssRSS 2.0 of every verified-capper pick. Stable per-pick GUID.cache 10 min
  • /api/podPick of the Day JSON. Same selection that drives /pod page + OG card.cache 10 min
  • /api/picks/:uuidFlat pick body lookup. Resolves from picks (sealed) or capper_picks (unhashed). hashStatus discriminator.cache 5 min
  • /api/picks/by-gameAll picks on one (sport, game) drilldown from /api/games/today. ?sport=nba&game=...&limit=100.cache 5 min
  • /api/picks/:uuid/timelineSingle-pick lifecycle event timeline: posted, closed (with hashes), settled — chronological.cache 5 min
  • /api/picks/:uuid/confidenceTail Confidence Index (R24) breakdown for one pick.cache 5 min
  • /api/picks/:uuid/receiptSHA-256 cryptographic receipt: pick_hash, closing_hash, CLV, immutability proof.cache 5 min
  • /api/picks/:uuid/closingClosing-line snapshot: posted vs closing odds, CLV %, edge %. Lighter sibling to /receipt.cache 5 min
  • /api/picks/:uuid/relatedOther capper picks on the same (sport, game, market, side). ?hours=N (default 6, max 72).cache 5 min
  • /api/record/windows7d / 30d / 90d / all rolling overall record in one call. JSON sibling to /record window cards.cache 5 min
  • /p/:uuidPer-pick rich permalink + 1200x630 share card.
where the sharps converge

Sharp consensus + streaks

Live consensus board, hot win-streak board, and same-day rotation across both.

  • /api/sharp/consensusJSON: groups of 2+ elite/verified-sharp cappers on same side last 6h.cache 5 min
  • /api/sharp/todaySame as consensus but bounded by today's ET slate. Optional ?sport=nba.cache 5 min
  • /sharp/today.rssRSS feed of today's consensus board. Optional ?sport=nba.cache 10 min
  • /sharp/consensus.rssRSS feed of the consensus board. Stable per-group GUID.cache 10 min
  • /api/cappers/streaksHot-streak board (?min=3&limit=25).cache 5 min
  • /api/cappersRoster discovery. Paginated handles + tiers. ?tier=elite, ?sport=nba, ?cursor=N.cache 5 min
  • /api/cappers/by-tier/:tierCapper directory scoped to one tier (elite | verified_sharp | listed). ?sport=nba, ?limit=100.cache 5 min
  • /api/leaderboardCapper leaderboard JSON. ?window=7d|30d|90d|all, ?sport=nba, ?tier=elite, ?limit=50.cache 5 min
  • /sharp/hot-streaks.rssRSS feed of active win streaks. GUID = handle+length.cache 10 min
  • /api/sharp/sportsSport breakdown of active sharp consensus groups. Where the sharps are right now.cache 5 min
  • /api/sharp/hotHot streaks ∩ active consensus. Cappers currently on a W-streak who are also on a consensus pick.cache 5 min
  • /api/sharp/marketsSport+market breakdown of active consensus groups. Where sharps are converging right now.cache 5 min
  • /api/leaderboard/clvCLV-ranked sibling to /leaderboard. ?min_n=25 noise floor, ?window/?sport/?tier filters.cache 5 min
  • /api/sharp/today/cappersFlat capper-level view of active consensus. groupCount + sports per capper. ?sport=nba.cache 5 min
  • /api/sharp/recentRecently-resolved consensus retrospective. Did sharps hit? ?hours=24 (max 168), ?sport=nba.cache 5 min
  • /api/leaderboard/unitsUnits-net-ranked sibling to /leaderboard. ?min_n=10 noise floor, ?window/?sport/?tier filters.cache 5 min
per-capper

Capper data

Per-capper profile, recent picks, current streak, and head-to-head comparisons.

  • /api/cappers/:handle/statsLifetime + 30d + sport-split + last-10 picks.cache 5 min
  • /api/cappers/:handle/streakCurrent consecutive W or L (push/void slide-through).cache 5 min
  • /api/cappers/:handle/sportsPer-capper sport breakdown: picks + W-L-P record + hitRatePct + lastPostedAt per sport.cache 5 min
  • /api/cappers/:handle/clvCLV histogram + percentiles (mean / median / p25 / p75) + last-N picks with CLV. ?last_n=50 (max 200).cache 5 min
  • /api/cappers/:handle/marketsPer-capper market breakdown: picks + W-L-P record + hitRatePct + lastPostedAt per market.cache 5 min
  • /api/cappers/:handle/clv-by-sportCLV mean / median / p25 / p75 sliced per sport. Spot soft-book vs sharp-book splits in one capper.cache 5 min
  • /api/cappers/:handle/timelineDaily activity: zero-filled day-by-day picks + W-L-P-V-P counts. ?days=30 (max 90).cache 5 min
  • /api/cappers/:handle/units-curveCumulative net-units curve, chart-ready, zero-filled by settle day. ?days=30 (max 90).cache 5 min
  • /api/cappers/:handle/extremesTop N best CLV picks + top N worst CLV picks for one capper. ?n=5 (max 25).cache 5 min
  • /api/cappers/:handle/vs/:otherHead-to-head: tier, lifetime, 30d, streak.cache 5 min
  • /c/:handle/rss.xmlRSS feed of one capper's pick stream.cache 10 min
  • /embed/capper/:handle/widget.jsDrop-in shadow-DOM widget for any web page.
calendar push

ICS + Calendar

Today's slate as an .ics file. Add to Google / Apple / Outlook to get every pick as a calendar event.

  • /api/feed/today.icsRFC 5545 VCALENDAR. Optional ?sport=nba filter.cache 10 min
  • /api/feed/todayJSON sibling for non-calendar consumers. Same source as the .ics.cache 5 min
  • /api/feed/upcomingPicks for games tipping in the next N hours. ?hours=4 (max 24), ?sport=nba.cache 5 min
  • /api/games/todayDistinct games on today's ET slate with capperCount, marketCount, tier breakdown. ?sport=nba.cache 5 min
  • /api/feed/settledRecent settlements stream (settle-time ordered, not post-time). ?sport=nba, ?limit=100 (max 200).cache 2 min
  • /api/feed/by-tierTier-scoped pick stream. ?tier=elite|verified_sharp|listed (required), ?sport=nba, ?limit=50 (max 200).cache 2 min
  • /api/sportsSport catalog: which sport keys are valid + 7d activity + 30d record + deep links.cache 5 min
  • /api/marketsDistinct (sport, market) pairs with last-N-day pick counts. Filter discovery for clients.cache 5 min
push delivery

Webhooks

HMAC-SHA256 signed POSTs whenever a capper posts a pick or one settles. Two event types on one subscription.

  • POST/api/webhooksSubscribe (returns one-time secret).
  • DELETE/api/webhooks/:idRevoke a subscription (X-Webhook-Secret header).
  • GET/api/webhooks?email=...List your subscriptions (no secret returned).
  • X-NuroPicks-Event: pick.postedFires when a verified capper posts a new pick.
  • X-NuroPicks-Event: pick.settledFires when a pending pick grades to win/loss/push/void (R22).
operational health

Status + ops

Public board showing the freshness of every cron we run. Same data drives the status-degradation Discord alerts.

  • /api/statusJSON snapshot of every check + overall status + totals.cache 60 sec
  • /api/versionBuild SHA, deploy env, vault ring, process uptime. No DB. Never cached.
  • /api/snapshotOne-call meta digest: consensus groups, hot streaks, POD presence, last-pick + last-settle deltas.cache 60 sec
  • /api/snapshot/sport/:sportSport-scoped digest: consensus groups + last post + last settle + 24h elite contributors + today's count.cache 60 sec
  • /opsSame data, rendered as a public board.
Full webhook docs ›Sharp signals hub ›Live ops board ›

API caches are best-effort hints, not contracts. Use the standard cache-control headers on each response. We never gate or rate-limit legitimate developer traffic. 21+. Hash-chain audited from posting to settlement.

Must be 21+. Gambling problem? Call 1-800-GAMBLER. NJ/PA: 1-800-GAMBLER · MI: 1-800-270-7117 · VA: 1-888-532-3500 · CO: 1-800-522-4700 · NY: 877-846-7369 (HOPENY).

NuroPicks LLC · 30 N Gould St Ste R, Sheridan, WY 82801