Live coverage of BetRivers via the ParlayAPI moneyline / spread / total / player-prop aggregator. Classification: US retail sportsbook. Source key: betrivers.
spreads 2,302 rowsmoneyline 1,367 rowstotals 1,152 rowsspreads 398 rowsmoneyline 397 rowstotals 198 rowsspreads 5,771 rowsmoneyline 781 rowstotals 708 rowsplayer_strikeouts 309 rowsplayer_first_fg_scorer 345 rowsspreads 222 rowsmoneyline 139 rowstotals 100 rowsh2h 137 rowsmoneyline 24 rowsh2h 132 rowsmoneyline 24 rowsh2h 1,892 rowsmoneyline 337 rowsspreads 1,212 rowsmoneyline 938 rowstotals 622 rowsmoneyline 786 rowsspreads 748 rowstotals 457 rowscurl -s 'https://parlay-api.com/v1/sports/baseball_mlb/odds?regions=us&markets=h2h&bookmakers=betrivers' \
-H "X-API-Key: $PARLAY_API_KEY"
We poll BetRivers on the US mid-tier book freshness tier, which means we expect a new observation within 30s under healthy operation. Observations between 30s and 120s are flagged "degraded". Between 120s and 600s we mark "breach" and page an operator. Beyond 600s the source is "stale" and we typically pause comparisons against it until it recovers.
These thresholds are measured on the book as a whole: they say how long we can go without any new price from BetRivers, and not how old the price on one particular game is. A source that walks its slate one event at a time refreshes any single market less often than the tier above. Measured on production 2026-07-31, Fliff wrote a price every 5.3s at the median book-wide while its median WNBA game went 169s between writes, both healthy. For the age of a specific price, read the last_update field on that row rather than this tier.
Full per-book threshold table at /v1/meta/per-book-sla. Live operator dashboard at /uptime. Historical hourly observation rate at /v1/historical/source-quality.csv?source=betrivers.
← All sportsbooks · Cross-book coverage matrix · Operator uptime · Machine-readable parser coverage