KeepTradeCut APIkeeptradecut.com ↗
Access crowdsourced dynasty fantasy football trade values, player rankings, and recent trades from KeepTradeCut via 4 structured endpoints.
What is the KeepTradeCut API?
The KeepTradeCut API exposes 4 endpoints covering crowdsourced dynasty fantasy football trade values, player rankings, and real trade data sourced from Sleeper, MFL, and other platforms. The get_dynasty_rankings endpoint returns player value, rank, position rank, tier, age, and rookie status across multiple scoring formats and four TE premium levels. A compact bulk endpoint delivers the full top-500 pool as a single CSV string for efficient data pipelines.
curl -X GET 'https://api.parse.bot/scraper/52095a49-4d80-48b7-9495-40d7716e1e65/get_dynasty_rankings?limit=10&scoring=superflex&position=all' \ -H 'X-API-Key: $PARSE_API_KEY'
Retrieve dynasty fantasy football player rankings with crowdsourced trade values. Results are ordered by rank (highest value first) under the selected scoring format and TE premium level; each level is a separate ranking published by the site, so value, rank, positionalRank, overallTier and positionalTier change with the level while keep/trade/cut vote counts and overallTrend are per scoring format only. Each player includes their current trade value, positional rank, tier, and keep/trade/cut vote counts. The ranking pool is the top 500 dynasty-relevant players. One page fetch per call; an unrecognized tep, scoring or position value is rejected before any request.
| Param | Type | Description |
|---|---|---|
| tep | string | Tight-end premium level matching the site's TE Premium setting: 0 = none (base values), 1 = TE+, 2 = TE++, 3 = TE+++. Combined with scoring to select the value set. |
| limit | integer | Maximum number of players to return. |
| scoring | string | Scoring format for values. |
| position | string | Filter by position. |
{
"type": "object",
"fields": {
"tep": "integer TE premium level (0-3) applied to value/rank/tier fields",
"players": "array of player ranking objects with playerName, playerID, slug, position, team, age, rookie, college, seasonsExperience, value, rank, positionalRank, overallTier, positionalTier, overallTrend, kept, traded, cut",
"scoring": "string",
"total_players": "integer",
"position_filter": "string"
},
"sample": {
"data": {
"tep": 3,
"players": [
{
"age": 23.8,
"cut": 34694,
"kept": 36534,
"rank": 2,
"slug": "brock-bowers-1612",
"team": "LVR",
"value": 9999,
"rookie": false,
"traded": 37540,
"college": "Georgia",
"playerID": 1612,
"position": "TE",
"playerName": "Brock Bowers",
"overallTier": 1,
"overallTrend": 1,
"positionalRank": 1,
"positionalTier": 1,
"seasonsExperience": 2
},
{
"age": 26.8,
"cut": 46462,
"kept": 49010,
"rank": 4,
"slug": "trey-mcbride-1253",
"team": "ARI",
"value": 9994,
"rookie": false,
"traded": 48655,
"college": "Colorado State",
"playerID": 1253,
"position": "TE",
"playerName": "Trey McBride",
"overallTier": 1,
"overallTrend": 4,
"positionalRank": 2,
"positionalTier": 1,
"seasonsExperience": 4
}
],
"scoring": "superflex",
"total_players": 2,
"position_filter": "TE"
},
"status": "success"
}
}About the KeepTradeCut API
Rankings and Trade Values
get_dynasty_rankings returns an ordered array of player objects including value, rank, positionalRank, overallTier, positionalTier, age, rookie, college, seasonsExperience, and team. Two key parameters shape the output: scoring (standard, half-PPR, PPR) and tep (0–3), where each TE premium level is a distinct ranking published by KeepTradeCut — not a post-calculation adjustment. The position parameter filters results to QB, RB, WR, TE, or picks. get_player_details accepts a slug (e.g. josh-allen-365) and returns additional physical and draft-capital attributes alongside live value, rank, kept, and cut counts that reflect how many managers have kept or cut that player in recent KTC polls.
Bulk CSV Endpoint
get_dynasty_values_compact returns the entire ranking as a single CSV string with the header rank,value,pos,team,age,pos_rank,tier,pos_tier,trend,cut_pct,rookie,ktc_id,name. This is the most efficient path when you need all values at once — for example, to sync a full player database or run batch comparisons. The row_count field confirms how many data rows were returned. It accepts the same scoring and tep parameters as the rankings endpoint.
Recent Trades
get_recent_trades returns actual trades exchanged between managers in dynasty leagues. Each trade object contains teamOne and teamTwo sides with playerIds arrays, a place field, and settings covering teams, qBs, ppr, and tep. Player IDs in trade objects map directly to playerID values from the rankings endpoints, making cross-referencing straightforward. The limit parameter controls how many trades are returned, and total_trades indicates the full available count.
The KeepTradeCut API is a managed, monitored endpoint for keeptradecut.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when keeptradecut.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official keeptradecut.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a dynasty trade analyzer that compares player values across all four TE premium levels using
tepparameter variants - Track
keptandcutcounts fromget_player_detailsto identify players trending up or down in dynasty community sentiment - Sync a full top-500 dynasty player database using the CSV output from
get_dynasty_values_compactfor efficient bulk loading - Audit recent real trades from
get_recent_tradesto see what assets managers are actually exchanging in live dynasty leagues - Generate trade value charts by polling
get_dynasty_rankingsacross multiple scoring formats and storingvalueover time - Filter rankings to rookie players only and cross-reference with
rankandpositionalRankfor dynasty startup draft prep - Map
playerIdsin recent trades back to player names using theplayerIDfield from rankings to build a trade history log
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does KeepTradeCut have an official developer API?+
What do the four `tep` levels represent and how do they differ?+
tep value (0 = none, 1 = TE+, 2 = TE++, 3 = TE+++) corresponds to a separate ranking that KeepTradeCut publishes for different TE premium league settings. The value, rank, positionalRank, overallTier, and positionalTier fields all reflect whichever level you select. Because these are distinct rankings rather than scaled adjustments, a tight end's rank can differ substantially between levels.How fresh is the trade value data?+
Does the API cover redraft or best-ball league formats?+
scoring parameter adjusts PPR format within dynasty, but redraft-specific or best-ball rankings are not exposed. You can fork this API on Parse and revise it to add an endpoint targeting those formats if KeepTradeCut publishes them.Can I retrieve a player's full trade value history over time?+
trend field in the CSV endpoint) but does not expose historical value series. You can fork this API on Parse and revise it to add a historical values endpoint if that data becomes accessible.