DataForce Fantasy Football provides an application programmer interface for sites that wish to capture draft and roster information from DataForce leagues. You are free to use this information however you wish, assuming your intent is to make the DataForce experience more enjoyable for our customers.
All times are greenwich mean time. All API calls follow this similar format.
Example: https://www.dataforceff.com/api?league={league}&fetch={request}&format={format}&test={test}&key={key}
API Key
Every API call requires an API key. Keys are issued by DataForce; to request one, email [email protected] with your name, what you are building, and which requests you plan to use. Each key is permitted to use specific requests, and most keys are limited to 30 calls per minute and 2,000 calls per day. Please keep your key private — it identifies you, and all calls made with it count against your limits.
Send your key in an X-Api-Key request header (preferred), or add it to the URL as key={key}:
Header: X-Api-Key: dfk_0123456789abcdef...
URL: https://www.dataforceff.com/api?league={league}&fetch={request}&format={format}&key={key}
The examples on this page use a demo key, dfk_2ff2c410ebf52429f6fe8d70889d7f1d1225c595, so you can try each request and see its output. The demo key works for league 302, My Teams, Recent Changes, and week 1 Fantasy Points only, and is shared by everyone, so it has low limits; request your own key before building anything.
If a call cannot be served, the response has a status of error with the reason in the error field, and one of these HTTP status codes:
- 401: The key is missing, not recognized, or has been disabled.
- 403: Your key is not permitted to use that request.
- 429: You have exceeded your per-minute or per-day limit. The Retry-After header gives the number of seconds to wait before trying again. Daily limits reset at midnight Pacific time.
If you need a higher limit or access to additional requests, contact us and we will review your key.
League
All API calls must contain a league number. Every DataForce league has a unique number, located on the bottom left of the league dashboard.
Request
There are several data sets that can be requested by calling the API:
Team Names
This provides team numbers (1 through 10 or 12) and team names.
League Rules
This gives basic information about the type of league, including roster requirements.
Team Rosters
This provides each team's player list, and the position in which each player currently resides. There are several player identification numbers provided:
- dff-id: The identification number in DataForce's player database
- mfl-id: The identification number used by MyFantasyLeague.com software
- fp-id: The identification number used by FantasyPros.com
- fd-id: The identification number used by FantasyData.com
Draft Results
This gives the draft picks taken. It can be run during or after a draft. For an auction, the information provided includes the nominating team as well as the winning team and winning bid. If a player has been nominated but no winning bid is specified, the auction is currently underway.
Standings
This shows the league standings through the regular fantasy season. Typically, this includes the first 14 weeks, before the playoffs get underway.
Schedule
This shows who plays whom each week of the regular fantasy season. Typically, this provides 14 weeks of information, but will contain additional weeks as the playoffs get underway.
Free Agents
This provides all players available for either free agency or waivers. Waivers are available by blind bidding only at 9pm central time each Wednesday. After the final Wednesday of the preseason, and after each Wednesday of the regular season, players who were not purchased during the waiver process become free agents, and are available for pickup at any time before the start of their game.
If a player is not available for waivers or free agency, he will not be listed. This includes players on team rosters, players that were dropped in the current week, and players who are permanently locked. (Drops after week 12 of the season are removed from the player pool.)
My Teams
Provides a list of leagues and teams for any owner, including teams the owner co-owns. Each league shows the owner's role, either owner or co-owner. Obtain your referral number from your My Account page.
Recent Changes
For owners in many leagues, this tells you which leagues have changed since your last check, so you only need to request rosters and other data for those leagues. Like My Teams, it uses the owner's referral number instead of a league number, and lists every league for that owner, including co-owned teams. Add since={time}, in greenwich mean time as YYYY-MM-DD HH:MM:SS (or Unix seconds).
Each league shows its lastChange time and changed (yes or no). A league has changed if any team in it has made an add, drop, trade, waiver claim, lineup change or injured reserve move, or has made a draft pick while the draft is underway. The response also includes asOf, the current time; use it as your since value on your next call. Without a since time, every league is marked as changed. Leagues hosted on MyFantasyLeague.com are always marked as changed.
Scoring updates during games are not considered changes. A few changes made by league commissioners are not detected, so we recommend a full refresh of all leagues about once a day.
Matchups
This indicates the opponent franchise and team name for all teams in a league, for any given week. If the provided week number is zero, the response will be for the current NFL week.
Each team's lineup is included, listing every player with the position he occupies (including Bench and IR), his player identification numbers, and his fantasy points for the week. For the current week, this is each team's lineup as it stands now, and it will change as owners make moves. For past weeks, it is the lineup that was scored. The lineupSource field shows which: current or history.
Fantasy Points
Provides fantasy point scores for a given week, using DataForce's PPR scoring. Scores are available roughly one hour after each evening's games. Includes live team scoring.
Roster Changes
This API can be used to make lineup changes and free agent moves. This is restricted to approved commercial sites who have integrated with DataForce Fantasy Football. Contact us if you wish to have this enabled.
Format (optional)
JSON (default) or XML
Test (optional)
0 = data will be presented in stream for your interface (default)
1 = data will be pretty-printed to your display