Introduction
A public API to fetch data from etf2l.org, the biggest European Team Fortress 2 League.
ETF2L REST API v2 beta
Migrating from v1 to v2
The second version of API is rewritten from the ground up in PHP/Laravel. In order to make migrating to the new API as painless as possible, most of the popular endpoints are functionally the same with some slight differences.
In order to migrate to the new API, first your endpoint will need to change to the new URL.
Second, the paginator used in the new API works differently from the paginator in v1. In order to change pages in v1, you provide the page as the URL parameter for a request. Example: /competition/list/:page However, in v2 the paginator takes a page as a query parameter. So in order to request page 2 you would do the following in v2: Example: /competition/list?page=2
The paginator also takes an argument for amount of records it can return at once. Please keep this within limits. By default, every page returns 20 records. If you want to override this, you can provide the limit query parameter. Example: /competition/list?page=1&limit=50 would give you 50 records instead of 20.
Supported output formats
To decrease maintenance overhead, the only output format that remains supported is JSON. yaml, VDF, XML, HTML, perl & php are deprecated. If you still need these, please keep using v1 of the API.
Timespans
Because this provided confusion in the past with data not being visible due to defaulting to only showing active competitions & matches, the since parameter was removed. We suggest using the 'from' and 'to' query parameters to limit records within a certain timespan. These represent UNIX timestamps.
Feature requests
Feature requests for the API are welcome and will be reviewed accordingly by the ETF2L team. Ultimately, it is still up to ETF2L whether additional data or filters get added. The best way to provide feedback on the API would be to contact us on Discord. Please describe your wishes and use case if you do so.
Boolean values
Booleans are non-numeric anymore when they get returned from the API. They will display true or false instead.
New endpoints
Some additional endpoints are provided in the API that were not present in v1, namely the Match API & Demo API.
Base URL
https://api-v2.etf2l.org
Authenticating requests
This API is not authenticated.
Bans
Bans
Returns a paginated list of all bans that were performed on ETF2L.
Example request:
curl --request GET \
--get "https://api-v2.etf2l.org/bans?player=2788&reason=VAC" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api-v2.etf2l.org/bans"
);
const params = {
"player": "2788",
"reason": "VAC",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 52
{
"bans": {
"current_page": 1,
"data": [],
"first_page_url": "https://api-v2.etf2l.org/bans?player=2788&reason=VAC&page=1",
"from": null,
"last_page": 1,
"last_page_url": "https://api-v2.etf2l.org/bans?player=2788&reason=VAC&page=1",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://api-v2.etf2l.org/bans?player=2788&reason=VAC&page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"next_page_url": null,
"path": "https://api-v2.etf2l.org/bans",
"per_page": 20,
"prev_page_url": null,
"to": null,
"total": 0
}
}
Received response:
Request failed with error:
Competition
Competition overview
Gets a list of all competitions.
Example request:
curl --request GET \
--get "https://api-v2.etf2l.org/competition/list?category=6v6+Season&comp_type=Swiss&team_type=6on6" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api-v2.etf2l.org/competition/list"
);
const params = {
"category": "6v6 Season",
"comp_type": "Swiss",
"team_type": "6on6",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 51
{
"competitions": {
"current_page": 1,
"data": [
{
"category": "6v6 Season",
"description": "6v6 Season 41 Powered by Copenhagen Games",
"id": 767,
"name": "6v6 Season 41 Powered by Copenhagen Games",
"archived": false,
"type": "6on6",
"urls": {
"matches": "https://api-v2.etf2l.org/competition/767/matches",
"results": "https://api-v2.etf2l.org/competition/767/results",
"self": "https://api-v2.etf2l.org/competition/767",
"teams": "https://api-v2.etf2l.org/competition/767/teams"
}
},
{
"category": "6v6 Season",
"description": "6v6 Season 40 Sponsored by Mannco.store",
"id": 748,
"name": "6v6 Season 40 Sponsored by Mannco.store",
"archived": true,
"type": "6on6",
"urls": {
"matches": "https://api-v2.etf2l.org/competition/748/matches",
"results": "https://api-v2.etf2l.org/competition/748/results",
"self": "https://api-v2.etf2l.org/competition/748",
"teams": "https://api-v2.etf2l.org/competition/748/teams"
}
},
{
"category": "6v6 Season",
"description": "6v6 Season 39",
"id": 726,
"name": "6v6 Season 39",
"archived": true,
"type": "6on6",
"urls": {
"matches": "https://api-v2.etf2l.org/competition/726/matches",
"results": "https://api-v2.etf2l.org/competition/726/results",
"self": "https://api-v2.etf2l.org/competition/726",
"teams": "https://api-v2.etf2l.org/competition/726/teams"
}
},
{
"category": "6v6 Season",
"description": "Season 38",
"id": 690,
"name": "Season 38",
"archived": true,
"type": "6on6",
"urls": {
"matches": "https://api-v2.etf2l.org/competition/690/matches",
"results": "https://api-v2.etf2l.org/competition/690/results",
"self": "https://api-v2.etf2l.org/competition/690",
"teams": "https://api-v2.etf2l.org/competition/690/teams"
}
},
{
"category": "6v6 Season",
"description": "",
"id": 674,
"name": "Season 37",
"archived": true,
"type": "6on6",
"urls": {
"matches": "https://api-v2.etf2l.org/competition/674/matches",
"results": "https://api-v2.etf2l.org/competition/674/results",
"self": "https://api-v2.etf2l.org/competition/674",
"teams": "https://api-v2.etf2l.org/competition/674/teams"
}
},
{
"category": "6v6 Season",
"description": "Season 36",
"id": 662,
"name": "Season 36",
"archived": true,
"type": "6on6",
"urls": {
"matches": "https://api-v2.etf2l.org/competition/662/matches",
"results": "https://api-v2.etf2l.org/competition/662/results",
"self": "https://api-v2.etf2l.org/competition/662",
"teams": "https://api-v2.etf2l.org/competition/662/teams"
}
},
{
"category": "6v6 Season",
"description": "Season 35",
"id": 652,
"name": "Season 35",
"archived": true,
"type": "6on6",
"urls": {
"matches": "https://api-v2.etf2l.org/competition/652/matches",
"results": "https://api-v2.etf2l.org/competition/652/results",
"self": "https://api-v2.etf2l.org/competition/652",
"teams": "https://api-v2.etf2l.org/competition/652/teams"
}
},
{
"category": "6v6 Season",
"description": "Season 34: Powered by The Community",
"id": 642,
"name": "Season 34: Powered by The Community",
"archived": true,
"type": "6on6",
"urls": {
"matches": "https://api-v2.etf2l.org/competition/642/matches",
"results": "https://api-v2.etf2l.org/competition/642/results",
"self": "https://api-v2.etf2l.org/competition/642",
"teams": "https://api-v2.etf2l.org/competition/642/teams"
}
},
{
"category": "6v6 Season",
"description": "Season 33",
"id": 628,
"name": "Season 33",
"archived": true,
"type": "6on6",
"urls": {
"matches": "https://api-v2.etf2l.org/competition/628/matches",
"results": "https://api-v2.etf2l.org/competition/628/results",
"self": "https://api-v2.etf2l.org/competition/628",
"teams": "https://api-v2.etf2l.org/competition/628/teams"
}
},
{
"category": "6v6 Season",
"description": "Season 32",
"id": 605,
"name": "Season 32",
"archived": true,
"type": "6on6",
"urls": {
"matches": "https://api-v2.etf2l.org/competition/605/matches",
"results": "https://api-v2.etf2l.org/competition/605/results",
"self": "https://api-v2.etf2l.org/competition/605",
"teams": "https://api-v2.etf2l.org/competition/605/teams"
}
},
{
"category": "6v6 Season",
"description": "6v6 Season 31",
"id": 583,
"name": "Season 31 powered by Copenhagen Games & STN.tf",
"archived": true,
"type": "6on6",
"urls": {
"matches": "https://api-v2.etf2l.org/competition/583/matches",
"results": "https://api-v2.etf2l.org/competition/583/results",
"self": "https://api-v2.etf2l.org/competition/583",
"teams": "https://api-v2.etf2l.org/competition/583/teams"
}
},
{
"category": "6v6 Season",
"description": "Season 30 powered by STN-Trading and scrap.tf!",
"id": 564,
"name": "Season 30 powered by STN-Trading and scrap.tf!: Main Tiers",
"archived": true,
"type": "6on6",
"urls": {
"matches": "https://api-v2.etf2l.org/competition/564/matches",
"results": "https://api-v2.etf2l.org/competition/564/results",
"self": "https://api-v2.etf2l.org/competition/564",
"teams": "https://api-v2.etf2l.org/competition/564/teams"
}
},
{
"category": "6v6 Season",
"description": "Season 29: Main Tiers",
"id": 540,
"name": "Season 29: Main Tiers",
"archived": true,
"type": "6on6",
"urls": {
"matches": "https://api-v2.etf2l.org/competition/540/matches",
"results": "https://api-v2.etf2l.org/competition/540/results",
"self": "https://api-v2.etf2l.org/competition/540",
"teams": "https://api-v2.etf2l.org/competition/540/teams"
}
},
{
"category": "6v6 Season",
"description": "Season 28",
"id": 524,
"name": "Season 28",
"archived": true,
"type": "6on6",
"urls": {
"matches": "https://api-v2.etf2l.org/competition/524/matches",
"results": "https://api-v2.etf2l.org/competition/524/results",
"self": "https://api-v2.etf2l.org/competition/524",
"teams": "https://api-v2.etf2l.org/competition/524/teams"
}
},
{
"category": "6v6 Season",
"description": "Make sure to read <a href=2017/05/04/announcing-season-27>the newsposts</a> to make sure you’re signing up for the correct tier!",
"id": 488,
"name": "Season 27",
"archived": true,
"type": "6on6",
"urls": {
"matches": "https://api-v2.etf2l.org/competition/488/matches",
"results": "https://api-v2.etf2l.org/competition/488/results",
"self": "https://api-v2.etf2l.org/competition/488",
"teams": "https://api-v2.etf2l.org/competition/488/teams"
}
},
{
"category": "6v6 Season",
"description": "Season 26 powered by Tt eSPORTS",
"id": 450,
"name": "Season 26 powered by Tt eSPORTS",
"archived": true,
"type": "6on6",
"urls": {
"matches": "https://api-v2.etf2l.org/competition/450/matches",
"results": "https://api-v2.etf2l.org/competition/450/results",
"self": "https://api-v2.etf2l.org/competition/450",
"teams": "https://api-v2.etf2l.org/competition/450/teams"
}
},
{
"category": "6v6 Season",
"description": "Season 25 powered by Tt eSPORTS",
"id": 428,
"name": "Season 25 powered by Tt eSPORTS",
"archived": true,
"type": "6on6",
"urls": {
"matches": "https://api-v2.etf2l.org/competition/428/matches",
"results": "https://api-v2.etf2l.org/competition/428/results",
"self": "https://api-v2.etf2l.org/competition/428",
"teams": "https://api-v2.etf2l.org/competition/428/teams"
}
},
{
"category": "6v6 Season",
"description": "Season 24 powered by Tt eSPORTS",
"id": 410,
"name": "Season 24 powered by Tt eSPORTS",
"archived": true,
"type": "6on6",
"urls": {
"matches": "https://api-v2.etf2l.org/competition/410/matches",
"results": "https://api-v2.etf2l.org/competition/410/results",
"self": "https://api-v2.etf2l.org/competition/410",
"teams": "https://api-v2.etf2l.org/competition/410/teams"
}
},
{
"category": "6v6 Season",
"description": "Season 23 powered by Tt eSPORTS",
"id": 377,
"name": "Season 23 powered by Tt eSPORTS",
"archived": true,
"type": "6on6",
"urls": {
"matches": "https://api-v2.etf2l.org/competition/377/matches",
"results": "https://api-v2.etf2l.org/competition/377/results",
"self": "https://api-v2.etf2l.org/competition/377",
"teams": "https://api-v2.etf2l.org/competition/377/teams"
}
},
{
"category": "6v6 Season",
"description": "Season 22 powered by saloon.tf",
"id": 352,
"name": "Season 22 powered by saloon.tf",
"archived": true,
"type": "6on6",
"urls": {
"matches": "https://api-v2.etf2l.org/competition/352/matches",
"results": "https://api-v2.etf2l.org/competition/352/results",
"self": "https://api-v2.etf2l.org/competition/352",
"teams": "https://api-v2.etf2l.org/competition/352/teams"
}
}
],
"first_page_url": "https://api-v2.etf2l.org/competition/list?category=6v6%20Season&comp_type=Swiss&team_type=6on6&page=1",
"from": 1,
"last_page": 2,
"last_page_url": "https://api-v2.etf2l.org/competition/list?category=6v6%20Season&comp_type=Swiss&team_type=6on6&page=2",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/list?category=6v6%20Season&comp_type=Swiss&team_type=6on6&page=1",
"label": "1",
"active": true
},
{
"url": "https://api-v2.etf2l.org/competition/list?category=6v6%20Season&comp_type=Swiss&team_type=6on6&page=2",
"label": "2",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/list?category=6v6%20Season&comp_type=Swiss&team_type=6on6&page=2",
"label": "Next »",
"active": false
}
],
"next_page_url": "https://api-v2.etf2l.org/competition/list?category=6v6%20Season&comp_type=Swiss&team_type=6on6&page=2",
"path": "https://api-v2.etf2l.org/competition/list",
"per_page": 20,
"prev_page_url": null,
"to": 20,
"total": 22
},
"status": {
"code": 200,
"message": "OK"
}
}
Received response:
Request failed with error:
Competition details
Provides some extra details on the competition. Extra information includes the map pool & total signups.
Example request:
curl --request GET \
--get "https://api-v2.etf2l.org/competition/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api-v2.etf2l.org/competition/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 50
{
"competition": {
"category": "6v6 Season",
"description": "ETF2L Season 1",
"id": 1,
"name": "Season 1",
"pool": [
"cp_well",
"cp_granary",
"cp_dustbowl",
"cp_gravelpit",
"ctf_2fort",
"ctf_turbine"
],
"archived": true,
"type": "6on6",
"teams": {
"max": 51,
"signedup": 40
},
"urls": {
"matches": "https://api-v2.etf2l.org/competition/1/matches",
"results": "https://api-v2.etf2l.org/competition/1/results",
"self": "https://api-v2.etf2l.org/competition/1",
"teams": "https://api-v2.etf2l.org/competition/1/teams"
}
},
"status": {
"code": 200,
"message": "OK"
}
}
Received response:
Request failed with error:
Competition teams
Returns a paginated list of teams that participated in the competition. Dropped teams are marked with the 'drop' parameter.
Example request:
curl --request GET \
--get "https://api-v2.etf2l.org/competition/1/teams" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api-v2.etf2l.org/competition/1/teams"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 49
{
"status": {
"code": 200,
"message": "OK"
},
"teams": {
"current_page": 1,
"data": [
{
"id": 4,
"country": "European",
"name": "Relic",
"dropped": 0,
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123f37bce.jpg",
"steam_group": null
},
"url": "https://api-v2.etf2l.org/team/4"
},
{
"id": 19,
"country": "Sweden",
"name": "Kompaniet",
"dropped": 0,
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"steam_group": null
},
"url": "https://api-v2.etf2l.org/team/19"
},
{
"id": 9,
"country": "Finland",
"name": "Clan United",
"dropped": 0,
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"steam_group": null
},
"url": "https://api-v2.etf2l.org/team/9"
},
{
"id": 21,
"country": "Sweden",
"name": "In Die Anale Combo",
"dropped": 0,
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"steam_group": null
},
"url": "https://api-v2.etf2l.org/team/21"
},
{
"id": 11,
"country": "France",
"name": "FoF",
"dropped": 0,
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"steam_group": null
},
"url": "https://api-v2.etf2l.org/team/11"
},
{
"id": 139,
"country": "Finland",
"name": "Blood Pressure",
"dropped": 1,
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"steam_group": null
},
"url": "https://api-v2.etf2l.org/team/139"
},
{
"id": 8,
"country": "European",
"name": "Team Vertex - RIP Youngblood",
"dropped": 1,
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123ed7fd4.jpg",
"steam_group": null
},
"url": "https://api-v2.etf2l.org/team/8"
},
{
"id": 3,
"country": "International",
"name": "TeamCoolermaster",
"dropped": 1,
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"steam_group": null
},
"url": "https://api-v2.etf2l.org/team/3"
},
{
"id": 13,
"country": "European",
"name": "The Last Resort",
"dropped": 1,
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"steam_group": null
},
"url": "https://api-v2.etf2l.org/team/13"
},
{
"id": 15,
"country": "International",
"name": "Monster Munch",
"dropped": 0,
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"steam_group": null
},
"url": "https://api-v2.etf2l.org/team/15"
},
{
"id": 31,
"country": "International",
"name": "Team CoolerMaster",
"dropped": 0,
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"steam_group": null
},
"url": "https://api-v2.etf2l.org/team/31"
},
{
"id": 36,
"country": "Sweden",
"name": "Excello",
"dropped": 0,
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"steam_group": null
},
"url": "https://api-v2.etf2l.org/team/36"
},
{
"id": 40,
"country": "Sweden",
"name": "Excello",
"dropped": 0,
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"steam_group": null
},
"url": "https://api-v2.etf2l.org/team/40"
},
{
"id": 6,
"country": "Germany",
"name": "aX-eSport.GamerArea",
"dropped": 0,
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"steam_group": null
},
"url": "https://api-v2.etf2l.org/team/6"
},
{
"id": 18,
"country": "European",
"name": "extenSia!",
"dropped": 0,
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"steam_group": null
},
"url": "https://api-v2.etf2l.org/team/18"
},
{
"id": 50,
"country": "Russia",
"name": "LOL Team remix",
"dropped": 0,
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123d3e9f7.jpg",
"steam_group": null
},
"url": "https://api-v2.etf2l.org/team/50"
},
{
"id": 43,
"country": "France",
"name": "N!nja Clan",
"dropped": 1,
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"steam_group": null
},
"url": "https://api-v2.etf2l.org/team/43"
},
{
"id": 28,
"country": "Germany",
"name": "veil",
"dropped": 1,
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"steam_group": null
},
"url": "https://api-v2.etf2l.org/team/28"
},
{
"id": 5,
"country": "Finland",
"name": "sigh6",
"dropped": 0,
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"steam_group": null
},
"url": "https://api-v2.etf2l.org/team/5"
},
{
"id": 29,
"country": "European",
"name": "Fracture",
"dropped": 0,
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"steam_group": null
},
"url": "https://api-v2.etf2l.org/team/29"
}
],
"first_page_url": "https://api-v2.etf2l.org/competition/1/teams?page=1",
"from": 1,
"last_page": 3,
"last_page_url": "https://api-v2.etf2l.org/competition/1/teams?page=3",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/1/teams?page=1",
"label": "1",
"active": true
},
{
"url": "https://api-v2.etf2l.org/competition/1/teams?page=2",
"label": "2",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/1/teams?page=3",
"label": "3",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/1/teams?page=2",
"label": "Next »",
"active": false
}
],
"next_page_url": "https://api-v2.etf2l.org/competition/1/teams?page=2",
"path": "https://api-v2.etf2l.org/competition/1/teams",
"per_page": 20,
"prev_page_url": null,
"to": 20,
"total": 51
}
}
Received response:
Request failed with error:
Competition results
Gets a paginated list of all match results for this competition, ordered from most to least recent.
Example request:
curl --request GET \
--get "https://api-v2.etf2l.org/competition/1/results" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api-v2.etf2l.org/competition/1/results"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 48
{
"results": {
"current_page": 1,
"data": [
{
"clan1": {
"country": "Sweden",
"drop": false,
"id": 26,
"name": "jAgarna",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123e0e7e9.jpg",
"group": "https://steamcommunity.com/groups/jay"
},
"url": "https://api-v2.etf2l.org/team/26"
},
"clan2": {
"country": "International",
"drop": false,
"id": 52,
"name": "Fragtastic!",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/52"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": true,
"division": {
"id": 21,
"name": "Division 3b",
"skill_contrib": 16,
"tier": 3
},
"id": 1093,
"maps": [],
"r1": 6,
"r2": 0,
"round": "Week 9",
"time": null,
"week": 9
},
{
"clan1": {
"country": "England",
"drop": false,
"id": 16,
"name": "9 Men",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123e5a58a.jpg",
"group": "https://steamcommunity.com/groups/9m"
},
"url": "https://api-v2.etf2l.org/team/16"
},
"clan2": {
"country": "Finland",
"drop": false,
"id": 41,
"name": "Prima Nocta",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/41"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 21,
"name": "Division 3b",
"skill_contrib": 16,
"tier": 3
},
"id": 1079,
"maps": [
"ctf_2fort",
"cp_well"
],
"r1": 0,
"r2": 6,
"round": "Week 6",
"time": null,
"week": 6
},
{
"clan1": {
"country": "Germany",
"drop": false,
"id": 10,
"name": "$myT1nk",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123ea85c0.jpg",
"group": "https://steamcommunity.com/groups/myt1nktf2"
},
"url": "https://api-v2.etf2l.org/team/10"
},
"clan2": {
"country": "France",
"drop": false,
"id": 57,
"name": "The Old School Team",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/57"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 21,
"name": "Division 3b",
"skill_contrib": 16,
"tier": 3
},
"id": 1077,
"maps": [
"cp_well",
"cp_dustbowl"
],
"r1": 1,
"r2": 4,
"round": "Week 5",
"time": null,
"week": 5
},
{
"clan1": {
"country": "England",
"drop": false,
"id": 16,
"name": "9 Men",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123e5a58a.jpg",
"group": "https://steamcommunity.com/groups/9m"
},
"url": "https://api-v2.etf2l.org/team/16"
},
"clan2": {
"country": "International",
"drop": false,
"id": 52,
"name": "Fragtastic!",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/52"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 21,
"name": "Division 3b",
"skill_contrib": 16,
"tier": 3
},
"id": 1076,
"maps": [
"ctf_2fort",
"ctf_2fort"
],
"r1": 6,
"r2": 0,
"round": "Week 5",
"time": null,
"week": 5
},
{
"clan1": {
"country": "Sweden",
"drop": false,
"id": 26,
"name": "jAgarna",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123e0e7e9.jpg",
"group": "https://steamcommunity.com/groups/jay"
},
"url": "https://api-v2.etf2l.org/team/26"
},
"clan2": {
"country": "Sweden",
"drop": false,
"id": 45,
"name": "Slackerz",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/45"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 21,
"name": "Division 3b",
"skill_contrib": 16,
"tier": 3
},
"id": 1075,
"maps": [
"cp_gravelpit",
"ctf_2fort"
],
"r1": 6,
"r2": 0,
"round": "Week 5",
"time": null,
"week": 5
},
{
"clan1": {
"country": "Finland",
"drop": false,
"id": 41,
"name": "Prima Nocta",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/41"
},
"clan2": {
"country": "Sweden",
"drop": false,
"id": 45,
"name": "Slackerz",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/45"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 21,
"name": "Division 3b",
"skill_contrib": 16,
"tier": 3
},
"id": 1073,
"maps": [
"cp_gravelpit",
"cp_well"
],
"r1": 6,
"r2": 0,
"round": "Week 4",
"time": null,
"week": 4
},
{
"clan1": {
"country": "Germany",
"drop": false,
"id": 7,
"name": "simply iQ",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/7"
},
"clan2": {
"country": "England",
"drop": false,
"id": 16,
"name": "9 Men",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123e5a58a.jpg",
"group": "https://steamcommunity.com/groups/9m"
},
"url": "https://api-v2.etf2l.org/team/16"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 21,
"name": "Division 3b",
"skill_contrib": 16,
"tier": 3
},
"id": 1072,
"maps": [
"cp_granary",
"cp_gravelpit"
],
"r1": 4,
"r2": 1,
"round": "Week 4",
"time": null,
"week": 4
},
{
"clan1": {
"country": "Sweden",
"drop": false,
"id": 26,
"name": "jAgarna",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123e0e7e9.jpg",
"group": "https://steamcommunity.com/groups/jay"
},
"url": "https://api-v2.etf2l.org/team/26"
},
"clan2": {
"country": "France",
"drop": false,
"id": 57,
"name": "The Old School Team",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/57"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 21,
"name": "Division 3b",
"skill_contrib": 16,
"tier": 3
},
"id": 1071,
"maps": [
"cp_well",
"cp_dustbowl"
],
"r1": 3,
"r2": 3,
"round": "Week 4",
"time": null,
"week": 4
},
{
"clan1": {
"country": "Germany",
"drop": false,
"id": 7,
"name": "simply iQ",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/7"
},
"clan2": {
"country": "International",
"drop": false,
"id": 52,
"name": "Fragtastic!",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/52"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 21,
"name": "Division 3b",
"skill_contrib": 16,
"tier": 3
},
"id": 1081,
"maps": [
"cp_dustbowl",
"cp_dustbowl"
],
"r1": 6,
"r2": 0,
"round": "Week 6",
"time": null,
"week": 6
},
{
"clan1": {
"country": "Germany",
"drop": false,
"id": 10,
"name": "$myT1nk",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123ea85c0.jpg",
"group": "https://steamcommunity.com/groups/myt1nktf2"
},
"url": "https://api-v2.etf2l.org/team/10"
},
"clan2": {
"country": "Sweden",
"drop": false,
"id": 45,
"name": "Slackerz",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/45"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 21,
"name": "Division 3b",
"skill_contrib": 16,
"tier": 3
},
"id": 1082,
"maps": [
"cp_well",
"ctf_2fort"
],
"r1": 6,
"r2": 0,
"round": "Week 6",
"time": null,
"week": 6
},
{
"clan1": {
"country": "Germany",
"drop": false,
"id": 7,
"name": "simply iQ",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/7"
},
"clan2": {
"country": "Germany",
"drop": false,
"id": 10,
"name": "$myT1nk",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123ea85c0.jpg",
"group": "https://steamcommunity.com/groups/myt1nktf2"
},
"url": "https://api-v2.etf2l.org/team/10"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 21,
"name": "Division 3b",
"skill_contrib": 16,
"tier": 3
},
"id": 1092,
"maps": [
"cp_well",
"cp_granary"
],
"r1": 1,
"r2": 4,
"round": "Week 9",
"time": null,
"week": 9
},
{
"clan1": {
"country": "England",
"drop": false,
"id": 16,
"name": "9 Men",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123e5a58a.jpg",
"group": "https://steamcommunity.com/groups/9m"
},
"url": "https://api-v2.etf2l.org/team/16"
},
"clan2": {
"country": "France",
"drop": false,
"id": 57,
"name": "The Old School Team",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/57"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 21,
"name": "Division 3b",
"skill_contrib": 16,
"tier": 3
},
"id": 1091,
"maps": [
"ctf_turbine",
"cp_granary"
],
"r1": 6,
"r2": 0,
"round": "Week 9",
"time": null,
"week": 9
},
{
"clan1": {
"country": "Germany",
"drop": false,
"id": 10,
"name": "$myT1nk",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123ea85c0.jpg",
"group": "https://steamcommunity.com/groups/myt1nktf2"
},
"url": "https://api-v2.etf2l.org/team/10"
},
"clan2": {
"country": "England",
"drop": false,
"id": 16,
"name": "9 Men",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123e5a58a.jpg",
"group": "https://steamcommunity.com/groups/9m"
},
"url": "https://api-v2.etf2l.org/team/16"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 21,
"name": "Division 3b",
"skill_contrib": 16,
"tier": 3
},
"id": 1090,
"maps": [
"cp_granary",
"cp_dustbowl"
],
"r1": 6,
"r2": 0,
"round": "Week 8",
"time": null,
"week": 8
},
{
"clan1": {
"country": "Finland",
"drop": false,
"id": 41,
"name": "Prima Nocta",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/41"
},
"clan2": {
"country": "International",
"drop": false,
"id": 52,
"name": "Fragtastic!",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/52"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": true,
"division": {
"id": 21,
"name": "Division 3b",
"skill_contrib": 16,
"tier": 3
},
"id": 1089,
"maps": [],
"r1": 6,
"r2": 0,
"round": "Week 8",
"time": null,
"week": 8
},
{
"clan1": {
"country": "Germany",
"drop": false,
"id": 7,
"name": "simply iQ",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/7"
},
"clan2": {
"country": "Sweden",
"drop": false,
"id": 26,
"name": "jAgarna",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123e0e7e9.jpg",
"group": "https://steamcommunity.com/groups/jay"
},
"url": "https://api-v2.etf2l.org/team/26"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 21,
"name": "Division 3b",
"skill_contrib": 16,
"tier": 3
},
"id": 1087,
"maps": [
"cp_well",
"cp_gravelpit"
],
"r1": 0,
"r2": 6,
"round": "Week 8",
"time": null,
"week": 8
},
{
"clan1": {
"country": "Sweden",
"drop": false,
"id": 45,
"name": "Slackerz",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/45"
},
"clan2": {
"country": "France",
"drop": false,
"id": 57,
"name": "The Old School Team",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/57"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 21,
"name": "Division 3b",
"skill_contrib": 16,
"tier": 3
},
"id": 1086,
"maps": [
"cp_dustbowl",
"cp_gravelpit"
],
"r1": 0,
"r2": 6,
"round": "Week 7",
"time": null,
"week": 7
},
{
"clan1": {
"country": "England",
"drop": false,
"id": 16,
"name": "9 Men",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123e5a58a.jpg",
"group": "https://steamcommunity.com/groups/9m"
},
"url": "https://api-v2.etf2l.org/team/16"
},
"clan2": {
"country": "Sweden",
"drop": false,
"id": 26,
"name": "jAgarna",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123e0e7e9.jpg",
"group": "https://steamcommunity.com/groups/jay"
},
"url": "https://api-v2.etf2l.org/team/26"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 21,
"name": "Division 3b",
"skill_contrib": 16,
"tier": 3
},
"id": 1085,
"maps": [
"ctf_turbine",
"cp_dustbowl"
],
"r1": 0,
"r2": 6,
"round": "Week 7",
"time": null,
"week": 7
},
{
"clan1": {
"country": "Germany",
"drop": false,
"id": 7,
"name": "simply iQ",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/7"
},
"clan2": {
"country": "Finland",
"drop": false,
"id": 41,
"name": "Prima Nocta",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/41"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 21,
"name": "Division 3b",
"skill_contrib": 16,
"tier": 3
},
"id": 1083,
"maps": [
"cp_well",
"cp_gravelpit"
],
"r1": 0,
"r2": 6,
"round": "Week 7",
"time": null,
"week": 7
},
{
"clan1": {
"country": "Sweden",
"drop": false,
"id": 45,
"name": "Slackerz",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/45"
},
"clan2": {
"country": "International",
"drop": false,
"id": 52,
"name": "Fragtastic!",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/52"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 21,
"name": "Division 3b",
"skill_contrib": 16,
"tier": 3
},
"id": 1070,
"maps": [
"ctf_turbine",
"cp_dustbowl"
],
"r1": 6,
"r2": 0,
"round": "Week 3",
"time": null,
"week": 3
},
{
"clan1": {
"country": "Germany",
"drop": false,
"id": 10,
"name": "$myT1nk",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123ea85c0.jpg",
"group": "https://steamcommunity.com/groups/myt1nktf2"
},
"url": "https://api-v2.etf2l.org/team/10"
},
"clan2": {
"country": "Sweden",
"drop": false,
"id": 26,
"name": "jAgarna",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123e0e7e9.jpg",
"group": "https://steamcommunity.com/groups/jay"
},
"url": "https://api-v2.etf2l.org/team/26"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 21,
"name": "Division 3b",
"skill_contrib": 16,
"tier": 3
},
"id": 1069,
"maps": [
"ctf_2fort",
"cp_well"
],
"r1": 4,
"r2": 1,
"round": "Week 3",
"time": null,
"week": 3
}
],
"first_page_url": "https://api-v2.etf2l.org/competition/1/results?page=1",
"from": 1,
"last_page": 6,
"last_page_url": "https://api-v2.etf2l.org/competition/1/results?page=6",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/1/results?page=1",
"label": "1",
"active": true
},
{
"url": "https://api-v2.etf2l.org/competition/1/results?page=2",
"label": "2",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/1/results?page=3",
"label": "3",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/1/results?page=4",
"label": "4",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/1/results?page=5",
"label": "5",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/1/results?page=6",
"label": "6",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/1/results?page=2",
"label": "Next »",
"active": false
}
],
"next_page_url": "https://api-v2.etf2l.org/competition/1/results?page=2",
"path": "https://api-v2.etf2l.org/competition/1/results",
"per_page": 20,
"prev_page_url": null,
"to": 20,
"total": 118
},
"status": {
"code": 200,
"message": "OK"
}
}
Received response:
Request failed with error:
Competition matches
Gets a paginated list of all matches for this competition, ordered from most to least recent. The main difference with the competition results API is that matches do not have to be played yet in order to appear in this list.
Example request:
curl --request GET \
--get "https://api-v2.etf2l.org/competition/1/matches" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api-v2.etf2l.org/competition/1/matches"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 47
{
"matches": {
"current_page": 1,
"data": [
{
"clan1": {
"country": "Sweden",
"drop": false,
"id": 36,
"name": "Excello",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/36"
},
"clan2": {
"country": "Finland",
"drop": false,
"id": 5,
"name": "sigh6",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/5"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 19,
"name": "Division 2b",
"tier": 2
},
"id": 1151,
"maps": [
"cp_granary",
"cp_granary"
],
"result": {
"r1": 6,
"r2": 0
},
"round": "Playoffs",
"time": null,
"week": 12,
"skill_contrib": 20
},
{
"clan1": {
"country": "Finland",
"drop": false,
"id": 9,
"name": "Clan United",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/9"
},
"clan2": {
"country": "Finland",
"drop": true,
"id": 139,
"name": "Blood Pressure",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/139"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": null,
"division": {
"id": 17,
"name": "Division 1",
"tier": 1
},
"id": 943,
"maps": [],
"result": {
"r1": null,
"r2": null
},
"round": "Week 4",
"time": null,
"week": 4,
"skill_contrib": 24
},
{
"clan1": {
"country": "International",
"drop": true,
"id": 3,
"name": "TeamCoolermaster",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/3"
},
"clan2": {
"country": "European",
"drop": true,
"id": 8,
"name": "Team Vertex - RIP Youngblood",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123ed7fd4.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/8"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": null,
"division": {
"id": 17,
"name": "Division 1",
"tier": 1
},
"id": 944,
"maps": [],
"result": {
"r1": null,
"r2": null
},
"round": "Week 4",
"time": null,
"week": 4,
"skill_contrib": 24
},
{
"clan1": {
"country": "European",
"drop": true,
"id": 13,
"name": "The Last Resort",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/13"
},
"clan2": {
"country": "Sweden",
"drop": false,
"id": 19,
"name": "Kompaniet",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/19"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": null,
"division": {
"id": 17,
"name": "Division 1",
"tier": 1
},
"id": 945,
"maps": [],
"result": {
"r1": null,
"r2": null
},
"round": "Week 4",
"time": null,
"week": 4,
"skill_contrib": 24
},
{
"clan1": {
"country": "France",
"drop": false,
"id": 11,
"name": "FoF",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/11"
},
"clan2": {
"country": "Sweden",
"drop": false,
"id": 21,
"name": "In Die Anale Combo",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/21"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 17,
"name": "Division 1",
"tier": 1
},
"id": 946,
"maps": [
"cp_granary",
"cp_granary"
],
"result": {
"r1": 6,
"r2": 0
},
"round": "Week 4",
"time": null,
"week": 4,
"skill_contrib": 24
},
{
"clan1": {
"country": "Finland",
"drop": false,
"id": 9,
"name": "Clan United",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/9"
},
"clan2": {
"country": "Sweden",
"drop": false,
"id": 19,
"name": "Kompaniet",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/19"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 17,
"name": "Division 1",
"tier": 1
},
"id": 947,
"maps": [
"cp_dustbowl",
"cp_well"
],
"result": {
"r1": 0,
"r2": 6
},
"round": "Week 5",
"time": null,
"week": 5,
"skill_contrib": 24
},
{
"clan1": {
"country": "European",
"drop": true,
"id": 8,
"name": "Team Vertex - RIP Youngblood",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123ed7fd4.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/8"
},
"clan2": {
"country": "Sweden",
"drop": false,
"id": 21,
"name": "In Die Anale Combo",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/21"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": null,
"division": {
"id": 17,
"name": "Division 1",
"tier": 1
},
"id": 948,
"maps": [],
"result": {
"r1": null,
"r2": null
},
"round": "Week 5",
"time": null,
"week": 5,
"skill_contrib": 24
},
{
"clan1": {
"country": "European",
"drop": false,
"id": 4,
"name": "Relic",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123f37bce.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/4"
},
"clan2": {
"country": "Finland",
"drop": true,
"id": 139,
"name": "Blood Pressure",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/139"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": null,
"division": {
"id": 17,
"name": "Division 1",
"tier": 1
},
"id": 949,
"maps": [],
"result": {
"r1": null,
"r2": null
},
"round": "Week 5",
"time": null,
"week": 5,
"skill_contrib": 24
},
{
"clan1": {
"country": "France",
"drop": false,
"id": 11,
"name": "FoF",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/11"
},
"clan2": {
"country": "European",
"drop": true,
"id": 13,
"name": "The Last Resort",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/13"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": null,
"division": {
"id": 17,
"name": "Division 1",
"tier": 1
},
"id": 950,
"maps": [],
"result": {
"r1": null,
"r2": null
},
"round": "Week 5",
"time": null,
"week": 5,
"skill_contrib": 24
},
{
"clan1": {
"country": "Sweden",
"drop": false,
"id": 19,
"name": "Kompaniet",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/19"
},
"clan2": {
"country": "Sweden",
"drop": false,
"id": 21,
"name": "In Die Anale Combo",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/21"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 17,
"name": "Division 1",
"tier": 1
},
"id": 942,
"maps": [
"ctf_2fort",
"cp_granary"
],
"result": {
"r1": 6,
"r2": 0
},
"round": "Week 3",
"time": null,
"week": 3,
"skill_contrib": 24
},
{
"clan1": {
"country": "European",
"drop": false,
"id": 4,
"name": "Relic",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123f37bce.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/4"
},
"clan2": {
"country": "Finland",
"drop": false,
"id": 9,
"name": "Clan United",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/9"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": false,
"division": {
"id": 17,
"name": "Division 1",
"tier": 1
},
"id": 941,
"maps": [
"cp_well",
"cp_dustbowl"
],
"result": {
"r1": 4,
"r2": 1
},
"round": "Week 3",
"time": null,
"week": 3,
"skill_contrib": 24
},
{
"clan1": {
"country": "International",
"drop": true,
"id": 3,
"name": "TeamCoolermaster",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/3"
},
"clan2": {
"country": "France",
"drop": false,
"id": 11,
"name": "FoF",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/11"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": null,
"division": {
"id": 17,
"name": "Division 1",
"tier": 1
},
"id": 940,
"maps": [],
"result": {
"r1": null,
"r2": null
},
"round": "Week 3",
"time": null,
"week": 3,
"skill_contrib": 24
},
{
"clan1": {
"country": "International",
"drop": true,
"id": 3,
"name": "TeamCoolermaster",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/3"
},
"clan2": {
"country": "Finland",
"drop": true,
"id": 139,
"name": "Blood Pressure",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/139"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": null,
"division": {
"id": 17,
"name": "Division 1",
"tier": 1
},
"id": 932,
"maps": [],
"result": {
"r1": null,
"r2": null
},
"round": "Week 1",
"time": null,
"week": 1,
"skill_contrib": 24
},
{
"clan1": {
"country": "European",
"drop": true,
"id": 8,
"name": "Team Vertex - RIP Youngblood",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123ed7fd4.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/8"
},
"clan2": {
"country": "Sweden",
"drop": false,
"id": 19,
"name": "Kompaniet",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/19"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": null,
"division": {
"id": 17,
"name": "Division 1",
"tier": 1
},
"id": 933,
"maps": [],
"result": {
"r1": null,
"r2": null
},
"round": "Week 1",
"time": null,
"week": 1,
"skill_contrib": 24
},
{
"clan1": {
"country": "Finland",
"drop": false,
"id": 9,
"name": "Clan United",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/9"
},
"clan2": {
"country": "European",
"drop": true,
"id": 13,
"name": "The Last Resort",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/13"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": null,
"division": {
"id": 17,
"name": "Division 1",
"tier": 1
},
"id": 934,
"maps": [],
"result": {
"r1": null,
"r2": null
},
"round": "Week 1",
"time": null,
"week": 1,
"skill_contrib": 24
},
{
"clan1": {
"country": "European",
"drop": true,
"id": 8,
"name": "Team Vertex - RIP Youngblood",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123ed7fd4.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/8"
},
"clan2": {
"country": "France",
"drop": false,
"id": 11,
"name": "FoF",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/11"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": null,
"division": {
"id": 17,
"name": "Division 1",
"tier": 1
},
"id": 935,
"maps": [],
"result": {
"r1": null,
"r2": null
},
"round": "Week 2",
"time": null,
"week": 2,
"skill_contrib": 24
},
{
"clan1": {
"country": "Sweden",
"drop": false,
"id": 21,
"name": "In Die Anale Combo",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/21"
},
"clan2": {
"country": "Finland",
"drop": true,
"id": 139,
"name": "Blood Pressure",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/139"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": null,
"division": {
"id": 17,
"name": "Division 1",
"tier": 1
},
"id": 936,
"maps": [],
"result": {
"r1": null,
"r2": null
},
"round": "Week 2",
"time": null,
"week": 2,
"skill_contrib": 24
},
{
"clan1": {
"country": "European",
"drop": false,
"id": 4,
"name": "Relic",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5577123f37bce.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/4"
},
"clan2": {
"country": "European",
"drop": true,
"id": 13,
"name": "The Last Resort",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/13"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": null,
"division": {
"id": 17,
"name": "Division 1",
"tier": 1
},
"id": 937,
"maps": [],
"result": {
"r1": null,
"r2": null
},
"round": "Week 2",
"time": null,
"week": 2,
"skill_contrib": 24
},
{
"clan1": {
"country": "International",
"drop": true,
"id": 3,
"name": "TeamCoolermaster",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/3"
},
"clan2": {
"country": "Sweden",
"drop": false,
"id": 19,
"name": "Kompaniet",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/19"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": null,
"division": {
"id": 17,
"name": "Division 1",
"tier": 1
},
"id": 938,
"maps": [],
"result": {
"r1": null,
"r2": null
},
"round": "Week 2",
"time": null,
"week": 2,
"skill_contrib": 24
},
{
"clan1": {
"country": "European",
"drop": true,
"id": 13,
"name": "The Last Resort",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/13"
},
"clan2": {
"country": "Finland",
"drop": true,
"id": 139,
"name": "Blood Pressure",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/139"
},
"competition": {
"category": "6v6 Season",
"id": 1,
"name": "Season 1",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/1"
},
"defaultwin": null,
"division": {
"id": 17,
"name": "Division 1",
"tier": 1
},
"id": 939,
"maps": [],
"result": {
"r1": null,
"r2": null
},
"round": "Week 3",
"time": null,
"week": 3,
"skill_contrib": 24
}
],
"first_page_url": "https://api-v2.etf2l.org/competition/1/matches?page=1",
"from": 1,
"last_page": 10,
"last_page_url": "https://api-v2.etf2l.org/competition/1/matches?page=10",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/1/matches?page=1",
"label": "1",
"active": true
},
{
"url": "https://api-v2.etf2l.org/competition/1/matches?page=2",
"label": "2",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/1/matches?page=3",
"label": "3",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/1/matches?page=4",
"label": "4",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/1/matches?page=5",
"label": "5",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/1/matches?page=6",
"label": "6",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/1/matches?page=7",
"label": "7",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/1/matches?page=8",
"label": "8",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/1/matches?page=9",
"label": "9",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/1/matches?page=10",
"label": "10",
"active": false
},
{
"url": "https://api-v2.etf2l.org/competition/1/matches?page=2",
"label": "Next »",
"active": false
}
],
"next_page_url": "https://api-v2.etf2l.org/competition/1/matches?page=2",
"path": "https://api-v2.etf2l.org/competition/1/matches",
"per_page": 20,
"prev_page_url": null,
"to": 20,
"total": 194
},
"status": {
"code": 200,
"message": "OK"
}
}
Received response:
Request failed with error:
Competition tables
This endpoint returns the same data that is used to show the tables if you navigate to 'Competitions' -> {the competition} Tables.
drop marks if a team was dropped from the competition. gc_ stands for Golden Cap and covers both Golden Cap wins and losses. penalty_points are assigned when a team has contracted a certain amount of warnings (see ETF2L General Rules for more information) ach (short for achievement) indicates the placement of the teams at the end of a season. The tables are grouped by division names respectively. The order in which they are sorted indicates their placements. Dropped teams will always be at the bottom, while teams that finished top 3 will always be first even if they had overall less score in the main season.
Note that one season might have multiple competitions internally. This is usually the case for regular tiers vs top tiers.
Example request:
curl --request GET \
--get "https://api-v2.etf2l.org/competition/1/tables" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api-v2.etf2l.org/competition/1/tables"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 46
{
"tables": {
"Division 3a": [
{
"id": 25,
"drop": false,
"division_id": 20,
"division_name": "Division 3a",
"country": "Germany",
"name": "Friede seiner Asche",
"maps_played": 15,
"maps_won": 13,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 2,
"penalty_points": 0,
"score": 37,
"ach": 1,
"byes": 0,
"seeded_points": 0
},
{
"id": 54,
"drop": false,
"division_id": 20,
"division_name": "Division 3a",
"country": "Germany",
"name": "SHIFTplay",
"maps_played": 16,
"maps_won": 12,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 4,
"penalty_points": 0,
"score": 32,
"ach": 2,
"byes": 0,
"seeded_points": 0
},
{
"id": 33,
"drop": false,
"division_id": 20,
"division_name": "Division 3a",
"country": "Russia",
"name": "Team Empire",
"maps_played": 16,
"maps_won": 12,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 4,
"penalty_points": 0,
"score": 32,
"ach": 3,
"byes": 0,
"seeded_points": 0
},
{
"id": 32,
"drop": false,
"division_id": 20,
"division_name": "Division 3a",
"country": "Sweden",
"name": "Northwave",
"maps_played": 16,
"maps_won": 10,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 6,
"penalty_points": 0,
"score": 26,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 35,
"drop": false,
"division_id": 20,
"division_name": "Division 3a",
"country": "UnitedKingdom",
"name": "clanda",
"maps_played": 14,
"maps_won": 5,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 9,
"penalty_points": 0,
"score": 15,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 48,
"drop": false,
"division_id": 20,
"division_name": "Division 3a",
"country": "International",
"name": "fight club united kingdom",
"maps_played": 15,
"maps_won": 5,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 10,
"penalty_points": 0,
"score": 13,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 47,
"drop": false,
"division_id": 20,
"division_name": "Division 3a",
"country": "European",
"name": "Kaizen",
"maps_played": 15,
"maps_won": 3,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 12,
"penalty_points": 0,
"score": 7,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 49,
"drop": false,
"division_id": 20,
"division_name": "Division 3a",
"country": "Finland",
"name": "The MIPC Second Edition",
"maps_played": 15,
"maps_won": 1,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 14,
"penalty_points": 0,
"score": 1,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 37,
"drop": true,
"division_id": 20,
"division_name": "Division 3a",
"country": "Finland",
"name": "Legioona",
"maps_played": 0,
"maps_won": 0,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 0,
"penalty_points": 0,
"score": 0,
"ach": null,
"byes": 0,
"seeded_points": 0
}
],
"Division 3b": [
{
"id": 41,
"drop": false,
"division_id": 21,
"division_name": "Division 3b",
"country": "Finland",
"name": "Prima Nocta",
"maps_played": 15,
"maps_won": 12,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 3,
"penalty_points": 0,
"score": 34,
"ach": 1,
"byes": 0,
"seeded_points": 0
},
{
"id": 10,
"drop": false,
"division_id": 21,
"division_name": "Division 3b",
"country": "Germany",
"name": "$myT1nk",
"maps_played": 17,
"maps_won": 12,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 5,
"penalty_points": 0,
"score": 30,
"ach": 2,
"byes": 0,
"seeded_points": 0
},
{
"id": 26,
"drop": false,
"division_id": 21,
"division_name": "Division 3b",
"country": "Sweden",
"name": "jAgarna",
"maps_played": 16,
"maps_won": 11,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 5,
"penalty_points": 0,
"score": 29,
"ach": 3,
"byes": 0,
"seeded_points": 0
},
{
"id": 57,
"drop": false,
"division_id": 21,
"division_name": "Division 3b",
"country": "France",
"name": "The Old School Team",
"maps_played": 15,
"maps_won": 9,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 6,
"penalty_points": 0,
"score": 25,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 7,
"drop": false,
"division_id": 21,
"division_name": "Division 3b",
"country": "Germany",
"name": "simply iQ",
"maps_played": 16,
"maps_won": 8,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 8,
"penalty_points": 0,
"score": 20,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 16,
"drop": false,
"division_id": 21,
"division_name": "Division 3b",
"country": "England",
"name": "9 Men",
"maps_played": 15,
"maps_won": 7,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 8,
"penalty_points": 0,
"score": 19,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 45,
"drop": false,
"division_id": 21,
"division_name": "Division 3b",
"country": "Sweden",
"name": "Slackerz",
"maps_played": 14,
"maps_won": 2,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 12,
"penalty_points": 0,
"score": 6,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 52,
"drop": false,
"division_id": 21,
"division_name": "Division 3b",
"country": "International",
"name": "Fragtastic!",
"maps_played": 14,
"maps_won": 0,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 14,
"penalty_points": 0,
"score": 0,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 30,
"drop": true,
"division_id": 21,
"division_name": "Division 3b",
"country": "Sweden",
"name": "Unalleviated Suffering",
"maps_played": 0,
"maps_won": 0,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 0,
"penalty_points": 0,
"score": 0,
"ach": null,
"byes": 0,
"seeded_points": 0
}
],
"Division 4": [
{
"id": 27,
"drop": false,
"division_id": 22,
"division_name": "Division 4",
"country": "Poland",
"name": "total llamas",
"maps_played": 13,
"maps_won": 11,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 2,
"penalty_points": 0,
"score": 31,
"ach": 1,
"byes": 0,
"seeded_points": 0
},
{
"id": 55,
"drop": false,
"division_id": 22,
"division_name": "Division 4",
"country": "Germany",
"name": "IsF",
"maps_played": 15,
"maps_won": 12,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 3,
"penalty_points": 0,
"score": 30,
"ach": 2,
"byes": 0,
"seeded_points": 0
},
{
"id": 56,
"drop": false,
"division_id": 22,
"division_name": "Division 4",
"country": "Sweden",
"name": "hb0da",
"maps_played": 15,
"maps_won": 9,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 6,
"penalty_points": 0,
"score": 21,
"ach": 3,
"byes": 0,
"seeded_points": 0
},
{
"id": 51,
"drop": false,
"division_id": 22,
"division_name": "Division 4",
"country": "Belgium",
"name": "Long Range Recce Patrol",
"maps_played": 13,
"maps_won": 7,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 6,
"penalty_points": 0,
"score": 19,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 24,
"drop": false,
"division_id": 22,
"division_name": "Division 4",
"country": "Netherlands",
"name": "Insane Dutch Killers",
"maps_played": 12,
"maps_won": 4,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 8,
"penalty_points": 0,
"score": 12,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 53,
"drop": false,
"division_id": 22,
"division_name": "Division 4",
"country": "Russia",
"name": "Chthonians",
"maps_played": 14,
"maps_won": 3,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 11,
"penalty_points": 0,
"score": 5,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 46,
"drop": false,
"division_id": 22,
"division_name": "Division 4",
"country": "Germany",
"name": "Die Philosoffen",
"maps_played": 14,
"maps_won": 2,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 12,
"penalty_points": 0,
"score": 2,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 42,
"drop": true,
"division_id": 22,
"division_name": "Division 4",
"country": "Germany",
"name": "x23",
"maps_played": 0,
"maps_won": 0,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 0,
"penalty_points": 0,
"score": 0,
"ach": null,
"byes": 0,
"seeded_points": 0
}
],
"Division 2b": [
{
"id": 36,
"drop": false,
"division_id": 19,
"division_name": "Division 2b",
"country": "Sweden",
"name": "Excello",
"maps_played": 12,
"maps_won": 10,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 2,
"penalty_points": 0,
"score": 26,
"ach": 1,
"byes": 0,
"seeded_points": 0
},
{
"id": 5,
"drop": false,
"division_id": 19,
"division_name": "Division 2b",
"country": "Finland",
"name": "sigh6",
"maps_played": 12,
"maps_won": 10,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 2,
"penalty_points": 0,
"score": 26,
"ach": 2,
"byes": 0,
"seeded_points": 0
},
{
"id": 29,
"drop": false,
"division_id": 19,
"division_name": "Division 2b",
"country": "European",
"name": "Fracture",
"maps_played": 10,
"maps_won": 6,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 4,
"penalty_points": 0,
"score": 18,
"ach": 3,
"byes": 0,
"seeded_points": 0
},
{
"id": 17,
"drop": false,
"division_id": 19,
"division_name": "Division 2b",
"country": "European",
"name": "Pub Clan",
"maps_played": 11,
"maps_won": 4,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 7,
"penalty_points": 0,
"score": 10,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 2,
"drop": false,
"division_id": 19,
"division_name": "Division 2b",
"country": "Germany",
"name": "it's a farm!",
"maps_played": 11,
"maps_won": 3,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 8,
"penalty_points": 0,
"score": 7,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 39,
"drop": false,
"division_id": 19,
"division_name": "Division 2b",
"country": "Finland",
"name": "Neatmeat",
"maps_played": 10,
"maps_won": 0,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 10,
"penalty_points": 0,
"score": 0,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 93,
"drop": true,
"division_id": 19,
"division_name": "Division 2b",
"country": "Portugal",
"name": "5 Quinas",
"maps_played": 0,
"maps_won": 0,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 0,
"penalty_points": 0,
"score": 0,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 44,
"drop": true,
"division_id": 19,
"division_name": "Division 2b",
"country": "France",
"name": "Veni Vidi Vici",
"maps_played": 0,
"maps_won": 0,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 0,
"penalty_points": 0,
"score": 0,
"ach": null,
"byes": 0,
"seeded_points": 0
}
],
"Division 2a": [
{
"id": 15,
"drop": false,
"division_id": 18,
"division_name": "Division 2a",
"country": "International",
"name": "Monster Munch",
"maps_played": 12,
"maps_won": 9,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 3,
"penalty_points": 0,
"score": 23,
"ach": 1,
"byes": 0,
"seeded_points": 0
},
{
"id": 31,
"drop": false,
"division_id": 18,
"division_name": "Division 2a",
"country": "International",
"name": "Team CoolerMaster",
"maps_played": 14,
"maps_won": 9,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 5,
"penalty_points": 0,
"score": 19,
"ach": 2,
"byes": 0,
"seeded_points": 0
},
{
"id": 40,
"drop": false,
"division_id": 18,
"division_name": "Division 2a",
"country": "Sweden",
"name": "Excello",
"maps_played": 12,
"maps_won": 7,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 5,
"penalty_points": 0,
"score": 17,
"ach": 3,
"byes": 0,
"seeded_points": 0
},
{
"id": 6,
"drop": false,
"division_id": 18,
"division_name": "Division 2a",
"country": "Germany",
"name": "aX-eSport.GamerArea",
"maps_played": 13,
"maps_won": 7,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 6,
"penalty_points": 0,
"score": 15,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 18,
"drop": false,
"division_id": 18,
"division_name": "Division 2a",
"country": "European",
"name": "extenSia!",
"maps_played": 12,
"maps_won": 4,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 8,
"penalty_points": 0,
"score": 8,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 50,
"drop": false,
"division_id": 18,
"division_name": "Division 2a",
"country": "Russia",
"name": "LOL Team remix",
"maps_played": 11,
"maps_won": 1,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 10,
"penalty_points": 0,
"score": 1,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 28,
"drop": true,
"division_id": 18,
"division_name": "Division 2a",
"country": "Germany",
"name": "veil",
"maps_played": 0,
"maps_won": 0,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 0,
"penalty_points": 0,
"score": 0,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 43,
"drop": true,
"division_id": 18,
"division_name": "Division 2a",
"country": "France",
"name": "N!nja Clan",
"maps_played": 0,
"maps_won": 0,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 0,
"penalty_points": 0,
"score": 0,
"ach": null,
"byes": 0,
"seeded_points": 0
}
],
"Division 1": [
{
"id": 4,
"drop": false,
"division_id": 17,
"division_name": "Division 1",
"country": "European",
"name": "Relic",
"maps_played": 9,
"maps_won": 7,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 2,
"penalty_points": 0,
"score": 19,
"ach": 1,
"byes": 0,
"seeded_points": 0
},
{
"id": 19,
"drop": false,
"division_id": 17,
"division_name": "Division 1",
"country": "Sweden",
"name": "Kompaniet",
"maps_played": 8,
"maps_won": 6,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 2,
"penalty_points": 0,
"score": 18,
"ach": 2,
"byes": 0,
"seeded_points": 0
},
{
"id": 9,
"drop": false,
"division_id": 17,
"division_name": "Division 1",
"country": "Finland",
"name": "Clan United",
"maps_played": 10,
"maps_won": 4,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 6,
"penalty_points": 0,
"score": 8,
"ach": 3,
"byes": 0,
"seeded_points": 0
},
{
"id": 21,
"drop": false,
"division_id": 17,
"division_name": "Division 1",
"country": "Sweden",
"name": "In Die Anale Combo",
"maps_played": 9,
"maps_won": 3,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 6,
"penalty_points": 0,
"score": 7,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 11,
"drop": false,
"division_id": 17,
"division_name": "Division 1",
"country": "France",
"name": "FoF",
"maps_played": 8,
"maps_won": 2,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 6,
"penalty_points": 0,
"score": 6,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 139,
"drop": true,
"division_id": 17,
"division_name": "Division 1",
"country": "Finland",
"name": "Blood Pressure",
"maps_played": 0,
"maps_won": 0,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 0,
"penalty_points": 0,
"score": 0,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 8,
"drop": true,
"division_id": 17,
"division_name": "Division 1",
"country": "European",
"name": "Team Vertex - RIP Youngblood",
"maps_played": 0,
"maps_won": 0,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 0,
"penalty_points": 0,
"score": 0,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 3,
"drop": true,
"division_id": 17,
"division_name": "Division 1",
"country": "International",
"name": "TeamCoolermaster",
"maps_played": 0,
"maps_won": 0,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 0,
"penalty_points": 0,
"score": 0,
"ach": null,
"byes": 0,
"seeded_points": 0
},
{
"id": 13,
"drop": true,
"division_id": 17,
"division_name": "Division 1",
"country": "European",
"name": "The Last Resort",
"maps_played": 0,
"maps_won": 0,
"gc_won": 0,
"gc_lost": 0,
"maps_lost": 0,
"penalty_points": 0,
"score": 0,
"ach": null,
"byes": 0,
"seeded_points": 0
}
]
}
}
Received response:
Request failed with error:
Demos
Demos
Returns a paginated list of all demos that were uploaded on ETF2L.
Example request:
curl --request GET \
--get "https://api-v2.etf2l.org/demos?player=2788&type=stv%2C+first_person&pruned=" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api-v2.etf2l.org/demos"
);
const params = {
"player": "2788",
"type": "stv, first_person",
"pruned": "0",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 40
{
"demos": {
"current_page": 1,
"data": [
{
"id": 11527,
"time": 1549385182,
"match": 74467,
"download_url": "https://etf2l.org/demos/11527",
"stv": true,
"first_person": false,
"downloads": 26,
"owner": 2788,
"owner_name": "kaidus",
"pruned": false,
"file": "5c59bdde98677",
"extension": "rar"
},
{
"id": 11526,
"time": 1549385140,
"match": 74467,
"download_url": "https://etf2l.org/demos/11526",
"stv": true,
"first_person": false,
"downloads": 24,
"owner": 2788,
"owner_name": "kaidus",
"pruned": false,
"file": "5c59bdb4eb923",
"extension": "rar"
},
{
"id": 10818,
"time": 1528123442,
"match": 72496,
"download_url": "https://etf2l.org/demos/10818",
"stv": false,
"first_person": true,
"downloads": 26,
"owner": 2788,
"owner_name": "kaidus",
"pruned": false,
"file": "5b155032cdda7",
"extension": "rar"
},
{
"id": 10817,
"time": 1528123412,
"match": 72496,
"download_url": "https://etf2l.org/demos/10817",
"stv": false,
"first_person": true,
"downloads": 33,
"owner": 2788,
"owner_name": "kaidus",
"pruned": false,
"file": "5b1550149e603",
"extension": "rar"
},
{
"id": 10697,
"time": 1524601922,
"match": 72318,
"download_url": "https://etf2l.org/demos/10697",
"stv": true,
"first_person": false,
"downloads": 98,
"owner": 2788,
"owner_name": "kaidus",
"pruned": false,
"file": "5adf944298021",
"extension": "rar"
},
{
"id": 10696,
"time": 1524601875,
"match": 72318,
"download_url": "https://etf2l.org/demos/10696",
"stv": true,
"first_person": false,
"downloads": 64,
"owner": 2788,
"owner_name": "kaidus",
"pruned": false,
"file": "5adf941362a4e",
"extension": "rar"
},
{
"id": 10695,
"time": 1524601829,
"match": 72318,
"download_url": "https://etf2l.org/demos/10695",
"stv": true,
"first_person": false,
"downloads": 68,
"owner": 2788,
"owner_name": "kaidus",
"pruned": false,
"file": "5adf93e578ec4",
"extension": "rar"
},
{
"id": 10655,
"time": 1524172681,
"match": 72318,
"download_url": "https://etf2l.org/demos/10655",
"stv": false,
"first_person": true,
"downloads": 22,
"owner": 2788,
"owner_name": "kaidus",
"pruned": false,
"file": "5ad907895ae75",
"extension": "rar"
},
{
"id": 10654,
"time": 1524172652,
"match": 72318,
"download_url": "https://etf2l.org/demos/10654",
"stv": false,
"first_person": true,
"downloads": 30,
"owner": 2788,
"owner_name": "kaidus",
"pruned": false,
"file": "5ad9076ce2765",
"extension": "rar"
},
{
"id": 10652,
"time": 1524172599,
"match": 72318,
"download_url": "https://etf2l.org/demos/10652",
"stv": false,
"first_person": true,
"downloads": 32,
"owner": 2788,
"owner_name": "kaidus",
"pruned": false,
"file": "5ad90737d7dc0",
"extension": "rar"
},
{
"id": 10576,
"time": 1521291900,
"match": 71579,
"download_url": "https://etf2l.org/demos/10576",
"stv": true,
"first_person": false,
"downloads": 32,
"owner": 2788,
"owner_name": "kaidus",
"pruned": false,
"file": "5aad127c35382",
"extension": "rar"
},
{
"id": 10575,
"time": 1521291842,
"match": 71579,
"download_url": "https://etf2l.org/demos/10575",
"stv": true,
"first_person": false,
"downloads": 35,
"owner": 2788,
"owner_name": "kaidus",
"pruned": false,
"file": "5aad12427d221",
"extension": "rar"
},
{
"id": 10553,
"time": 1521073544,
"match": 71556,
"download_url": "https://etf2l.org/demos/10553",
"stv": false,
"first_person": true,
"downloads": 35,
"owner": 2788,
"owner_name": "kaidus",
"pruned": false,
"file": "5aa9bd883b661",
"extension": "rar"
},
{
"id": 10552,
"time": 1521073455,
"match": 71556,
"download_url": "https://etf2l.org/demos/10552",
"stv": true,
"first_person": false,
"downloads": 53,
"owner": 2788,
"owner_name": "kaidus",
"pruned": false,
"file": "5aa9bd2fc8284",
"extension": "rar"
},
{
"id": 10551,
"time": 1521073379,
"match": 71574,
"download_url": "https://etf2l.org/demos/10551",
"stv": true,
"first_person": false,
"downloads": 28,
"owner": 2788,
"owner_name": "kaidus",
"pruned": false,
"file": "5aa9bce3b2fa0",
"extension": "rar"
},
{
"id": 10550,
"time": 1521073246,
"match": 71567,
"download_url": "https://etf2l.org/demos/10550",
"stv": true,
"first_person": false,
"downloads": 26,
"owner": 2788,
"owner_name": "kaidus",
"pruned": false,
"file": "5aa9bc5e1b542",
"extension": "rar"
},
{
"id": 6124,
"time": 1423174257,
"match": 56186,
"download_url": "https://etf2l.org/demos/6124",
"stv": true,
"first_person": false,
"downloads": 149,
"owner": 2788,
"owner_name": "kaidus",
"pruned": false,
"file": "1423174257_2015-02-05-22-00-_r__vs_eshock-cp_process_final",
"extension": "rar"
},
{
"id": 6123,
"time": 1423174234,
"match": 56186,
"download_url": "https://etf2l.org/demos/6123",
"stv": true,
"first_person": false,
"downloads": 135,
"owner": 2788,
"owner_name": "kaidus",
"pruned": false,
"file": "1423174234_2015-02-05-21-25-_r__vs_eshock-cp_badlands",
"extension": "rar"
},
{
"id": 5187,
"time": 1406470651,
"match": 52365,
"download_url": "https://etf2l.org/demos/5187",
"stv": true,
"first_person": false,
"downloads": 356,
"owner": 2788,
"owner_name": "kaidus",
"pruned": true,
"file": "1406470651_2014-07-24-22-08-blu_vs_epsi-cp_badlands",
"extension": "rar"
},
{
"id": 5186,
"time": 1406470623,
"match": 52365,
"download_url": "https://etf2l.org/demos/5186",
"stv": true,
"first_person": false,
"downloads": 237,
"owner": 2788,
"owner_name": "kaidus",
"pruned": true,
"file": "1406470623_2014-07-24-21-30-blu_vs_epsi-cp_process_final",
"extension": "rar"
}
],
"first_page_url": "https://api-v2.etf2l.org/demos?player=2788&type=stv%2C%20first_person&pruned=0&page=1",
"from": 1,
"last_page": 3,
"last_page_url": "https://api-v2.etf2l.org/demos?player=2788&type=stv%2C%20first_person&pruned=0&page=3",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://api-v2.etf2l.org/demos?player=2788&type=stv%2C%20first_person&pruned=0&page=1",
"label": "1",
"active": true
},
{
"url": "https://api-v2.etf2l.org/demos?player=2788&type=stv%2C%20first_person&pruned=0&page=2",
"label": "2",
"active": false
},
{
"url": "https://api-v2.etf2l.org/demos?player=2788&type=stv%2C%20first_person&pruned=0&page=3",
"label": "3",
"active": false
},
{
"url": "https://api-v2.etf2l.org/demos?player=2788&type=stv%2C%20first_person&pruned=0&page=2",
"label": "Next »",
"active": false
}
],
"next_page_url": "https://api-v2.etf2l.org/demos?player=2788&type=stv%2C%20first_person&pruned=0&page=2",
"path": "https://api-v2.etf2l.org/demos",
"per_page": 20,
"prev_page_url": null,
"to": 20,
"total": 50
},
"status": {
"code": 200,
"message": "OK"
}
}
Received response:
Request failed with error:
Matches
Matches
Returns a paginated list of all matches, sorted from most to least recent.
Example request:
curl --request GET \
--get "https://api-v2.etf2l.org/matches?team_type=6on6&round=Semi-Final" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api-v2.etf2l.org/matches"
);
const params = {
"team_type": "6on6",
"round": "Semi-Final",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 42
{
"results": {
"current_page": 1,
"data": [
{
"clan1": {
"country": "France",
"drop": false,
"id": 34154,
"name": "Projet [FR] Super Try Hard",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/61ba3cbcd1354.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/34154"
},
"clan2": {
"country": "Venezuela",
"drop": false,
"id": 34150,
"name": "trust the process",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/618d8db4229ca.png",
"group": null
},
"url": "https://api-v2.etf2l.org/team/34150"
},
"competition": {
"category": "6v6 Season",
"id": 747,
"name": "6v6 Season 40 Premiership Qualifiers",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/747"
},
"submitted": 1635211416,
"defaultwin": false,
"division": {
"id": null,
"name": null,
"skill_contrib": null,
"tier": null
},
"id": 81742,
"maps": [
"cp_snakewater_final1",
"cp_gullywash_f4a",
"cp_process_f9a"
],
"r1": 6,
"r2": 3,
"round": "Semi-Final",
"time": 1634757300,
"week": 1,
"urls": {
"self": "https://etf2l.org/matches/81742",
"api": "https://api-v2.etf2l.org/matches/81742"
}
},
{
"clan1": {
"country": "Cuba",
"drop": false,
"id": 34129,
"name": "The League Of Shadows",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/615dfe413a17b.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/34129"
},
"clan2": {
"country": "Netherlands",
"drop": false,
"id": 33532,
"name": "Vibrams",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/61087113c28a8.png",
"group": null
},
"url": "https://api-v2.etf2l.org/team/33532"
},
"competition": {
"category": "6v6 Season",
"id": 747,
"name": "6v6 Season 40 Premiership Qualifiers",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/747"
},
"submitted": 1634819063,
"defaultwin": false,
"division": {
"id": null,
"name": null,
"skill_contrib": null,
"tier": null
},
"id": 81743,
"maps": [
"cp_gullywash_f4a",
"cp_snakewater_final1"
],
"r1": 6,
"r2": 0,
"round": "Semi-Final",
"time": 1634757300,
"week": 1,
"urls": {
"self": "https://etf2l.org/matches/81743",
"api": "https://api-v2.etf2l.org/matches/81743"
}
},
{
"clan1": {
"country": "England",
"drop": false,
"id": 33726,
"name": "GOOFYGOOBERS",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/616202623ed12.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/33726"
},
"clan2": {
"country": "Mexico",
"drop": false,
"id": 34032,
"name": "Los Pollos Hermanos",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/617443e315914.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/34032"
},
"competition": {
"category": "6v6 Season",
"id": 759,
"name": "6v6 Season 40 Preseason Cup: Division 1 Playoffs",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/759"
},
"submitted": 1634494343,
"defaultwin": false,
"division": {
"id": null,
"name": null,
"skill_contrib": null,
"tier": null
},
"id": 81723,
"maps": [
"koth_clearcut_b15d"
],
"r1": 0,
"r2": 3,
"round": "Semi-Final",
"time": 1634494500,
"week": 1,
"urls": {
"self": "https://etf2l.org/matches/81723",
"api": "https://api-v2.etf2l.org/matches/81723"
}
},
{
"clan1": {
"country": "SouthAfrica",
"drop": false,
"id": 33855,
"name": "crabW",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/61439f321ae45.png",
"group": null
},
"url": "https://api-v2.etf2l.org/team/33855"
},
"clan2": {
"country": "UnitedStates",
"drop": false,
"id": 34164,
"name": "ofwgkta",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/61686be644df2.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/34164"
},
"competition": {
"category": "6v6 Season",
"id": 760,
"name": "6v6 Season 40 Preseason Cup: Premiership Playoffs",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/760"
},
"submitted": 1634495543,
"defaultwin": true,
"division": {
"id": null,
"name": null,
"skill_contrib": null,
"tier": null
},
"id": 81726,
"maps": [],
"r1": 3,
"r2": 0,
"round": "Semi-Final",
"time": 1634494500,
"week": 1,
"urls": {
"self": "https://etf2l.org/matches/81726",
"api": "https://api-v2.etf2l.org/matches/81726"
}
},
{
"clan1": {
"country": "Seychelles",
"drop": false,
"id": 33830,
"name": "The Shrex Gods.",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/60c77be322602.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/33830"
},
"clan2": {
"country": "UnitedStates",
"drop": false,
"id": 33850,
"name": "mkkitten",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/61689b24c6c62.png",
"group": null
},
"url": "https://api-v2.etf2l.org/team/33850"
},
"competition": {
"category": "6v6 Season",
"id": 758,
"name": "6v6 Season 40 Preseason Cup: Division 3 Playoffs",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/758"
},
"submitted": 1634495056,
"defaultwin": false,
"division": {
"id": null,
"name": null,
"skill_contrib": null,
"tier": null
},
"id": 81724,
"maps": [
"koth_bagel_rc5"
],
"r1": 3,
"r2": 0,
"round": "Semi-Final",
"time": 1634494500,
"week": 1,
"urls": {
"self": "https://etf2l.org/matches/81724",
"api": "https://api-v2.etf2l.org/matches/81724"
}
},
{
"clan1": {
"country": "Poland",
"drop": false,
"id": 28925,
"name": "Spy Boys",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5ef630bfe9fb7.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/28925"
},
"clan2": {
"country": "Russia",
"drop": false,
"id": 27536,
"name": "Russian Brain Advantage",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5c6f040ee1b33.png",
"group": null
},
"url": "https://api-v2.etf2l.org/team/27536"
},
"competition": {
"category": "6v6 Cup",
"id": 623,
"name": "Season 33 Preseason Map Cup: Mid Bracket",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/623"
},
"submitted": 1558291435,
"defaultwin": false,
"division": {
"id": null,
"name": null,
"skill_contrib": null,
"tier": null
},
"id": 75698,
"maps": [
"cp_kalinka_rc5"
],
"r1": 3,
"r2": 0,
"round": "Semi-Final",
"time": 1558289460,
"week": 2,
"urls": {
"self": "https://etf2l.org/matches/75698",
"api": "https://api-v2.etf2l.org/matches/75698"
}
},
{
"clan1": {
"country": "UnitedStates",
"drop": false,
"id": 31712,
"name": "RANCH UNIT",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5ecd3a52705b6.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/31712"
},
"clan2": {
"country": "France",
"drop": false,
"id": 28512,
"name": "Pot-au-feu!",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5ecd21b2b78a7.png",
"group": null
},
"url": "https://api-v2.etf2l.org/team/28512"
},
"competition": {
"category": "6v6 Cup",
"id": 623,
"name": "Season 33 Preseason Map Cup: Mid Bracket",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/623"
},
"submitted": 1558291792,
"defaultwin": false,
"division": {
"id": null,
"name": null,
"skill_contrib": null,
"tier": null
},
"id": 75697,
"maps": [
"cp_metalworks"
],
"r1": 3,
"r2": 0,
"round": "Semi-Final",
"time": 1558289220,
"week": 2,
"urls": {
"self": "https://etf2l.org/matches/75697",
"api": "https://api-v2.etf2l.org/matches/75697"
}
},
{
"clan1": {
"country": "European",
"drop": false,
"id": 31001,
"name": "zengurtnology",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5ba570ab00986.png",
"group": "https://steamcommunity.com/groups/zengurtnology"
},
"url": "https://api-v2.etf2l.org/team/31001"
},
"clan2": {
"country": "France",
"drop": false,
"id": 32030,
"name": "Yo’ Momma",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/32030"
},
"competition": {
"category": "6v6 Cup",
"id": 624,
"name": "Season 33 Preseason Map Cup: Mid-Low Bracket",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/624"
},
"submitted": 1558292631,
"defaultwin": false,
"division": {
"id": null,
"name": null,
"skill_contrib": null,
"tier": null
},
"id": 75696,
"maps": [
"cp_metalworks"
],
"r1": 0,
"r2": 3,
"round": "Semi-Final",
"time": 1558289040,
"week": 2,
"urls": {
"self": "https://etf2l.org/matches/75696",
"api": "https://api-v2.etf2l.org/matches/75696"
}
},
{
"clan1": {
"country": "Macedonia",
"drop": false,
"id": 26010,
"name": "Lithuanian Rhapsody",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5ce2367514cc8.png",
"group": null
},
"url": "https://api-v2.etf2l.org/team/26010"
},
"clan2": {
"country": "Russia",
"drop": false,
"id": 31504,
"name": "уротцы eSports",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5c3b1b636f816.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/31504"
},
"competition": {
"category": "6v6 Cup",
"id": 622,
"name": "Season 33 Preseason Map Cup: High Bracket",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/622"
},
"submitted": 1558291740,
"defaultwin": false,
"division": {
"id": null,
"name": null,
"skill_contrib": null,
"tier": null
},
"id": 75695,
"maps": [
"cp_kalinka_rc5"
],
"r1": 3,
"r2": 0,
"round": "Semi-Final",
"time": 1558289040,
"week": 2,
"urls": {
"self": "https://etf2l.org/matches/75695",
"api": "https://api-v2.etf2l.org/matches/75695"
}
},
{
"clan1": {
"country": "European",
"drop": false,
"id": 31990,
"name": "Alien Slayers",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5ccc3506d7f2c.png",
"group": null
},
"url": "https://api-v2.etf2l.org/team/31990"
},
"clan2": {
"country": "International",
"drop": false,
"id": 31934,
"name": "smiling",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/614f25262ff1d.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/31934"
},
"competition": {
"category": "6v6 Cup",
"id": 625,
"name": "Season 33 Preseason Map Cup: Low Bracket",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/625"
},
"submitted": 1558291477,
"defaultwin": false,
"division": {
"id": null,
"name": null,
"skill_contrib": null,
"tier": null
},
"id": 75693,
"maps": [
"cp_metalworks"
],
"r1": 0,
"r2": 3,
"round": "Semi-Final",
"time": 1558288800,
"week": 2,
"urls": {
"self": "https://etf2l.org/matches/75693",
"api": "https://api-v2.etf2l.org/matches/75693"
}
},
{
"clan1": {
"country": "Russia",
"drop": false,
"id": 26092,
"name": "ucraine хуле",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5bbc9014b7c87.png",
"group": "https://steamcommunity.com/groups/eswore"
},
"url": "https://api-v2.etf2l.org/team/26092"
},
"clan2": {
"country": "European",
"drop": false,
"id": 31343,
"name": "Oracle",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5ecaa1c7d6ec9.png",
"group": null
},
"url": "https://api-v2.etf2l.org/team/31343"
},
"competition": {
"category": "6v6 Cup",
"id": 625,
"name": "Season 33 Preseason Map Cup: Low Bracket",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/625"
},
"submitted": 1558291449,
"defaultwin": false,
"division": {
"id": null,
"name": null,
"skill_contrib": null,
"tier": null
},
"id": 75694,
"maps": [
"cp_metalworks"
],
"r1": 3,
"r2": 0,
"round": "Semi-Final",
"time": 1558288800,
"week": 2,
"urls": {
"self": "https://etf2l.org/matches/75694",
"api": "https://api-v2.etf2l.org/matches/75694"
}
},
{
"clan1": {
"country": "UnitedStates",
"drop": false,
"id": 31719,
"name": "We Eat Snack",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/615c83164619d.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/31719"
},
"clan2": {
"country": "Australia",
"drop": false,
"id": 31752,
"name": "Caucasian Persuasion",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5c917474cb4b5.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/31752"
},
"competition": {
"category": "6v6 Cup",
"id": 626,
"name": "Season 33 Preseason Map Cup: Open Bracket",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/626"
},
"submitted": 1558291207,
"defaultwin": false,
"division": {
"id": null,
"name": null,
"skill_contrib": null,
"tier": null
},
"id": 75691,
"maps": [
"cp_metalworks"
],
"r1": 0,
"r2": 3,
"round": "Semi-Final",
"time": 1558288800,
"week": 2,
"urls": {
"self": "https://etf2l.org/matches/75691",
"api": "https://api-v2.etf2l.org/matches/75691"
}
},
{
"clan1": {
"country": "Hungary",
"drop": false,
"id": 32027,
"name": "riddim",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5cdda07b052a2.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/32027"
},
"clan2": {
"country": "UnitedKingdom",
"drop": false,
"id": 32036,
"name": "Unlucky",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5ce1a65b9b476.png",
"group": null
},
"url": "https://api-v2.etf2l.org/team/32036"
},
"competition": {
"category": "6v6 Cup",
"id": 624,
"name": "Season 33 Preseason Map Cup: Mid-Low Bracket",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/624"
},
"submitted": 1558290916,
"defaultwin": false,
"division": {
"id": null,
"name": null,
"skill_contrib": null,
"tier": null
},
"id": 75690,
"maps": [
"cp_kalinka_rc5"
],
"r1": 0,
"r2": 3,
"round": "Semi-Final",
"time": 1558288800,
"week": 2,
"urls": {
"self": "https://etf2l.org/matches/75690",
"api": "https://api-v2.etf2l.org/matches/75690"
}
},
{
"clan1": {
"country": "Germany",
"drop": false,
"id": 31979,
"name": "Mit dem Rasenmaher Rasen mahen",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5cc71bca4c619.png",
"group": null
},
"url": "https://api-v2.etf2l.org/team/31979"
},
"clan2": {
"country": "European",
"drop": false,
"id": 31706,
"name": "The zoo crew",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5cddc27cec589.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/31706"
},
"competition": {
"category": "6v6 Cup",
"id": 626,
"name": "Season 33 Preseason Map Cup: Open Bracket",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/626"
},
"submitted": 1558292870,
"defaultwin": false,
"division": {
"id": null,
"name": null,
"skill_contrib": null,
"tier": null
},
"id": 75692,
"maps": [
"cp_mist_rc1d"
],
"r1": 3,
"r2": 0,
"round": "Semi-Final",
"time": 1558288800,
"week": 2,
"urls": {
"self": "https://etf2l.org/matches/75692",
"api": "https://api-v2.etf2l.org/matches/75692"
}
},
{
"clan1": {
"country": "Netherlands",
"drop": false,
"id": 26938,
"name": "Louis van Gaal's Army",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5ecaa2436fb2e.jpg",
"group": "https://steamcommunity.com/groups/LouisvanGaalsArmyTF2"
},
"url": "https://api-v2.etf2l.org/team/26938"
},
"clan2": {
"country": "Finland",
"drop": false,
"id": 26174,
"name": "ALFASAURUS",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/60672d36eac77.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/26174"
},
"competition": {
"category": "6v6 Cup",
"id": 622,
"name": "Season 33 Preseason Map Cup: High Bracket",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/622"
},
"submitted": 1558291751,
"defaultwin": false,
"division": {
"id": null,
"name": null,
"skill_contrib": null,
"tier": null
},
"id": 75689,
"maps": [
"cp_mist_rc1d"
],
"r1": 3,
"r2": 0,
"round": "Semi-Final",
"time": 1558288800,
"week": 2,
"urls": {
"self": "https://etf2l.org/matches/75689",
"api": "https://api-v2.etf2l.org/matches/75689"
}
},
{
"clan1": {
"country": "UnitedKingdom",
"drop": false,
"id": 19942,
"name": "Swag",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/61edcb2f00058.png",
"group": null
},
"url": "https://api-v2.etf2l.org/team/19942"
},
"clan2": {
"country": "Macedonia",
"drop": false,
"id": 26010,
"name": "Lithuanian Rhapsody",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5ce2367514cc8.png",
"group": null
},
"url": "https://api-v2.etf2l.org/team/26010"
},
"competition": {
"category": "6v6 Season",
"id": 612,
"name": "Season 32: Division 2 Playoffs",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/612"
},
"submitted": 1554209868,
"defaultwin": false,
"division": {
"id": null,
"name": null,
"skill_contrib": null,
"tier": null
},
"id": 75179,
"maps": [
"cp_gullywash_final1",
"cp_logjam_rc10a",
"cp_snakewater_final1"
],
"r1": 6,
"r2": 3,
"round": "Semi-Final",
"time": 1554059700,
"week": 2,
"urls": {
"self": "https://etf2l.org/matches/75179",
"api": "https://api-v2.etf2l.org/matches/75179"
}
},
{
"clan1": {
"country": "European",
"drop": false,
"id": 31336,
"name": "Monkeys with Attitude",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5ce5bc79121e0.png",
"group": null
},
"url": "https://api-v2.etf2l.org/team/31336"
},
"clan2": {
"country": "European",
"drop": false,
"id": 31534,
"name": "Farmers_",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/60561038547bf.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/31534"
},
"competition": {
"category": "6v6 Season",
"id": 615,
"name": "Season 32: Open Playoffs",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/615"
},
"submitted": 1554054512,
"defaultwin": false,
"division": {
"id": null,
"name": null,
"skill_contrib": null,
"tier": null
},
"id": 75200,
"maps": [
"koth_product_rc9",
"cp_gullywash_final1"
],
"r1": 6,
"r2": 0,
"round": "Semi-Final",
"time": 1554051600,
"week": 2,
"urls": {
"self": "https://etf2l.org/matches/75200",
"api": "https://api-v2.etf2l.org/matches/75200"
}
},
{
"clan1": {
"country": "Germany",
"drop": false,
"id": 30182,
"name": "The Jens Weber Society",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5ecaa4f17ed3b.jpg",
"group": null
},
"url": "https://api-v2.etf2l.org/team/30182"
},
"clan2": {
"country": "Ukraine",
"drop": false,
"id": 31067,
"name": "ya nemnogo D R I P P Y",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5eeff37e30eee.png",
"group": null
},
"url": "https://api-v2.etf2l.org/team/31067"
},
"competition": {
"category": "6v6 Season",
"id": 613,
"name": "Season 32: Mid Playoffs",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/613"
},
"submitted": 1553893731,
"defaultwin": false,
"division": {
"id": null,
"name": null,
"skill_contrib": null,
"tier": null
},
"id": 75204,
"maps": [
"cp_snakewater_final1",
"koth_product_rc9",
"cp_granary_pro_rc8"
],
"r1": 3,
"r2": 6,
"round": "Semi-Final",
"time": 1553887800,
"week": 2,
"urls": {
"self": "https://etf2l.org/matches/75204",
"api": "https://api-v2.etf2l.org/matches/75204"
}
},
{
"clan1": {
"country": "European",
"drop": false,
"id": 31343,
"name": "Oracle",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5ecaa1c7d6ec9.png",
"group": null
},
"url": "https://api-v2.etf2l.org/team/31343"
},
"clan2": {
"country": "CzechRepublic",
"drop": false,
"id": 28424,
"name": "tf2pickup.cz",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5f89742871652.png",
"group": "https://steamcommunity.com/groups/cavoprync"
},
"url": "https://api-v2.etf2l.org/team/28424"
},
"competition": {
"category": "6v6 Season",
"id": 615,
"name": "Season 32: Open Playoffs",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/615"
},
"submitted": 1553891746,
"defaultwin": false,
"division": {
"id": null,
"name": null,
"skill_contrib": null,
"tier": null
},
"id": 75199,
"maps": [
"cp_snakewater_final1",
"cp_sunshine"
],
"r1": 6,
"r2": 0,
"round": "Semi-Final",
"time": 1553886000,
"week": 2,
"urls": {
"self": "https://etf2l.org/matches/75199",
"api": "https://api-v2.etf2l.org/matches/75199"
}
},
{
"clan1": {
"country": "Pakistan",
"drop": false,
"id": 30032,
"name": "Brain damage",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5ecab04f2b7e1.png",
"group": null
},
"url": "https://api-v2.etf2l.org/team/30032"
},
"clan2": {
"country": "Russia",
"drop": false,
"id": 31471,
"name": "MGE MIXFIGHT",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/61ef25df0f960.jpg",
"group": "https://steamcommunity.com/groups/ammomodcrew"
},
"url": "https://api-v2.etf2l.org/team/31471"
},
"competition": {
"category": "6v6 Season",
"id": 614,
"name": "Season 32: Low Playoffs",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/614"
},
"submitted": 1553810086,
"defaultwin": false,
"division": {
"id": null,
"name": null,
"skill_contrib": null,
"tier": null
},
"id": 75202,
"maps": [
"koth_product_rc9",
"cp_gullywash_final1",
"cp_sunshine"
],
"r1": 3,
"r2": 6,
"round": "Semi-Final",
"time": 1553803200,
"week": 2,
"urls": {
"self": "https://etf2l.org/matches/75202",
"api": "https://api-v2.etf2l.org/matches/75202"
}
}
],
"first_page_url": "https://api-v2.etf2l.org/matches?team_type=6on6&round=Semi-Final&page=1",
"from": 1,
"last_page": 17,
"last_page_url": "https://api-v2.etf2l.org/matches?team_type=6on6&round=Semi-Final&page=17",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://api-v2.etf2l.org/matches?team_type=6on6&round=Semi-Final&page=1",
"label": "1",
"active": true
},
{
"url": "https://api-v2.etf2l.org/matches?team_type=6on6&round=Semi-Final&page=2",
"label": "2",
"active": false
},
{
"url": "https://api-v2.etf2l.org/matches?team_type=6on6&round=Semi-Final&page=3",
"label": "3",
"active": false
},
{
"url": "https://api-v2.etf2l.org/matches?team_type=6on6&round=Semi-Final&page=4",
"label": "4",
"active": false
},
{
"url": "https://api-v2.etf2l.org/matches?team_type=6on6&round=Semi-Final&page=5",
"label": "5",
"active": false
},
{
"url": "https://api-v2.etf2l.org/matches?team_type=6on6&round=Semi-Final&page=6",
"label": "6",
"active": false
},
{
"url": "https://api-v2.etf2l.org/matches?team_type=6on6&round=Semi-Final&page=7",
"label": "7",
"active": false
},
{
"url": "https://api-v2.etf2l.org/matches?team_type=6on6&round=Semi-Final&page=8",
"label": "8",
"active": false
},
{
"url": "https://api-v2.etf2l.org/matches?team_type=6on6&round=Semi-Final&page=9",
"label": "9",
"active": false
},
{
"url": "https://api-v2.etf2l.org/matches?team_type=6on6&round=Semi-Final&page=10",
"label": "10",
"active": false
},
{
"url": null,
"label": "...",
"active": false
},
{
"url": "https://api-v2.etf2l.org/matches?team_type=6on6&round=Semi-Final&page=16",
"label": "16",
"active": false
},
{
"url": "https://api-v2.etf2l.org/matches?team_type=6on6&round=Semi-Final&page=17",
"label": "17",
"active": false
},
{
"url": "https://api-v2.etf2l.org/matches?team_type=6on6&round=Semi-Final&page=2",
"label": "Next »",
"active": false
}
],
"next_page_url": "https://api-v2.etf2l.org/matches?team_type=6on6&round=Semi-Final&page=2",
"path": "https://api-v2.etf2l.org/matches",
"per_page": 20,
"prev_page_url": null,
"to": 20,
"total": 338
},
"status": {
"code": 200,
"message": "OK"
}
}
Received response:
Request failed with error:
Match details
Returns additional details about a match like the players who participated in it.
Example request:
curl --request GET \
--get "https://api-v2.etf2l.org/matches/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api-v2.etf2l.org/matches/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 41
{
"match": {
"clan1": {
"country": "International",
"drop": false,
"id": 160,
"name": "I am",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/160"
},
"clan2": {
"country": "Belgium",
"drop": false,
"id": 178,
"name": "beTeam",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"group": null
},
"url": "https://api-v2.etf2l.org/team/178"
},
"competition": {
"category": "6v6 Cup",
"id": 4,
"name": "ETF2L 3rd Cup",
"type": "6on6",
"url": "https://api-v2.etf2l.org/competition/4"
},
"defaultwin": false,
"division": null,
"id": 1,
"maps": [
"cp_pro_granary",
"cp_badlands"
],
"r1": 2,
"r2": 0,
"round": "Round 1",
"time": 1213291800,
"submitted": 1213305069,
"week": 1,
"urls": {
"self": "https://etf2l.org/matches/1",
"api": "https://api-v2.etf2l.org/matches/1"
},
"players": [],
"bye_week": false,
"demos": [],
"map_results": [
{
"match_order": 1,
"clan1": 8,
"clan2": 0,
"map": "cp_pro_granary",
"golden_cap": false
},
{
"match_order": 2,
"clan1": 14,
"clan2": 0,
"map": "cp_badlands",
"golden_cap": false
}
]
},
"status": {
"code": 200,
"message": "OK"
}
}
Received response:
Request failed with error:
Player
Player information
Gets the ETF2L user information.
Valid arguments: ETF2L Player ID, SteamID2, SteamID3, SteamID64.
Example request:
curl --request GET \
--get "https://api-v2.etf2l.org/player/4" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api-v2.etf2l.org/player/4"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 59
{
"status": {
"code": 404,
"message": "No player was found for 4. Provide either the ETF2L player ID or a valid SteamId2, SteamId3 or SteamId64 ID."
}
}
Received response:
Request failed with error:
Player transfers
Gets the team transfers of a player.
Valid parameters: ETF2L Player ID, SteamID2, SteamID3, SteamID64.
Example request:
curl --request GET \
--get "https://api-v2.etf2l.org/player/4/transfers" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api-v2.etf2l.org/player/4/transfers"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 58
{
"status": {
"code": 404,
"message": "No player was found for 4. Provide either the ETF2L player ID or a valid SteamId2, SteamId3 or SteamId64 ID."
}
}
Received response:
Request failed with error:
Player results
Gets the player's results. Sorted from most recent to least recent. Uses pagination. Provide a page query parameter to iterate through the results.
Valid parameters: ETF2L Player ID, SteamID2, SteamID3, SteamID64.
Example request:
curl --request GET \
--get "https://api-v2.etf2l.org/player/4/results" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api-v2.etf2l.org/player/4/results"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 57
{
"status": {
"code": 404,
"message": "No player was found for 4. Provide either the ETF2L player ID or a valid SteamId2, SteamId3 or SteamId64 ID."
}
}
Received response:
Request failed with error:
Recruitment
Player recruitment
Gets a paginated list of recruitment posts for players.
Example request:
curl --request GET \
--get "https://api-v2.etf2l.org/recruitment/players?user=82350" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api-v2.etf2l.org/recruitment/players"
);
const params = {
"user": "82350",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 45
{
"recruitment": {
"current_page": 1,
"data": [
{
"classes": [
"Demoman",
"Heavy",
"Sniper",
"Soldier",
"Spy"
],
"comments": {
"count": 4,
"last": 1612792037
},
"id": 71219,
"name": "extrasolar",
"skill": "Prem/High",
"steam": {
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0d/0dfcd37228ac447124fa0501a2a1a94ad5e61cc3_full.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "Highlander",
"urls": {
"player": "https://api-v2.etf2l.org/player/82350",
"recruitment": "https://etf2l.org/recruitment/71219"
}
},
{
"classes": [
"Soldier"
],
"comments": {
"count": 2,
"last": 1600205449
},
"id": 68379,
"name": "extrasolar",
"skill": "Mid/Low",
"steam": {
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0d/0dfcd37228ac447124fa0501a2a1a94ad5e61cc3_full.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "6on6",
"urls": {
"player": "https://api-v2.etf2l.org/player/82350",
"recruitment": "https://etf2l.org/recruitment/68379"
}
},
{
"classes": [
"Demoman",
"Scout",
"Soldier"
],
"comments": {
"count": 0,
"last": null
},
"id": 65907,
"name": "extrasolar",
"skill": "Mid/Low",
"steam": {
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0d/0dfcd37228ac447124fa0501a2a1a94ad5e61cc3_full.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "6on6",
"urls": {
"player": "https://api-v2.etf2l.org/player/82350",
"recruitment": "https://etf2l.org/recruitment/65907"
}
},
{
"classes": [
"Scout",
"Soldier"
],
"comments": {
"count": 15,
"last": 1556881178
},
"id": 64607,
"name": "extrasolar",
"skill": "Mid/Low",
"steam": {
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0d/0dfcd37228ac447124fa0501a2a1a94ad5e61cc3_full.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "6on6",
"urls": {
"player": "https://api-v2.etf2l.org/player/82350",
"recruitment": "https://etf2l.org/recruitment/64607"
}
},
{
"classes": [
"Demoman",
"Heavy",
"Sniper"
],
"comments": {
"count": 20,
"last": 1550094481
},
"id": 63083,
"name": "extrasolar",
"skill": "Prem/High",
"steam": {
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0d/0dfcd37228ac447124fa0501a2a1a94ad5e61cc3_full.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "Highlander",
"urls": {
"player": "https://api-v2.etf2l.org/player/82350",
"recruitment": "https://etf2l.org/recruitment/63083"
}
},
{
"classes": [
"Heavy"
],
"comments": {
"count": 15,
"last": 1548154270
},
"id": 62588,
"name": "extrasolar",
"skill": "Prem/High",
"steam": {
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0d/0dfcd37228ac447124fa0501a2a1a94ad5e61cc3_full.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "Highlander",
"urls": {
"player": "https://api-v2.etf2l.org/player/82350",
"recruitment": "https://etf2l.org/recruitment/62588"
}
},
{
"classes": [
"Spy"
],
"comments": {
"count": 13,
"last": 1536426798
},
"id": 60546,
"name": "extrasolar",
"skill": "Low/Open",
"steam": {
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0d/0dfcd37228ac447124fa0501a2a1a94ad5e61cc3_full.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "6on6",
"urls": {
"player": "https://api-v2.etf2l.org/player/82350",
"recruitment": "https://etf2l.org/recruitment/60546"
}
},
{
"classes": [
"Heavy"
],
"comments": {
"count": 22,
"last": 1532363109
},
"id": 59632,
"name": "extrasolar",
"skill": "Prem/High",
"steam": {
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0d/0dfcd37228ac447124fa0501a2a1a94ad5e61cc3_full.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "Highlander",
"urls": {
"player": "https://api-v2.etf2l.org/player/82350",
"recruitment": "https://etf2l.org/recruitment/59632"
}
},
{
"classes": [
"Sniper"
],
"comments": {
"count": 22,
"last": 1501593812
},
"id": 53059,
"name": "extrasolar",
"skill": "Open",
"steam": {
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0d/0dfcd37228ac447124fa0501a2a1a94ad5e61cc3_full.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "Highlander",
"urls": {
"player": "https://api-v2.etf2l.org/player/82350",
"recruitment": "https://etf2l.org/recruitment/53059"
}
},
{
"classes": [
"Demoman",
"Engineer",
"Heavy",
"Pyro",
"Sniper",
"Soldier",
"Spy"
],
"comments": {
"count": 16,
"last": 1500581728
},
"id": 52773,
"name": "extrasolar",
"skill": "Mid/Open",
"steam": {
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0d/0dfcd37228ac447124fa0501a2a1a94ad5e61cc3_full.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "6on6",
"urls": {
"player": "https://api-v2.etf2l.org/player/82350",
"recruitment": "https://etf2l.org/recruitment/52773"
}
},
{
"classes": [
"Heavy",
"Sniper",
"Soldier",
"Spy"
],
"comments": {
"count": 7,
"last": 1494933987
},
"id": 51421,
"name": "extrasolar",
"skill": "Mid/Open",
"steam": {
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0d/0dfcd37228ac447124fa0501a2a1a94ad5e61cc3_full.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "Highlander",
"urls": {
"player": "https://api-v2.etf2l.org/player/82350",
"recruitment": "https://etf2l.org/recruitment/51421"
}
},
{
"classes": [
"Demoman",
"Engineer",
"Heavy",
"Pyro",
"Sniper",
"Soldier",
"Spy"
],
"comments": {
"count": 22,
"last": 1490067009
},
"id": 49398,
"name": "extrasolar",
"skill": "Prem/High",
"steam": {
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0d/0dfcd37228ac447124fa0501a2a1a94ad5e61cc3_full.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "Highlander",
"urls": {
"player": "https://api-v2.etf2l.org/player/82350",
"recruitment": "https://etf2l.org/recruitment/49398"
}
},
{
"classes": [
"Demoman",
"Engineer",
"Heavy",
"Pyro",
"Sniper",
"Soldier",
"Spy"
],
"comments": {
"count": 19,
"last": 1486236501
},
"id": 48466,
"name": "extrasolar",
"skill": "High/Mid",
"steam": {
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0d/0dfcd37228ac447124fa0501a2a1a94ad5e61cc3_full.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "Highlander",
"urls": {
"player": "https://api-v2.etf2l.org/player/82350",
"recruitment": "https://etf2l.org/recruitment/48466"
}
},
{
"classes": [
"Demoman",
"Pyro",
"Sniper",
"Soldier",
"Spy"
],
"comments": {
"count": 16,
"last": 1478974186
},
"id": 47701,
"name": "extrasolar",
"skill": "Mid/Open",
"steam": {
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0d/0dfcd37228ac447124fa0501a2a1a94ad5e61cc3_full.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "Highlander",
"urls": {
"player": "https://api-v2.etf2l.org/player/82350",
"recruitment": "https://etf2l.org/recruitment/47701"
}
},
{
"classes": [
"Demoman",
"Heavy",
"Pyro",
"Sniper",
"Soldier"
],
"comments": {
"count": 17,
"last": 1478069602
},
"id": 47443,
"name": "extrasolar",
"skill": "High/Mid",
"steam": {
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0d/0dfcd37228ac447124fa0501a2a1a94ad5e61cc3_full.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "Highlander",
"urls": {
"player": "https://api-v2.etf2l.org/player/82350",
"recruitment": "https://etf2l.org/recruitment/47443"
}
},
{
"classes": [
"Heavy"
],
"comments": {
"count": 71,
"last": 1474736719
},
"id": 46626,
"name": "extrasolar",
"skill": "High/Mid",
"steam": {
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0d/0dfcd37228ac447124fa0501a2a1a94ad5e61cc3_full.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "Highlander",
"urls": {
"player": "https://api-v2.etf2l.org/player/82350",
"recruitment": "https://etf2l.org/recruitment/46626"
}
},
{
"classes": [
"Demoman",
"Pyro",
"Sniper",
"Soldier",
"Spy"
],
"comments": {
"count": 32,
"last": 1471371852
},
"id": 45672,
"name": "extrasolar",
"skill": "Prem",
"steam": {
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0d/0dfcd37228ac447124fa0501a2a1a94ad5e61cc3_full.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "Highlander",
"urls": {
"player": "https://api-v2.etf2l.org/player/82350",
"recruitment": "https://etf2l.org/recruitment/45672"
}
},
{
"classes": [
"Heavy"
],
"comments": {
"count": 20,
"last": 1468454766
},
"id": 45374,
"name": "extrasolar",
"skill": "High/Mid",
"steam": {
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0d/0dfcd37228ac447124fa0501a2a1a94ad5e61cc3_full.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "Highlander",
"urls": {
"player": "https://api-v2.etf2l.org/player/82350",
"recruitment": "https://etf2l.org/recruitment/45374"
}
},
{
"classes": [
"Medic"
],
"comments": {
"count": 3,
"last": 1467121956
},
"id": 44732,
"name": "extrasolar",
"skill": "Open",
"steam": {
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0d/0dfcd37228ac447124fa0501a2a1a94ad5e61cc3_full.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "Highlander",
"urls": {
"player": "https://api-v2.etf2l.org/player/82350",
"recruitment": "https://etf2l.org/recruitment/44732"
}
},
{
"classes": [
"Heavy"
],
"comments": {
"count": 26,
"last": 1462073316
},
"id": 43576,
"name": "extrasolar",
"skill": "Mid/High",
"steam": {
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0d/0dfcd37228ac447124fa0501a2a1a94ad5e61cc3_full.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "Highlander",
"urls": {
"player": "https://api-v2.etf2l.org/player/82350",
"recruitment": "https://etf2l.org/recruitment/43576"
}
}
],
"first_page_url": "https://api-v2.etf2l.org/recruitment/players?user=82350&page=1",
"from": 1,
"last_page": 2,
"last_page_url": "https://api-v2.etf2l.org/recruitment/players?user=82350&page=2",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://api-v2.etf2l.org/recruitment/players?user=82350&page=1",
"label": "1",
"active": true
},
{
"url": "https://api-v2.etf2l.org/recruitment/players?user=82350&page=2",
"label": "2",
"active": false
},
{
"url": "https://api-v2.etf2l.org/recruitment/players?user=82350&page=2",
"label": "Next »",
"active": false
}
],
"next_page_url": "https://api-v2.etf2l.org/recruitment/players?user=82350&page=2",
"path": "https://api-v2.etf2l.org/recruitment/players",
"per_page": 20,
"prev_page_url": null,
"to": 20,
"total": 24
},
"status": {
"status": 200,
"message": "OK"
}
}
Received response:
Request failed with error:
Team recruitment
Gets a paginated list of recruitment posts for teams.
Example request:
curl --request GET \
--get "https://api-v2.etf2l.org/recruitment/teams?user=82350" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api-v2.etf2l.org/recruitment/teams"
);
const params = {
"user": "82350",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 44
{
"recruitment": {
"current_page": 1,
"data": [
{
"classes": [
"Demoman",
"Engineer",
"Heavy",
"Medic",
"Pyro",
"Scout",
"Sniper",
"Soldier",
"Spy"
],
"comments": {
"count": 0,
"last": null
},
"id": 61840,
"name": "Weed Cake Sellers",
"skill": "Prem/High",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5f3e889604d71.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "Highlander",
"urls": {
"team": "https://api-v2.etf2l.org/team/27488",
"recruitment": "https://etf2l.org/recruitment/61840"
}
},
{
"classes": [
"Demoman",
"Medic",
"Scout",
"Soldier"
],
"comments": {
"count": 10,
"last": 1493658108
},
"id": 51016,
"name": "Police Squad",
"skill": "Mid/Open",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/5ecaa97191896.png",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "6on6",
"urls": {
"team": "https://api-v2.etf2l.org/team/28026",
"recruitment": "https://etf2l.org/recruitment/51016"
}
},
{
"classes": [
"Demoman",
"Engineer",
"Heavy",
"Medic",
"Pyro",
"Scout",
"Sniper",
"Soldier",
"Spy"
],
"comments": {
"count": 1,
"last": 1462872027
},
"id": 43824,
"name": "Banterlads",
"skill": "Open/Mid",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/573ccfddd94e6.png",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "Highlander",
"urls": {
"team": "https://api-v2.etf2l.org/team/26225",
"recruitment": "https://etf2l.org/recruitment/43824"
}
},
{
"classes": [
"Demoman",
"Engineer",
"Heavy",
"Medic",
"Pyro",
"Scout",
"Sniper",
"Soldier",
"Spy"
],
"comments": {
"count": 5,
"last": 1445466301
},
"id": 38972,
"name": "MAKE TEA NOT WAR",
"skill": "Mid",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/55f5b3a22cc56.jpg",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "Highlander",
"urls": {
"team": "https://api-v2.etf2l.org/team/25581",
"recruitment": "https://etf2l.org/recruitment/38972"
}
},
{
"classes": [
"Medic"
],
"comments": {
"count": 1,
"last": 1439099199
},
"id": 37458,
"name": "MAKE TEA NOT WAR",
"skill": "Open/Mid",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "Highlander",
"urls": {
"team": "https://api-v2.etf2l.org/team/24752",
"recruitment": "https://etf2l.org/recruitment/37458"
}
},
{
"classes": [
"Demoman"
],
"comments": {
"count": 3,
"last": 1431267413
},
"id": 35294,
"name": "MAKE TEA NOT WAR",
"skill": "Open",
"steam": {
"avatar": "https://etf2l.org/wp-content/uploads/avatars/",
"id": "STEAM_1:1:50294888",
"id3": "[U:1:100589777]",
"id64": "76561198060855505"
},
"type": "Highlander",
"urls": {
"team": "https://api-v2.etf2l.org/team/24752",
"recruitment": "https://etf2l.org/recruitment/35294"
}
}
],
"first_page_url": "https://api-v2.etf2l.org/recruitment/teams?user=82350&page=1",
"from": 1,
"last_page": 1,
"last_page_url": "https://api-v2.etf2l.org/recruitment/teams?user=82350&page=1",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://api-v2.etf2l.org/recruitment/teams?user=82350&page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"next_page_url": null,
"path": "https://api-v2.etf2l.org/recruitment/teams",
"per_page": 20,
"prev_page_url": null,
"to": 6,
"total": 6
},
"status": {
"status": 200,
"message": "OK"
}
}
Received response:
Request failed with error:
Team
Team
Shows information about an ETF2L team. Information includes competitions, current active players and details.
Example request:
curl --request GET \
--get "https://api-v2.etf2l.org/team/2" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api-v2.etf2l.org/team/2"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 56
{
"message": "No query results for model [App\\Models\\Clan] 1",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php",
"line": 391,
"trace": [
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php",
"line": 367,
"function": "prepareException",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "/var/www/html/vendor/nunomaduro/collision/src/Adapters/Laravel/ExceptionHandler.php",
"line": 54,
"function": "render",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php",
"line": 51,
"function": "render",
"class": "NunoMaduro\\Collision\\Adapters\\Laravel\\ExceptionHandler",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 185,
"function": "handleException",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 126,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 102,
"function": "handleRequest",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 54,
"function": "handleRequestUsingNamedLimiter",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 799,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 776,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 740,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 729,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 190,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/html/vendor/sentry/sentry-laravel/src/Sentry/Laravel/Http/SetRequestIpMiddleware.php",
"line": 45,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Sentry\\Laravel\\Http\\SetRequestIpMiddleware",
"type": "->"
},
{
"file": "/var/www/html/vendor/sentry/sentry-laravel/src/Sentry/Laravel/Http/SetRequestMiddleware.php",
"line": 31,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Sentry\\Laravel\\Http\\SetRequestMiddleware",
"type": "->"
},
{
"file": "/var/www/html/vendor/beyondcode/laravel-query-detector/src/QueryDetectorMiddleware.php",
"line": 33,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "BeyondCode\\QueryDetector\\QueryDetectorMiddleware",
"type": "->"
},
{
"file": "/var/www/html/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
"line": 59,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
"line": 49,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\HandleCors",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
"line": 39,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 165,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 134,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php",
"line": 41,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 661,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 183,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Command/Command.php",
"line": 312,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 153,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Application.php",
"line": 1022,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Application.php",
"line": 314,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Application.php",
"line": 168,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Console/Application.php",
"line": 102,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 155,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Team transfers
Gets the transfers of a team.
Example request:
curl --request GET \
--get "https://api-v2.etf2l.org/team/2/transfers" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api-v2.etf2l.org/team/2/transfers"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 55
{
"message": "No query results for model [App\\Models\\Clan] 1",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php",
"line": 391,
"trace": [
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php",
"line": 367,
"function": "prepareException",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "/var/www/html/vendor/nunomaduro/collision/src/Adapters/Laravel/ExceptionHandler.php",
"line": 54,
"function": "render",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php",
"line": 51,
"function": "render",
"class": "NunoMaduro\\Collision\\Adapters\\Laravel\\ExceptionHandler",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 185,
"function": "handleException",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 126,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 102,
"function": "handleRequest",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 54,
"function": "handleRequestUsingNamedLimiter",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 799,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 776,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 740,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 729,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 190,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/html/vendor/sentry/sentry-laravel/src/Sentry/Laravel/Http/SetRequestIpMiddleware.php",
"line": 45,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Sentry\\Laravel\\Http\\SetRequestIpMiddleware",
"type": "->"
},
{
"file": "/var/www/html/vendor/sentry/sentry-laravel/src/Sentry/Laravel/Http/SetRequestMiddleware.php",
"line": 31,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Sentry\\Laravel\\Http\\SetRequestMiddleware",
"type": "->"
},
{
"file": "/var/www/html/vendor/beyondcode/laravel-query-detector/src/QueryDetectorMiddleware.php",
"line": 33,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "BeyondCode\\QueryDetector\\QueryDetectorMiddleware",
"type": "->"
},
{
"file": "/var/www/html/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
"line": 59,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
"line": 49,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\HandleCors",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
"line": 39,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 165,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 134,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php",
"line": 41,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 661,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 183,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Command/Command.php",
"line": 312,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 153,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Application.php",
"line": 1022,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Application.php",
"line": 314,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Application.php",
"line": 168,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Console/Application.php",
"line": 102,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 155,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Team results
Gets the team's results.
Example request:
curl --request GET \
--get "https://api-v2.etf2l.org/team/2/results" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api-v2.etf2l.org/team/2/results"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 54
{
"message": "No query results for model [App\\Models\\Clan] 1",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php",
"line": 391,
"trace": [
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php",
"line": 367,
"function": "prepareException",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "/var/www/html/vendor/nunomaduro/collision/src/Adapters/Laravel/ExceptionHandler.php",
"line": 54,
"function": "render",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php",
"line": 51,
"function": "render",
"class": "NunoMaduro\\Collision\\Adapters\\Laravel\\ExceptionHandler",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 185,
"function": "handleException",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 126,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 102,
"function": "handleRequest",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 54,
"function": "handleRequestUsingNamedLimiter",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 799,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 776,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 740,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 729,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 190,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/html/vendor/sentry/sentry-laravel/src/Sentry/Laravel/Http/SetRequestIpMiddleware.php",
"line": 45,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Sentry\\Laravel\\Http\\SetRequestIpMiddleware",
"type": "->"
},
{
"file": "/var/www/html/vendor/sentry/sentry-laravel/src/Sentry/Laravel/Http/SetRequestMiddleware.php",
"line": 31,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Sentry\\Laravel\\Http\\SetRequestMiddleware",
"type": "->"
},
{
"file": "/var/www/html/vendor/beyondcode/laravel-query-detector/src/QueryDetectorMiddleware.php",
"line": 33,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "BeyondCode\\QueryDetector\\QueryDetectorMiddleware",
"type": "->"
},
{
"file": "/var/www/html/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
"line": 59,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
"line": 49,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\HandleCors",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
"line": 39,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 165,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 134,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php",
"line": 41,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 661,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 183,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Command/Command.php",
"line": 312,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 153,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Application.php",
"line": 1022,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Application.php",
"line": 314,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Application.php",
"line": 168,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Console/Application.php",
"line": 102,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 155,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Team matches
Returns a list of matches the team has played in, from most to least recent.
Requires a ETF2L team ID.
Example request:
curl --request GET \
--get "https://api-v2.etf2l.org/team/2/matches" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api-v2.etf2l.org/team/2/matches"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 53
{
"message": "No query results for model [App\\Models\\Clan] 1",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php",
"line": 391,
"trace": [
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php",
"line": 367,
"function": "prepareException",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "/var/www/html/vendor/nunomaduro/collision/src/Adapters/Laravel/ExceptionHandler.php",
"line": 54,
"function": "render",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php",
"line": 51,
"function": "render",
"class": "NunoMaduro\\Collision\\Adapters\\Laravel\\ExceptionHandler",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 185,
"function": "handleException",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 126,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 102,
"function": "handleRequest",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 54,
"function": "handleRequestUsingNamedLimiter",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 799,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 776,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 740,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 729,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 190,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/html/vendor/sentry/sentry-laravel/src/Sentry/Laravel/Http/SetRequestIpMiddleware.php",
"line": 45,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Sentry\\Laravel\\Http\\SetRequestIpMiddleware",
"type": "->"
},
{
"file": "/var/www/html/vendor/sentry/sentry-laravel/src/Sentry/Laravel/Http/SetRequestMiddleware.php",
"line": 31,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Sentry\\Laravel\\Http\\SetRequestMiddleware",
"type": "->"
},
{
"file": "/var/www/html/vendor/beyondcode/laravel-query-detector/src/QueryDetectorMiddleware.php",
"line": 33,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "BeyondCode\\QueryDetector\\QueryDetectorMiddleware",
"type": "->"
},
{
"file": "/var/www/html/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
"line": 59,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
"line": 31,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
"line": 49,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\HandleCors",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
"line": 39,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 165,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 134,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 287,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 89,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 45,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 222,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 179,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 116,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 123,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 80,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 56,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/html/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php",
"line": 41,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 37,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 661,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 183,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Command/Command.php",
"line": 312,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 153,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Application.php",
"line": 1022,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Application.php",
"line": 314,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/vendor/symfony/console/Application.php",
"line": 168,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Console/Application.php",
"line": 102,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 155,
"function": "run",
"class": "Illuminate\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/html/artisan",
"line": 37,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
Received response:
Request failed with error:
Whitelists
Whitelists
Returns a list of all whitelists currently maintained by ETF2L.
Example request:
curl --request GET \
--get "https://api-v2.etf2l.org/whitelists" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://api-v2.etf2l.org/whitelists"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 43
{
"status": {
"code": 200,
"message": "OK"
},
"whitelists": {
"ETF2L Ultiduo": {
"filename": "etf2l_whitelist_ultiduo",
"last_change": 1446081616,
"url": "https://etf2l.org/configs/etf2l_whitelist_ultiduo.txt"
},
"ETF2L BBall": {
"filename": "etf2l_whitelist_bball",
"last_change": 1446081616,
"url": "https://etf2l.org/configs/etf2l_whitelist_bball.txt"
},
"ETF2L HL Season 9": {
"filename": "etf2l_whitelist_9v9",
"last_change": 1446081616,
"url": "https://etf2l.org/configs/etf2l_whitelist_9v9.txt"
},
"ETF2L 1v1 Scout DM": {
"filename": "etf2l_whitelist_scoutdm",
"last_change": 1446081616,
"url": "https://etf2l.org/configs/etf2l_whitelist_scoutdm.txt"
},
"ETF2L Season 22": {
"filename": "etf2l_whitelist_6v6",
"last_change": 1446081615,
"url": "https://etf2l.org/configs/etf2l_whitelist_6v6.txt"
}
}
}
Received response:
Request failed with error: