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"
}
}
]