Skip to main content

Player Endpoints


Search Players​

GET/players/search

Searches players by partial username. Returns an array of Player objects.


Query Params

FieldTypeRequiredDescription
usernamestringtrueThe partial username for the player you're trying to search for.
limitintegerfalseThe pagination limit. See Pagination
offsetintegerfalseThe pagination offset. See Pagination

Example Request

curl -X GET https://api.wiseoldman.net/v2/players/search?username=zezi&limit=2 \
-H "Content-Type: application/json"

Example Response

[
{
"id": 151063,
"username": "zezimas bro",
"displayName": "Zezimas bro",
"type": "regular",
"build": "main",
"country": null,
"status": "active",
"patron": false,
"exp": 330940032,
"ehp": 1057.05253,
"ehb": 126.50192,
"ttm": 0,
"tt200m": 12467.36769,
"registeredAt": "2021-01-29T01:18:41.641Z",
"updatedAt": "2022-10-01T17:02:03.360Z",
"lastChangedAt": "2022-10-01T17:02:03.129Z",
"lastImportedAt": null
},
{
"id": 322795,
"username": "zezimas main",
"displayName": "Zezimas Main",
"type": "ironman",
"build": "main",
"country": null,
"status": "active",
"patron": false,
"exp": 164428785,
"ehp": 800.36287,
"ehb": 258.43421,
"ttm": 963.15034,
"tt200m": 21652.44844,
"registeredAt": "2021-07-30T20:36:49.447Z",
"updatedAt": "2022-09-22T17:47:38.096Z",
"lastChangedAt": "2022-09-22T17:47:37.411Z",
"lastImportedAt": "2022-09-22T17:47:38.096Z"
}
]

Update a Player​

POST/players/:username

Tracks or updates a player. Returns a PlayerDetails object on success, which includes their latest snapshot.

Request Params

FieldTypeRequiredDescription
usernamestringtrueThe player's username.

Example Request

curl -X POST https://api.wiseoldman.net/v2/players/zezima \
-H "Content-Type: application/json"

Example Response

{
"id": 1135,
"username": "zezima",
"displayName": "Zezima",
"type": "regular",
"build": "main",
"country": null,
"status": "active",
"patron": false,
"exp": 27957906,
"ehp": 118.1123000000007,
"ehb": 0,
"ttm": 891.24136,
"tt200m": 13406.30792,
"registeredAt": "2020-04-22T18:54:52.487Z",
"updatedAt": "2022-10-27T11:44:11.564Z",
"lastChangedAt": "2021-04-17T15:57:49.039Z",
"lastImportedAt": "2022-10-23T18:24:22.792Z",
"combatLevel": 93,
"archive": null,
"latestSnapshot": {
"id": 68052294,
"playerId": 1135,
"createdAt": "2022-10-27T11:44:11.057Z",
"importedAt": null,
"data": {
"skills": {
"overall": {
"metric": "overall",
"experience": 27957906,
"rank": 948821,
"level": 1422,
"ehp": 118.1123000000007
}
// ... etc for all skills
},
"bosses": {
"abyssal_sire": {
"metric": "abyssal_sire",
"kills": -1,
"rank": -1,
"ehb": 0
}
// ... etc for all bosses
},
"activities": {
"bounty_hunter_hunter": {
"metric": "bounty_hunter_hunter",
"score": -1,
"rank": -1
}
// ... etc for all activities
},
"computed": {
"ehp": {
"metric": "ehp",
"value": 118.1123000000007,
"rank": 289382
}
// ... etc for all computed metrics
}
}
}
}

Assert Player Type​

POST/players/:username/assert-type

Asserts (and attempts to fix, if necessary) a player's game-mode type. Returns the updated Player and an indication of whether the type was changed.

Request Params

FieldTypeRequiredDescription
usernamestringtrueThe player's username.

Example Request

curl -X POST https://api.wiseoldman.net/v2/players/zezima/assert-type \
-H "Content-Type: application/json"

Example Response

{
"player": {
"id": 1135,
"username": "zezima",
"displayName": "Zezima",
"type": "regular",
"build": "main",
"country": null,
"status": "active",
"patron": false,
"exp": 27957906,
"ehp": 118.1123000000007,
"ehb": 0,
"ttm": 891.24136,
"tt200m": 13406.30792,
"registeredAt": "2020-04-22T18:54:52.487Z",
"updatedAt": "2022-10-27T11:44:11.564Z",
"lastChangedAt": "2021-04-17T15:57:49.039Z",
"lastImportedAt": "2022-10-23T18:24:22.792Z"
},
"changed": false
}

Get Player Details​

GET/players/:username

Fetches a player's details. Returns a PlayerDetails object.

Request Params

FieldTypeRequiredDescription
usernamestringtrueThe player's username.

Example Request

curl -X GET https://api.wiseoldman.net/v2/players/zezima \
-H "Content-Type: application/json"

Example Response

{
"id": 1135,
"username": "zezima",
"displayName": "Zezima",
"type": "regular",
"build": "main",
"country": null,
"status": "active",
"patron": false,
"exp": 27957906,
"ehp": 118.1123000000007,
"ehb": 0,
"ttm": 891.24136,
"tt200m": 13406.30792,
"registeredAt": "2020-04-22T18:54:52.487Z",
"updatedAt": "2022-10-27T11:44:11.564Z",
"lastChangedAt": "2021-04-17T15:57:49.039Z",
"lastImportedAt": "2022-10-23T18:24:22.792Z",
"combatLevel": 93,
"archive": null,
"latestSnapshot": {
"id": 68052294,
"playerId": 1135,
"createdAt": "2022-10-27T11:44:11.057Z",
"importedAt": null,
"data": {
"skills": {
"overall": {
"metric": "overall",
"experience": 27957906,
"rank": 948821,
"level": 1422,
"ehp": 118.1123000000007
}
// ... etc for all skills
},
"bosses": {
"abyssal_sire": {
"metric": "abyssal_sire",
"kills": -1,
"rank": -1,
"ehb": 0
}
// ... etc for all bosses
},
"activities": {
"bounty_hunter_hunter": {
"metric": "bounty_hunter_hunter",
"score": -1,
"rank": -1
}
// ... etc for all activities
},
"computed": {
"ehp": {
"metric": "ehp",
"value": 118.1123000000007,
"rank": 289382
}
// ... etc for all computed metrics
}
}
}
}

Get Player Details (by ID)​

GET/players/id/:id

Fetches a player's details by their ID. Returns a PlayerDetails object.

Request Params

FieldTypeRequiredDescription
idnumbertrueThe player's ID.

Example Request

curl -X GET https://api.wiseoldman.net/v2/players/id/123 \
-H "Content-Type: application/json"

Example Response

{
"id": 123,
"username": "zezima",
"displayName": "Zezima",
"type": "regular",
"build": "main",
"country": null,
"status": "active",
"patron": false,
"exp": 27957906,
"ehp": 118.1123000000007,
"ehb": 0,
"ttm": 891.24136,
"tt200m": 13406.30792,
"registeredAt": "2020-04-22T18:54:52.487Z",
"updatedAt": "2022-10-27T11:44:11.564Z",
"lastChangedAt": "2021-04-17T15:57:49.039Z",
"lastImportedAt": "2022-10-23T18:24:22.792Z",
"combatLevel": 93,
"archive": null,
"latestSnapshot": {
"id": 68052294,
"playerId": 1135,
"createdAt": "2022-10-27T11:44:11.057Z",
"importedAt": null,
"data": {
"skills": {
"overall": {
"metric": "overall",
"experience": 27957906,
"rank": 948821,
"level": 1422,
"ehp": 118.1123000000007
}
// ... etc for all skills
},
"bosses": {
"abyssal_sire": {
"metric": "abyssal_sire",
"kills": -1,
"rank": -1,
"ehb": 0
}
// ... etc for all bosses
},
"activities": {
"bounty_hunter_hunter": {
"metric": "bounty_hunter_hunter",
"score": -1,
"rank": -1
}
// ... etc for all activities
},
"computed": {
"ehp": {
"metric": "ehp",
"value": 118.1123000000007,
"rank": 289382
}
// ... etc for all computed metrics
}
}
}
}

Get Player Achievements​

GET/players/:username/achievements

Fetches a player's current achievements. Returns an array of Achievement objects.

Request Params

FieldTypeRequiredDescription
usernamestringtrueThe player's username.

Example Request

curl -X GET https://api.wiseoldman.net/v2/players/zezima/achievements \
-H "Content-Type: application/json"

Example Response

[
{
"playerId": 1135,
"name": "500 Wintertodt kills",
"metric": "wintertodt",
"threshold": 500,
"createdAt": "2021-04-17T15:57:49.146Z",
"accuracy": 195764,
"measure": "kills"
},
{
"playerId": 1135,
"name": "99 Firemaking",
"metric": "firemaking",
"threshold": 13034431,
"createdAt": "2018-08-16T23:23:10.000Z",
"accuracy": 938687,
"measure": "experience"
}
]

Get Player Achievement Progress​

GET/players/:username/achievements/progress

Fetches a player's current progress towards every possible achievement. Returns an array of AchievementProgress objects.

Request Params

FieldTypeRequiredDescription
usernamestringtrueThe player's username.

Example Request

curl -X GET https://api.wiseoldman.net/v2/players/zezima/achievements/progress \
-H "Content-Type: application/json"

Example Response

[
{
"name": "99 Agility",
"metric": "agility",
"measure": "experience",
"threshold": 13034431,
"playerId": 1135,
"currentValue": 738591,
"absoluteProgress": 0.0567,
"relativeProgress": 0.0567,
"createdAt": null,
"accuracy": -1
},
{
"name": "50m Agility",
"metric": "agility",
"measure": "experience",
"threshold": 50000000,
"playerId": 1135,
"currentValue": 738591,
"absoluteProgress": 0.0148,
"relativeProgress": 0,
"createdAt": null,
"accuracy": -1
},
{
"name": "100m Agility",
"metric": "agility",
"measure": "experience",
"threshold": 100000000,
"playerId": 1135,
"currentValue": 738591,
"absoluteProgress": 0.0074,
"relativeProgress": 0,
"createdAt": null,
"accuracy": -1
},
{
"name": "200m Agility",
"metric": "agility",
"measure": "experience",
"threshold": 200000000,
"playerId": 1135,
"currentValue": 738591,
"absoluteProgress": 0.0037,
"relativeProgress": 0,
"createdAt": null,
"accuracy": -1
}
]

Get Player Competition Participations​

GET/players/:username/competitions

Fetches all of the player's competition participations. Returns an array of PlayerParticipation objects.

Request Params

FieldTypeRequiredDescription
usernamestringtrueThe player's username.

Query Params

FieldTypeRequiredDescription
statusCompetitionStatusfalseThe competition status filter.
limitintegerfalseThe pagination limit. See Pagination
offsetintegerfalseThe pagination offset. See Pagination

Example Request

curl -X GET https://api.wiseoldman.net/v2/players/zezima/competitions \
-H "Content-Type: application/json"

Example Response

[
{
"playerId": 139108,
"competitionId": 16406,
"teamName": null,
"createdAt": "2022-10-19T20:10:14.609Z",
"updatedAt": "2022-10-24T00:19:46.865Z",
"competition": {
"id": 16406,
"title": "DCC KOS Smithing",
"metric": "smithing",
"type": "classic",
"startsAt": "2022-10-24T00:00:00.000Z",
"endsAt": "2022-10-31T00:00:00.000Z",
"groupId": 603,
"score": 448,
"createdAt": "2022-10-19T20:10:14.609Z",
"updatedAt": "2022-10-28T04:28:26.094Z",
"group": {
"id": 603,
"name": "DemocraCC",
"clanChat": "Democracc",
"description": "A social clan chat.",
"homeworld": 524,
"verified": true,
"patron": false,
"profileImage": null,
"bannerImage": null,
"score": 470,
"createdAt": "2021-01-16T17:52:13.417Z",
"updatedAt": "2022-10-27T04:43:44.694Z",
"memberCount": 131
},
"participantCount": 131
}
},
{
"playerId": 139108,
"competitionId": 16405,
"teamName": null,
"createdAt": "2022-10-19T20:07:46.767Z",
"updatedAt": "2022-10-24T00:19:46.865Z",
"competition": {
"id": 16405,
"title": "DCC Smithing",
"metric": "smithing",
"type": "classic",
"startsAt": "2022-10-24T00:00:00.000Z",
"endsAt": "2022-10-31T01:00:00.000Z",
"groupId": 603,
"score": 448,
"createdAt": "2022-10-19T20:07:46.767Z",
"updatedAt": "2022-10-28T04:18:39.033Z",
"group": {
"id": 603,
"name": "DemocraCC",
"clanChat": "Democracc",
"description": "A social clan chat.",
"homeworld": 524,
"verified": true,
"patron": false,
"profileImage": null,
"bannerImage": null,
"score": 470,
"createdAt": "2021-01-16T17:52:13.417Z",
"updatedAt": "2022-10-27T04:43:44.694Z",
"memberCount": 131
},
"participantCount": 131
}
}
]

Get Player Competition Standings​

GET/players/:username/competitions/standings

Fetches all of the player's competition standings. Returns an array of PlayerCompetitionStanding objects.

Request Params

FieldTypeRequiredDescription
usernamestringtrueThe player's username.

Query Params

FieldTypeRequiredDescription
statusCompetitionStatustrueThe competition status filter.

Example Request

curl -X GET https://api.wiseoldman.net/v2/players/zezima/competitions/standings?status=ongoing \
-H "Content-Type: application/json"

Example Response

[
{
"playerId": 36994,
"competitionId": 16583,
"teamName": null,
"createdAt": "2022-10-24T14:16:37.339Z",
"updatedAt": "2022-10-28T09:53:31.638Z",
"progress": {
"gained": 4332129,
"start": 2097664,
"end": 6429793
},
"levels": {
"gained": 11,
"start": 80,
"end": 91
},
"rank": 1,
"competition": {
"id": 16583,
"title": "Skill of the Week #60: Thieving",
"metric": "thieving",
"type": "classic",
"startsAt": "2022-10-24T22:00:00.000Z",
"endsAt": "2022-10-30T22:00:00.000Z",
"groupId": 1088,
"score": 626,
"createdAt": "2022-10-24T14:16:37.339Z",
"updatedAt": "2022-10-26T20:20:05.150Z",
"group": {
"id": 1088,
"name": "Wild",
"clanChat": "Wild",
"description": "Clan Wild, Created from the community of The Wilderness Podcast",
"homeworld": 386,
"verified": true,
"patron": false,
"profileImage": null,
"bannerImage": null,
"score": 440,
"createdAt": "2021-05-04T13:03:02.851Z",
"updatedAt": "2022-10-25T15:46:55.761Z",
"memberCount": 729
},
"participantCount": 729
}
}
]

Get Player Group Memberships​

GET/players/:username/groups

Fetches all of the player's group memberships. Returns an array of PlayerMembership objects.

Request Params

FieldTypeRequiredDescription
usernamestringtrueThe player's username.

Query Params

FieldTypeRequiredDescription
limitintegerfalseThe pagination limit. See Pagination
offsetintegerfalseThe pagination offset. See Pagination

Example Request

curl -X GET https://api.wiseoldman.net/v2/players/zezima/groups \
-H "Content-Type: application/json"

Example Response

[
{
"playerId": 4156,
"groupId": 139,
"role": "member",
"createdAt": "2022-08-21T20:42:18.541Z",
"updatedAt": "2022-08-21T20:42:18.541Z",
"group": {
"id": 139,
"name": "Exclusive Elite Club",
"clanChat": "Psikoi",
"description": "test",
"homeworld": null,
"verified": true,
"patron": false,
"profileImage": null,
"bannerImage": null,
"score": 330,
"createdAt": "2020-07-05T15:25:54.055Z",
"updatedAt": "2022-10-24T00:03:02.781Z",
"memberCount": 10
}
},
{
"playerId": 4156,
"groupId": 846,
"role": "member",
"createdAt": "2021-03-18T01:14:05.993Z",
"updatedAt": "2021-03-18T01:14:05.993Z",
"group": {
"id": 846,
"name": "alrighty",
"clanChat": "Legacy 07",
"description": "yes",
"homeworld": 313,
"verified": false,
"patron": false,
"profileImage": null,
"bannerImage": null,
"score": 260,
"createdAt": "2021-03-18T01:14:05.629Z",
"updatedAt": "2022-10-24T12:01:49.620Z",
"memberCount": 193
}
}
]

Get Player Gains​

GET/players/:username/gained

Fetches all of the player's for a specific period or time range. Returns a PlayerGains object.

Request Params

FieldTypeRequiredDescription
usernamestringtrueThe player's username.

Query Params

FieldTypeRequiredDescription
periodPeriodfalseThe duration of the gains' time range.
startDatedatefalseThe start date of the gains' time range.
endDatedatefalseThe end date of the gains' time range.
info

This endpoint accepts either period or startDate + endDate.


Example Request

curl -X GET https://api.wiseoldman.net/v2/players/zezima/gained?period=week \
-H "Content-Type: application/json"

Example Response

{
"startsAt": "2022-10-21T16:06:00.993Z",
"endsAt": "2022-10-24T00:19:46.350Z",
"data": {
"skills": {
"overall": {
"metric": "overall",
"experience": {
"gained": 90867,
"start": 131790911,
"end": 131881778
},
"ehp": {
"gained": 0.04787,
"start": 251.14464000000044,
"end": 251.19251000000077
},
"rank": {
"gained": 478,
"start": 308702,
"end": 309180
},
"level": {
"gained": 0,
"start": 1902,
"end": 1902
}
}
// ... etc for all skills
},
"bosses": {
"abyssal_sire": {
"metric": "abyssal_sire",
"ehb": {
"gained": 0,
"start": 0,
"end": 0
},
"rank": {
"gained": -1,
"start": -1,
"end": -1
},
"kills": {
"gained": 0,
"start": -1,
"end": -1
}
}
// ... etc for all bosses
},
"activities": {
"bounty_hunter_hunter": {
"metric": "bounty_hunter_hunter",
"rank": {
"gained": -1,
"start": -1,
"end": -1
},
"score": {
"gained": 0,
"start": -1,
"end": -1
}
}
// ... etc for all activities
},
"computed": {
"ehp": {
"metric": "ehp",
"value": {
"gained": 0.04787,
"start": 251.14464000000044,
"end": 251.19251000000077
},
"rank": {
"gained": 386,
"start": 171375,
"end": 171761
}
}
// ... etc for all computed metrics
}
}
}

Get Player Records​

GET/players/:username/records

Fetches all of the player's records. Returns an array of Record objects.

Request Params

FieldTypeRequiredDescription
usernamestringtrueThe player's username.

Query Params

FieldTypeRequiredDescription
periodPeriodfalseThe record's time period.
metricMetricfalseThe record's metric.

Example Request

curl -X GET https://api.wiseoldman.net/v2/players/zezima/records?metric=agility \
-H "Content-Type: application/json"

Example Response

[
{
"id": 329155,
"playerId": 4156,
"period": "year",
"metric": "agility",
"value": 279157,
"updatedAt": "2022-08-04T23:29:36.185Z"
},
{
"id": 5514369,
"playerId": 4156,
"period": "week",
"metric": "agility",
"value": 177923,
"updatedAt": "2022-04-10T22:40:38.833Z"
},
{
"id": 5514373,
"playerId": 4156,
"period": "month",
"metric": "agility",
"value": 242841,
"updatedAt": "2022-04-10T22:40:38.828Z"
},
{
"id": 5561515,
"playerId": 4156,
"period": "day",
"metric": "agility",
"value": 124105,
"updatedAt": "2022-04-10T22:40:38.814Z"
}
]

Get Player Snapshots​

GET/players/:username/snapshots

Fetches all of the player's past snapshots. Returns an array of Snapshot objects.

Request Params

FieldTypeRequiredDescription
usernamestringtrueThe player's username.

Request Params

FieldTypeRequiredDescription
periodPeriodfalseThe period to filter the snapshots by.
startDatedatefalseThe minimum date for the snapshots.
endDatedatefalseThe maximum date for the snapshots.
limitintegerfalseThe pagination limit. See Pagination
offsetintegerfalseThe pagination offset. See Pagination
info

This endpoint accepts either period or startDate + endDate.


Example Request

curl -X GET https://api.wiseoldman.net/v2/players/zezima/snapshots?period=week \
-H "Content-Type: application/json"

Example Response

[
{
"id": 67506253,
"playerId": 2,
"createdAt": "2022-10-21T16:46:33.093Z",
"importedAt": null,
"data": {
"skills": {
"overall": {
"metric": "overall",
"experience": 300532325,
"rank": 61254,
"level": 2184
}
// ... etc for all skills
},
"bosses": {
"abyssal_sire": {
"metric": "abyssal_sire",
"kills": 1049,
"rank": 11931
}
// ... etc for all bosses
},
"activities": {
"bounty_hunter_hunter": {
"metric": "bounty_hunter_hunter",
"score": -1,
"rank": -1
}
// ... etc for all activities
},
"computed": {
"ehp": {
"metric": "ehp",
"value": 741.68649,
"rank": 40839
}
// ... etc for all computed metrics
}
}
}
]

Get Player Snapshots Timeline​

GET/players/:username/snapshots/timeline

Fetches all of the player's past snapshots (as a value/date timeseries array). Returns an array of Timeline Datapoints objects.

Request Params

FieldTypeRequiredDescription
usernamestringtrueThe player's username.

Request Params

FieldTypeRequiredDescription
metricMetrictrueThe record's metric.
periodPeriodfalseThe period to filter the snapshots by.
startDatedatefalseThe minimum date for the snapshots.
endDatedatefalseThe maximum date for the snapshots.
info

This endpoint accepts either period or startDate + endDate.


Example Request

curl -X GET https://api.wiseoldman.net/v2/players/zezima/snapshots/timeline?metric=magic&period=week \
-H "Content-Type: application/json"

Example Response

[
{
"value": 19314798,
"rank": 804785,
"date": "2023-06-15T06:45:08.867Z"
},
{
"value": 19221704,
"rank": 803572,
"date": "2023-06-14T11:13:36.000Z"
},
{
"value": 19219580,
"rank": 802829,
"date": "2023-06-13T23:58:48.000Z"
}
]

Get Player Name Changes​

GET/players/:username/names

Fetches all of the player's approved name changes. Returns an array of NameChange objects.

Request Params

FieldTypeRequiredDescription
usernamestringtrueThe player's username.

Example Request

curl -X GET https://api.wiseoldman.net/v2/players/zezima/names \
-H "Content-Type: application/json"

Example Response

[
{
"id": 126981,
"playerId": 300184,
"oldName": "KHX",
"newName": "chambou",
"status": "approved",
"reviewContext": null,
"resolvedAt": "2022-10-28T10:59:39.505Z",
"updatedAt": "2022-10-28T10:59:39.506Z",
"createdAt": "2022-10-28T10:59:17.920Z"
},
{
"id": 21521,
"playerId": 300184,
"oldName": "bezrobotny",
"newName": "KHX",
"status": "approved",
"reviewContext": null,
"resolvedAt": "2021-08-20T17:00:16.848Z",
"updatedAt": "2021-08-20T17:00:16.848Z",
"createdAt": "2021-08-20T16:59:23.284Z"
}
]

Get Player Archives​

GET/players/:username/archives

Fetches all previous archived player profiles that held this username. Returns an array of PlayerArchiveWithPlayer objects.

Request Params

FieldTypeRequiredDescription
usernamestringtrueThe player's username.

Example Request

curl -X GET https://api.wiseoldman.net/v2/players/zezima/archives \
-H "Content-Type: application/json"

Example Response

[
{
"playerId": 2,
"previousUsername": "psikoi",
"archiveUsername": "archive42392",
"restoredUsername": null,
"createdAt": "2022-02-13T16:36:44.464Z",
"restoredAt": null,
"player": {
"id": 2,
"username": "archive42392",
"displayName": "archive42392",
"type": "regular",
"build": "main",
"country": "PT",
"status": "archived",
"patron": false,
"exp": 0,
"ehp": 0,
"ehb": 0,
"ttm": 0,
"tt200m": 0,
"registeredAt": "2020-04-02T19:40:06.317Z",
"updatedAt": "2023-02-11T13:13:31.999Z",
"lastChangedAt": "2023-02-11T13:13:31.620Z",
"lastImportedAt": "2022-11-04T21:59:42.472Z"
}
}
]