Sportskeeda API endpoint
Reads the first-party public transaction feed in month-sized windows, avoiding its 10000-row broad-range cap. Discover accepted seasons, months, and team slugs with sportskeeda-transactions-options.
/sportskeeda/transactionsQuery parameters: slug is optional and defaults to nfl/transactions; use a host-free nfl/<team>/transactions slug from sportskeeda-transactions-options for one team. season is an optional season start year. The live verified choices on 2026-09-29 are 2020, 2021, 2022, 2023, 2024, 2025, and 2026; omitted means the current season. month is required and must be an exact MMYYYY code returned by sportskeeda-transactions-options for that season. Available month codes vary by season: historical seasons offer February through the following February; the current season gains months as published. page is 1–1000 (default 1) and per_page is 1–500 (default 100).
Response behavior: Reads the site's public JSON feed for the selected month, then returns paginated records with IDs, dates, team and player slugs, positions, type, description, and optional source team. A broad all-year request to the upstream feed caps at 10,000 rows; this API uses month windows so every offered month can be requested without that truncation. Follow has_more to retrieve all records for one month, then enumerate the other months from the options endpoint. A real month with no transactions for the selected team returns an empty items list and total: 0. Missing or malformed upstream data returns an upstream error.
The live month-code union as of 2026-09-29 is 022020, 032020, 042020, 052020, 062020, 072020, 082020, 092020, 102020, 112020, 122020, 012021, 022021, 032021, 042021, 052021, 062021, 072021, 082021, 092021, 102021, 112021, 122021, 012022, 022022, 032022, 042022, 052022, 062022, 072022, 082022, 092022, 102022, 112022, 122022, 012023, 022023, 032023, 042023, 052023, 062023, 072023, 082023, 092023, 102023, 112023, 122023, 012024, 022024, 032024, 042024, 052024, 062024, 072024, 082024, 092024, 102024, 112024, 122024, 012025, 022025, 032025, 042025, 052025, 062025, 072025, 082025, 092025, 102025, 112025, 122025, 012026, 022026, 032026, 042026, 052026, 062026, 072026, 082026, 092026. Each season accepts only its own subset returned by the options endpoint; newly published months appear there first.
Example response (items abbreviated):
{"data":{"slug":"nfl/dallas-cowboys/transactions","season":2026,"month":"082026","page":1,"per_page":100,"total":66,"has_more":false,"items":[{"id":955954,"date":"2026-08-31T00:00:00Z","team":{"name":"Dallas Cowboys","abbr":"DAL","slug":"nfl/dallas-cowboys"},"player":{"name":"Michael Trigg"},"positions":[{"name":"Tight End","abbr":"TE"}],"type":"practice squad addition"}]}}
| Field | Filled in, of 40 checked | Values in the sample |
|---|---|---|
| id | 40 | |
| date | 40 | 2026-08-30 to 2026-08-31 |
| team | 40 | |
| player | 40 | |
| positions | 40 | median 1 entry |
| type | 40 | cut (25), practice squad addition (13), acquired from waivers (1) and 1 more |
| description | 2 | median 11 characters |
| from_team | 1 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| slug | string | No | Host-free page slug; nfl/transactions or an NFL team transactions slug | nfl/dallas-cowboys/transactions | |
| season | integer | No | current | Season start year; current live choices: 2020,2021,2022,2023,2024,2025,2026; defaults to current Allowed values: 2020, 2021, 2022, 2023, 2024, 2025, 2026. | |
| month | string | Yes | MMYYYY month code from transactions-options for the selected season; current live union is listed here Allowed values: 022020, 032020, 042020, 052020, 062020, 072020, 082020, 092020, 102020, 112020, 122020, 012021, 022021, 032021, 042021, 052021, 062021, 072021, 082021, 092021, 102021, 112021, 122021, 012022, 022022, 032022, 042022, 052022, 062022, 072022, 082022, 092022, 102022, 112022, 122022, 012023, 022023, 032023, 042023, 052023, 062023, 072023, 082023, 092023, 102023, 112023, 122023, 012024, 022024, 032024, 042024, 052024, 062024, 072024, 082024, 092024, 102024, 112024, 122024, 012025, 022025, 032025, 042025, 052025, 062025, 072025, 082025, 092025, 102025, 112025, 122025, 012026, 022026, 032026, 042026, 052026, 062026, 072026, 082026, 092026. | 092026 | |
| page | integer | No | Page number, 1-1000; default 1 | 1 | |
| per_page | integer | No | Records per page, 1-500; default 100 | 100 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/sportskeeda/transactions?season=2020&month=092026&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"data": {
"slug": "nfl/dallas-cowboys/transactions",
"season": 2026,
"month": "082026",
"page": 1,
"per_page": 100,
"total": 66,
"has_more": false,
"items": [
{
"id": 955954,
"date": "2026-08-31T00:00:00Z",
"team": {
"name": "Dallas Cowboys",
"abbr": "DAL",
"slug": "nfl/dallas-cowboys"
},
"player": {
"name": "Michael Trigg"
},
"positions": [
{
"name": "Tight End",
"abbr": "TE"
}
],
"type": "practice squad addition"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/publicnews.sportskeedaTransactionsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| data | sportskeeda.TransactionsResponse | No | ||||
| data.has_more | boolean | No | ||||
| data.items | array | No | ||||
| data.items[].date | string | No | ||||
| data.items[].description | string | No | ||||
| data.items[].from_team | sportskeeda.TransactionParty | No | ||||
| data.items[].from_team.abbr | string | No | ||||
| data.items[].from_team.name | string | No | ||||
| data.items[].from_team.slug | string | No | ||||
| data.items[].id | integer | No | ||||
| data.items[].player | sportskeeda.TransactionPerson | No | ||||
| data.items[].player.name | string | No | ||||
| data.items[].player.slug | string | No | ||||
| data.items[].positions | array | No | ||||
| data.items[].positions[].abbr | string | No | ||||
| data.items[].positions[].name | string | No | ||||
| data.items[].team | sportskeeda.TransactionParty | No | ||||
| data.items[].team.abbr | string | No | ||||
| data.items[].team.name | string | No | ||||
| data.items[].team.slug | string | No | ||||
| data.items[].type | string | No | ||||
| data.month | string | No | ||||
| data.page | integer | No | ||||
| data.per_page | integer | No | ||||
| data.season | integer | No | ||||
| data.slug | string | No | ||||
| data.total | integer | No |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/sportskeeda/transactions?season=2020&month=092026&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"