The retained window, measured now
These dates come from retained history rows. They do not establish continuous collection, multi-season coverage, original opening times, or the observation window of every individual projection.
Latest collection observation: Oct 28, 2026, 01:53:03 AM UTC. History entries are stored when normalized offers change; the latest collection can be newer than the latest history entry.
What the retained history represents
Each history entry is an observation retained by this service. The first entry establishes the earliest stored state for that projection, not necessarily its opening line on the source platform. A service that began observing an offer today cannot reconstruct earlier changes merely because the event or player existed yesterday. The timestamps shown above describe the database that is available now.
The history endpoint records the initial normalized state and later changed states. It does not add an identical row for every repeated collection. As a result, history counts are not collection counts. A projection with one entry may have been observed several times without changing, or it may have been seen only once. Use collection-health context rather than drawing an uninterrupted feed from a sparse history array.
Fetch the history for one projection
curl "https://prizepicksapi.com/api/v1/projections/PROJECTION_ID/history?limit=100" \
-H "Authorization: Bearer $PRIZEPICKS_API_KEY"Replace PROJECTION_ID with an ID from the projections endpoint. The response includes history-entry IDs, the projection ID, line, selections, status, observed_at, and source_updated_at when supplied. Continue with meta.next_cursor until it is null. The same player name can appear across markets or periods, so do not combine unrelated projection histories by name alone.
Replay recorded changes across the board
curl "https://prizepicksapi.com/api/v1/changes?league=NBA&limit=100" \
-H "Authorization: Bearer $PRIZEPICKS_API_KEY"
# On a later request, use the last committed event cursor:
curl "https://prizepicksapi.com/api/v1/changes?league=NBA&after=LAST_EVENT_CURSOR" \
-H "Authorization: Bearer $PRIZEPICKS_API_KEY"The change feed distinguishes new, changed, unavailable, and restored offers. A new event means this service first recorded an offer; it is not proof of when the original platform created it. A changed event may reflect a line, selection, status-related detail, player detail, or event detail. For numeric movement, explicitly compare previous_line with line instead of counting every changed event as a line move.
Persist your consumer’s event cursor only after its work commits. When the final page has no continuation token, save the last event’s own cursor before polling again. Retrying an event should not repeat side effects, so deduplicate by event ID. The cursor is a replay position, not a timestamp that can be converted into an exact upstream change time.
Use observation time for reproducible analysis
Observed time tells you when this service collected a state. A source update timestamp, when supplied, is separate and may be null. Keep both fields if your analysis needs them. Do not replace an unknown source time with the collection time without preserving that substitution explicitly; the two answer different questions.
For a backtest, define a cutoff and use only observations known by that cutoff. A later line must not leak into an earlier simulated decision. Record market names and periods, preserve null selection values, and distinguish base lines from promotional offers. This API does not supply official settlement or graded results, so evaluating prediction outcomes requires a separately validated results source.
What this page does not promise
- No multi-season or pre-launch archive is implied by the word historical. The retained dates are shown explicitly.
- No claim is made that every intermediate upstream update was captured. Collection gaps remain gaps.
- A missing offer in a partial snapshot is not automatically a removal.
- A first observation is not automatically an opening line, and the latest stored observation is not automatically a closing line.
- There is no invented result, payout, or probability attached to a recorded projection.
Historical records and source freshness can coexist: an older entry remains a valid dated observation even after the current feed becomes stale. Label charts and exported datasets with their observation window. If your application requires a specific start date, confirm that the relevant projection histories cover it before building the analysis.
References
Current API documentation ↗Machine-readable OpenAPI contract ↗PrizePicks API is an independent data service. It is not affiliated with or endorsed by PrizePicks. Observations, completeness, and freshness are separate claims; consult source status before relying on a stored line.