{"openapi":"3.1.0","info":{"title":"DraftKings API","version":"1.0.0","description":"Independent developer API for observed DraftKings data. Not affiliated with or endorsed by DraftKings. No wagering."},"servers":[{"url":"https://draftkingsapi.com"}],"paths":{"/api/v1/coverage":{"get":{"summary":"getCoverage","description":"Measured stored coverage and collector context. Call this first.","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Stored observations with provenance and capture ages.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"operationId":"getCoverage"}},"/api/v1/pick6/projections":{"get":{"summary":"getPick6Projections","description":"Stored Pick6 market rows with target values and standings multipliers. Filter by sport and stat. Multipliers are not odds.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":25,"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":10000}},{"name":"sport","in":"query","required":false,"schema":{"type":"string","pattern":"^[A-Z0-9 ]{2,16}$"}},{"name":"stat","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":100}},{"name":"pick_group_id","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":100}},{"name":"pickable_id","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":100}},{"name":"pickable_market_id","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":100}}],"responses":{"200":{"description":"Stored observations with provenance and capture ages.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"operationId":"getPick6Projections"}},"/api/v1/pick6/history":{"get":{"summary":"getPick6History","description":"Recorded Pick6 changes. Continue from pagination.next_after with offset=0.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":25,"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":10000}},{"name":"sport","in":"query","required":false,"schema":{"type":"string","pattern":"^[A-Z0-9 ]{2,16}$"}},{"name":"stat","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":100}},{"name":"pick_group_id","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":100}},{"name":"pickable_id","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":100}},{"name":"pickable_market_id","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":100}},{"name":"after","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"responses":{"200":{"description":"Stored observations with provenance and capture ages.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"operationId":"getPick6History"}},"/api/v1/events":{"get":{"summary":"getSportsbookEvents","description":"Stored sportsbook events with event_status pre, in, post or unknown.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":25,"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":10000}},{"name":"sport","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-zA-Z0-9_ -]{1,60}$"}},{"name":"event_id","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":180}}],"responses":{"200":{"description":"Stored observations with provenance and capture ages.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"operationId":"getSportsbookEvents"}},"/api/v1/odds":{"get":{"summary":"getSportsbookOdds","description":"Stored moneyline, spread and total observations with provenance. Join to events by event_id.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":25,"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":10000}},{"name":"sport","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-zA-Z0-9_ -]{1,60}$"}},{"name":"event_id","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":180}},{"name":"market","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":100}}],"responses":{"200":{"description":"Stored observations with provenance and capture ages.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"operationId":"getSportsbookOdds"}},"/api/v1/history":{"get":{"summary":"getSportsbookHistory","description":"Retained sportsbook observations. Not complete opening-to-close data.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":25,"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":10000}},{"name":"sport","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-zA-Z0-9_ -]{1,60}$"}},{"name":"event_id","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":180}},{"name":"offer_id","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":180}},{"name":"market","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":100}}],"responses":{"200":{"description":"Stored observations with provenance and capture ages.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"operationId":"getSportsbookHistory"}},"/api/v1/dfs/sports":{"get":{"summary":"getDfsSports","description":"DFS sports catalog.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":25,"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":10000}}],"responses":{"200":{"description":"Stored observations with provenance and capture ages.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"operationId":"getDfsSports"}},"/api/v1/dfs/slates":{"get":{"summary":"getDfsSlates","description":"DFS slates by sport.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":25,"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":10000}},{"name":"sport","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-zA-Z0-9_ -]{1,60}$"}},{"name":"slate_id","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{1,15}$"}}],"responses":{"200":{"description":"Stored observations with provenance and capture ages.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"operationId":"getDfsSlates"}},"/api/v1/dfs/contests":{"get":{"summary":"getDfsContests","description":"DFS contests by sport or slate.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":25,"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":10000}},{"name":"sport","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-zA-Z0-9_ -]{1,60}$"}},{"name":"slate_id","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{1,15}$"}}],"responses":{"200":{"description":"Stored observations with provenance and capture ages.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"operationId":"getDfsContests"}},"/api/v1/dfs/players":{"get":{"summary":"getDfsPlayers","description":"DFS roster-slot draftables with salaries. One athlete can have several rows. Salary is not a price.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":25,"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":10000}},{"name":"sport","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-zA-Z0-9_ -]{1,60}$"}},{"name":"slate_id","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{1,15}$"}}],"responses":{"200":{"description":"Stored observations with provenance and capture ages.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"operationId":"getDfsPlayers"}},"/api/v1/stats/games":{"get":{"summary":"getStatsGames","description":"Independent game statistics by sport and season.","security":[{"bearerAuth":[]}],"parameters":[{"name":"sport","in":"query","required":true,"schema":{"type":"string","enum":["NBA","NFL","NHL"]}},{"name":"season","in":"query","required":true,"description":"NFL starting year; NBA/NHL ending year. Valid scope does not establish captured coverage.","schema":{"type":"integer","minimum":2000,"maximum":2027}},{"name":"event_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[0-9]{1,20}$"}},{"name":"completed","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"from","in":"query","required":false,"description":"ISO8601 offset timestamp or YYYY-MM-DD interpreted at UTC midnight; from must not follow to.","schema":{"type":"string","anyOf":[{"format":"date-time"},{"format":"date"}]}},{"name":"to","in":"query","required":false,"description":"ISO8601 offset timestamp or YYYY-MM-DD interpreted at UTC midnight; from must not follow to.","schema":{"type":"string","anyOf":[{"format":"date-time"},{"format":"date"}]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":50}},{"name":"after","in":"query","required":false,"description":"Use pagination.next unchanged. Cursor pages are not a frozen export.","schema":{"type":"string","minLength":1,"maxLength":300,"pattern":"^[\\w:./-]+$"}}],"responses":{"200":{"description":"Stored observations with provenance and capture ages.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"operationId":"getStatsGames"}},"/api/v1/stats/player-games":{"get":{"summary":"getStatsPlayerGames","description":"Independent player game logs by sport and season.","security":[{"bearerAuth":[]}],"parameters":[{"name":"sport","in":"query","required":true,"schema":{"type":"string","enum":["NBA","NFL","NHL"]}},{"name":"season","in":"query","required":true,"description":"NFL starting year; NBA/NHL ending year. Valid scope does not establish captured coverage.","schema":{"type":"integer","minimum":2000,"maximum":2027}},{"name":"event_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[0-9]{1,20}$"}},{"name":"completed","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"from","in":"query","required":false,"description":"ISO8601 offset timestamp or YYYY-MM-DD interpreted at UTC midnight; from must not follow to.","schema":{"type":"string","anyOf":[{"format":"date-time"},{"format":"date"}]}},{"name":"to","in":"query","required":false,"description":"ISO8601 offset timestamp or YYYY-MM-DD interpreted at UTC midnight; from must not follow to.","schema":{"type":"string","anyOf":[{"format":"date-time"},{"format":"date"}]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":50}},{"name":"after","in":"query","required":false,"description":"Use pagination.next unchanged. Cursor pages are not a frozen export.","schema":{"type":"string","minLength":1,"maxLength":300,"pattern":"^[\\w:./-]+$"}},{"name":"team_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[0-9]{1,20}$"}},{"name":"athlete_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[0-9]{1,20}$"}}],"responses":{"200":{"description":"Stored observations with provenance and capture ages.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"operationId":"getStatsPlayerGames"}},"/api/v1/stats/team-games":{"get":{"summary":"getStatsTeamGames","description":"Independent team game logs by sport and season.","security":[{"bearerAuth":[]}],"parameters":[{"name":"sport","in":"query","required":true,"schema":{"type":"string","enum":["NBA","NFL","NHL"]}},{"name":"season","in":"query","required":true,"description":"NFL starting year; NBA/NHL ending year. Valid scope does not establish captured coverage.","schema":{"type":"integer","minimum":2000,"maximum":2027}},{"name":"event_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[0-9]{1,20}$"}},{"name":"completed","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"from","in":"query","required":false,"description":"ISO8601 offset timestamp or YYYY-MM-DD interpreted at UTC midnight; from must not follow to.","schema":{"type":"string","anyOf":[{"format":"date-time"},{"format":"date"}]}},{"name":"to","in":"query","required":false,"description":"ISO8601 offset timestamp or YYYY-MM-DD interpreted at UTC midnight; from must not follow to.","schema":{"type":"string","anyOf":[{"format":"date-time"},{"format":"date"}]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":50}},{"name":"after","in":"query","required":false,"description":"Use pagination.next unchanged. Cursor pages are not a frozen export.","schema":{"type":"string","minLength":1,"maxLength":300,"pattern":"^[\\w:./-]+$"}},{"name":"team_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[0-9]{1,20}$"}}],"responses":{"200":{"description":"Stored observations with provenance and capture ages.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"operationId":"getStatsTeamGames"}},"/api/v1/context/games":{"get":{"summary":"getContextGames","description":"Game scores attached to observed events.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":25,"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":10000}},{"name":"sport","in":"query","required":false,"schema":{"type":"string","pattern":"^[A-Z]{2,8}$"}},{"name":"event_id","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{1,20}$"}},{"name":"athlete_id","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{1,20}$"}}],"responses":{"200":{"description":"Stored observations with provenance and capture ages.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"operationId":"getContextGames"}},"/api/v1/context/player-stats":{"get":{"summary":"getContextPlayerStats","description":"Player statistics attached to observed events.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":25,"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":10000}},{"name":"sport","in":"query","required":false,"schema":{"type":"string","pattern":"^[A-Z]{2,8}$"}},{"name":"event_id","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{1,20}$"}},{"name":"athlete_id","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{1,20}$"}}],"responses":{"200":{"description":"Stored observations with provenance and capture ages.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"operationId":"getContextPlayerStats"}},"/api/v1/context/team-stats":{"get":{"summary":"getContextTeamStats","description":"Team statistics attached to observed events.","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":25,"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":10000}},{"name":"sport","in":"query","required":false,"schema":{"type":"string","pattern":"^[A-Z]{2,8}$"}},{"name":"event_id","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{1,20}$"}},{"name":"athlete_id","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{1,20}$"}}],"responses":{"200":{"description":"Stored observations with provenance and capture ages.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"operationId":"getContextTeamStats"}}},"components":{"schemas":{},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"security":[{"bearerAuth":[]}]}