Getting Started Edit

Base URL: https://api.collectionlog.net/

/collectionlog/user/:username Edit

Get a user's collection log by their username

Parameters
username string
Username of the user the collection log belongs to (case insensitive)

Request examples:

import requests

username = 'durial321'
url = f'https://api.collectionlog.net/collectionlog/user/{username}'

response = requests.get(url).json()
print(response)
const axios = require('axios');

const username = 'durial321';
const url = `https://api.collectionlog.net/collectionlog/user/${username}`

axios.get(url)
  .then((response) => console.log(response.data))
  .catch((error) => console.error(error));
curl https://api.collectionlog.net/collectionlog/user/durial321'
{
  "collectionLogId": "35ffa464-6259-1656-9ff8-b5efe90b8944",
  "userId": "c7c92efa2-142a-454f-e4da-fcbbe743b83f",
  "collectionLog": {
    "username": "Durial321",
    "accountType": "NORMAL",
    "uniqueObtained": 767,
    "uniqueItems": 1430,
    "tabs": {
      "Bosses": {
        "Abyssal Sire": {
          "items": [
            {
              "id": 13262,
              "name": "Abyssal orphan",
              "quantity": 0,
              "obtained": false,
              "sequence": 0
            },
            ...
          ],
          "killCount": [
            {
              "name": "Abyssal Sire kills",
              "amount": 720
            }
          ]
        },
        ...
      },
      ...
    }
  }
}

/hiscores/:page Edit

Get a specific hiscores page

Parameters
page int
Hiscores page number to retrieve
Query Parameters
accountType "ALL"|"NORMAL"|"IRONMAN"|"HARDCORE_IRONMAN"|"ULTIMATE_IRONMAN"|"GROUP_IRONMAN"|"HARDCORE_GROUP_IRONMAN" (optional)
Account type filter

Request examples:

import requests

page = 1
url = f'https://api.collectionlog.net/hiscores/{page}'

# Get first page of hiscores for all account types
response = requests.get(url).json()
print(response)

# Get first page of hiscores for ironman accounts
response = requests.get(url, params={'accountType': 'IRONMAN'}).json()
print(response)
const axios = require('axios');

const page = 1;
const url = `https://api.collectionlog.net/hiscores/${page}`;

// Get first page of hiscores for all account types
axios.get(url)
  .then((response) => console.log(response.data))
  .catch((error) => console.error(error));

// Get first page of hiscores for ironman accounts
axios.get(url, {params: {accountType: 'IRONMAN'})
  .then((response) => console.log(response.data))
  .catch((error) => console.error(error))
# Get first page of hiscores for all account types
curl https://api.collectionlog.net/hiscores/1?accountType=IRONMAN
{
  hiscores: [
    {
      "username": "Durial321",
      "accountType": "NORMAL",
      "rank": 1,
      "obtained": 767,
      "total": 1430
    },
    ...
  ]
}

/hiscores/ranks/:username Edit

Get a user's account type hiscores ranks

Parameters
username string
Username of the user to retrieve hiscores ranks for (case insensitive)

Request examples:

import requests

username = 'durial321'
url = f'https://api.collectionlog.net/hiscores/ranks/{username}'

response = requests.get(url).json()
print(response)
const axios = require('axios');

const username = 'durial321';
const url = `https://api.collectionlog.net/hiscores/ranks/${username}`;

axios.get(url)
  .then((response) => console.log(response.data))
  .catch((error) => console.error(error));
curl https://api.collectionlog.net/hiscores/ranks/duria321
{
  "rank": "12749",
  "ironmanRank": null,
  "hardcoreIronmanRank": null,
  "ultimateIronmanRank": null,
  "groupIronmanRank": null,
  "hardcoreGroupIronmanRank": null,
  "normalRank": "1166"
}

/hiscores/rank/:username Edit

Get a user's hiscores rank by their username

Parameters
username string
Username of the user to retrieve hiscores rank for (case insensitive)

Request examples:

import requests

username = 'durial321'
url = f'https://api.collectionlog.net/hiscores/rank/{username}'

response = requests.get(url).json()
print(response)
const axios = require('axios');

const username = 'durial321';
const url = `https://api.collectionlog.net/hiscores/rank/${username}`;

axios.get(url)
  .then((response) => console.log(response.data))
  .catch((error) => console.error(error));
curl https://api.collectionlog.net/hiscores/rank/duria321
{
  "rank": 791
}

/items/recent/:username Edit

Get a user's 5 most recent obtained items by their username ordered by date obtained

Parameters
username string
Username of the user to retrieve items for (case insensitive)

Request examples:

import requests

username = 'durial321'
url = f'https://api.collectionlog.net/items/recent/{username}'

response = requests.get(url).json()
print(response)
const axios = require('axios');

const username = 'durial321';
const url = `https://api.collectionlog.net/items/recent/${username}`;

axios.get(url)
  .then((response) => console.log(response.data))
  .catch((error) => console.error(error));
curl https://api.collectionlog.net/items/recent/duria321
[
  {
    "id": 11998,
    "name": "Smoke battlestaff",
    "quantity": 1,
    "obtained": true,
    "obtainedAt": "2022-10-03T17:16:55.484Z"
  },
  ...
]

/items/global Edit

Get the 30 most recent items obtained by all users ordered by date obtained (limit 1 item per user)

Request examples:

import requests

url = f'https://api.collectionlog.net/items/global'

response = requests.get(url).json()
print(response)
const axios = require('axios');

const url = `https://api.collectionlog.net/items/global`;

axios.get(url)
  .then((response) => console.log(response.data))
  .catch((error) => console.error(error));
curl https://api.collectionlog.net/items/global
{
  items: [
    {
      "id": 11998,
      "name": "Smoke battlestaff",
      "quantity": 1,
      "obtained": true,
      "obtainedAt": "2022-10-03T17:16:55.484Z",
      "username": "Durial321"
    },
    ...
  ]
}

/items/user/:username Edit

Get a specific collection log page of items for a user

Parameters
username string
Username of the user to retrieve items for (case insensitive)
Query Parameters
pageName string
Name of the page to get items for

Request examples:

import requests

username = 'durial321'
pagename = 'Abyssal Sire'
url = f'https://api.collectionlog.net/items/user/{username}'

response = requests.get(url, params={'pageName': pagename}).json()
print(response)
const axios = require('axios');

const username = 'durial321';
const pagename = 'Abyssal Sire';
const url = `https://api.collectionlog.net/items/user/${username}`;

axios.get(url, {params: {pageName: pagename}})
  .then((response) => console.log(response.data))
  .catch((error) => console.error(error));
curl https://api.collectionlog.net/items/user/duria321?pageName=Abyssal%20Sire
{
  "username": "Durial321",
  "page": "Abyssal Sire",
  "itemCount": 9,
  "obtainedCount": 7,
  "items": [
    {
      "id": 13262,
      "name": "Abyssal orphan",
      "quantity": 0,
      "obtained": false,
      "sequence": 0
    },
    ...
  ],
  "killCounts": [
    {
      "name": "Abyssal Sire kills",
      "amount": 720
    }
  ]
}