Flatten every active player prop across all of today's games for a sport into a single list. Read-only. No side effects. Requires an API key; rate-limited and row-capped per your tier (free: 25 rows, starter: 100, pro+: 500). Returns: { sport, stat, count, rows: Array<{ player, stat, line, overOdds, underOdds, bookCount, gameState?, flashProjection?, eventId, sport, homeTeam, awayTeam, startTime, source, fetchedAt }> }. Each row is a player prop merged with its event context — there is no team or opponent field; use homeTeam/awayTeam instead. overOdds/underOdds are American-format integers; null when odds unavailable. Use scan_props when you need a broad cross-game market view — e.g. every player with a strikeouts prop today, all passing-yards lines for the slate, or which players have the most active markets. Returns count=0 with an empty rows array (not an error) when no props are posted for the day yet. When to use: broad market discovery across all games for a sport. When not to use: use get_game_props instead when you already have an eventId and want one game only — it is faster and not row-capped. Use find_player_props instead when you want all markets for one player by name.