Skip to content
Access: Anonymous access. Content follows.
Reading progress is unavailable until the article can be measured.
shark-snips

How nflverse players.csv Becomes NFL Betting Lines

Read the price, role, and market first A public roster file gives you a player's name, position and team. Our own board supplies the actual line. Here's how the two connect.

5 sections

Sample-Size Sam

Retired byline of the Shark Snip desk for accuracy-tracking coverage. Kept for the posts published under it before 2026-09-09.

Updated Sep 7, 2026 · Week 1 board.

The ID number that makes this work

nflverse's players.csv holds one entry per player. An ID number, the player's name, position, current team, and draft details. It's refreshed regularly as part of nflverse's public data releases. It carries no odds, no lines, no market data of any kind. It's a roster lookup, full stop. The ID column is what makes it useful downstream. It's the NFL's own player identifier, formatted like 00-0036158.

The ID number that makes this work
The ID number that makes this work. Numbers as of Sep 7, 2026; source in the notes below.

Our own player prop board stores that exact same ID, with our own prefix added. J.K. Dobbins is recorded as nfl-00-0036158. Strip the prefix and you get the same ID players.csv is keyed on. That's the whole match. A roster file supplies the name, position and team. Our board supplies the line. That shared ID is what lines them up.

In R, the language nflverse builds this file for, one function call pulls this exact table and nothing else. No market data attached, by design. Any process that needs both a name and a line has to run two reads and one match, not one read. The roster call for identity. Our own board for the number. And that shared ID to line the two up correctly.

What the match actually returns today

Our player prop board holds 212 entries as of today, each carrying that same ID format. Four sample entries show the shape. A name and an ID that would match against players.csv, the type of bet, and the line itself.

What the match actually returns today
What the match actually returns today. Numbers as of Sep 7, 2026; source in the notes below.
PlayerID (matches players.csv)Bet typeConsensus line
CeeDee Lambnfl-00-0036358Rush + receiving yards72.5
Malik Nabersnfl-00-0039337Receiving yards60.5
Harrison Butkernfl-00-0033303Field goals made1.5
J.K. Dobbinsnfl-00-0036158Receiving yards4.5

Every one of those four lines is the same story. players.csv would supply the name, position and team. Our board supplies the number. Neither file does both jobs, and that's the entire point of keeping a roster lookup and a market board separate.

Our 212 entries split across 17 different bet types, and the split is uneven. Receiving yards, receptions, and longest reception each carry 28 entries, the three biggest groups on the board. The other fourteen bet types split the rest thinner, all the way down to 212 entries across 17 bet types in total. Every one of those bet types needs the same ID match to attach a name to the number. The match doesn't change by bet type. Only the line does.

Where the pipeline runs dry

We call it a consensus line, but across all 212 entries, zero carry both a PrizePicks number and an Underdog number at once. Every single entry has exactly one book present and the other empty. The gap between them reads zero on all 212, for the same reason. There's nothing to compare it against yet. Consensus, here, means one book's number carried forward. Not an actual cross-book agreement. That's a fact about what we've got right now, not about the match method. The ID match works the same either way. But it's worth knowing that today it's attaching a single-book line, not a blended one.

We also hold an older PrizePicks scrape with 172 entries, but it's from June 3, more than three months stale next to today's board. It carries recognizable names. Cooper Kupp on Seattle, at a 34.5 receiving-yards line. It shouldn't be treated as today's market. Use the fresher board for anything dated as current.

The college gap this pipeline avoids

We don't have a college version of this player prop board. Our only college data is game-level, spread and total per matchup, with no player entries and no player IDs at all. So this exact players.csv match has no college version to reach for here. A college player prop line simply isn't something we track. Nothing above should be read as covering one.

The live version of the table above sits on the player props page, with the game-level board it ties back to on the NFL odds desk and the odds page. A companion piece looks at players.csv itself as a flat lookup table, rather than the match in front of it: players.csv in nflverse-data is a flat lookup table. The general shape of how our data connects is covered in the sports-data walkthrough.

school interstitial, the public, the crowd, consensus

The Receipts Drawer

The mechanism here is simple once you see it. One public file holds who a player is. Our own board holds what he's priced at. A shared ID number is the only thing connecting them, and it works the same for all 212 lines we track today. What doesn't work yet: calling any of these lines a real consensus, since all 212 come from a single book each. Watch for a second book to show up on these same IDs. That's the day "consensus" here actually means something.

The Receipts Drawer
The Receipts Drawer. Numbers as of Sep 7, 2026; source in the notes below.

Frequently asked questions

What is in nflverse's players.csv?
One flat entry per player: an ID number, name, position, current team, and draft details. No odds or market data. See nflverse's public data release on GitHub.
How does a roster entry become a priced betting line?
Through a shared ID number. Our own player prop board stores that same ID with our own prefix added, for example nfl-00-0036158 for J.K. Dobbins.
Is our player prop board really a cross-book consensus?
Not yet. All 212 entries carry exactly one book's line, PrizePicks or Underdog, never both, so the posted line is one book's number carried forward, and the gap between books reads zero across the board.
Should the older PrizePicks scrape be used instead?
No. It's from June 3, over three months stale against today's board.
Does this match work for college player props?
No. We don't have a college props board. Our only college data is game-level, so this specific process has no college version here.
Share this guide Help another reader make a sharper decision.

Get picks in your inbox

One email, every slate — ranked edges, no touts. Unsubscribe any time.

Continue with evidence

Related reading and source status

Related Reads

players.csv in nflverse-data Is a Flat Lookup Table — Shark Snip
Beginner Guides

players.csv in nflverse-data Is a Flat Lookup Table

A public roster file holds one entry per player, no market data. Our own prop board is built the same way, and two real players prove it.

Sep 3, 2026 4 min read
Late-Swap Rebuild: Workload Notes Arrived, Still No Market — Shark Snip
DFS

Late-Swap Rebuild: Workload Notes Arrived, Still No Market

NFL DFS late swap 2026 rebuild: the payload ships pundit mentions only — not a market — so the cross-check has nothing new to trade.

Aug 28, 2026 5 min read
players.csv: The nflverse Roster File, Explained — Shark Snip
Data

players.csv: The nflverse Roster File, Explained

players.csv is the roster file in nflverse-data that gives every player one stable identity. Here is how to load it and why that keeps data honest.

Aug 28, 2026 4 min read

3 related posts

No data

No graded picks from this article's sources yet

No tracked source has a graded 90-day record for this sport yet. Source scorecards fill after their picks are graded. The house record is separate: see /picks.