Skip to content

Instantly share code, notes, and snippets.

@tacyarg
Last active November 25, 2017 12:20
Show Gist options
  • Save tacyarg/c9e116f9d6c0769a54b54739f0f13e5f to your computer and use it in GitHub Desktop.
Save tacyarg/c9e116f9d6c0769a54b54739f0f13e5f to your computer and use it in GitHub Desktop.
PUBGZONE.COM API DOCUMENTATION

PUBGZONE.COM API v1.2.0

LIMITATIONS / REQUIREMENTS

The free api call limit is 100,000/day and/or 100ms/sec.

The only requirement is that you place this PUBGZone banner somewhere on your website that when clicked redirects to https://pubgzone.com.

Banner

If this banner doesn't optimally fit anywhere on your website contact us and we will prepare a custom banner for you. Additionally, if you have any sort of request for limit increase / SLA requirement, or don't want to display our banner, contact us! - api@pubgzone.com

Guidelines for Emailing Us

It's important to include the following information in your email in the respective format:

Request Reason: SLA requirement
Your Site Domain name
Your Site's (Email, Steam, Skype, or Discord)
Your Site's Server IP Address
A description of your Site

User Authentication

All user authentication is handled using our auth service. Below is how you could use hosted user authentication.

SocketIO Interface

All socket calls can be made using this format.

socket.emit('action', 'listActions', {
  // add arguments
}, function(err, data){
    // do somthing...
})

HTTP POST Interface

All socket calls can be made using this format.

request({
  method: 'post',
  uri: `https://api.pubgzone.com/listActions`,
  body: {
    // add arguments
  },
  json: true
}).then(data => {
  // do somthing
})

Commands

Public

listActions

List all api actions.

getApiToken

return the api token used for private methods.

search

returns the user's steamid based on your search term.

  • searchTerm - steamid, username, vanityURL

returns

"76561198403312375"

getUser

  • id - steam64

returns

{
  "username": "tacyarg",
  "id": "76561198403312375",
  "steam": {
    "avatar": {
      "large": "https://steamcdn-a.akamaihd.net/steamcommun...",
      "medium": "https://steamcdn-a.akamaihd.net/steamcommun...",
      "small": "https://steamcdn-a.akamaihd.net/steamcommun..."
    },
    "profile": "https://steamcommunity.com/profiles/76561198403312375",
    "steamid": "76561198403312375",
    "username": "tacyarg"
  },
  "admin": false
}

listAppids

List the available appids the system supports along with how many items we track for each.

returns

{
  "433850": 19 ,
  "440": 15438 ,
  "570": 29579 ,
  "578080": 107 ,
  "730": 9694 ,
  "753": 142681
}

listSources

List Available sources we track from and how many datapoints we hold for each.

returns

{
  "bitskins": 2651377 ,
  "opskins": 108951 ,
  "steam": 216313
}

listSalePrices

list the current sale prices for the given appid.

  • appid - optional steam appid, default: '578080'

listSteamPrices

list the current steam prices for the given appid.

  • appid - optional steam appid, default: '578080'

returns

{
  "BLACK SCHOOL UNIFORM SET (FEMALE)": 1049.8 ,
  "BLACK SCHOOL UNIFORM SET (MALE)": 186.36 ,
  "BLUE SCHOOL UNIFORM SET (FEMALE)": 530 ,
  "BLUE SCHOOL UNIFORM SET (MALE)": 179.77 ,
  "Ballistic Mask": 10.21 ,
  "Baseball cap": 0.04 ,
  "Beanie": 0.21 ,
  "Bloody Combat Pants": 0.08 ,
  ....
}

listSalePricesByName

list the current sale prices for the items requested.

  • names - array of market_hash_name items.

listSteamPricesByName

list the current steam prices for the items requested.

  • names - array of market_hash_name items.

returns

{
  "BLACK SCHOOL UNIFORM SET (FEMALE)": 1049.8,
  ....
}

getAllItemsByAppid

List all items for a specific appid including the price data in paginated format.

  • appid - optional steam appid, default: '578080'
  • page - optional page argument, default: 1, itemLimit: 500;

returns the example can be found at the bottom of this document.

getItem

List a specific item's data.

  • name - item name

returns the example can be found at the bottom of this document.

getAllItemsByNames

get the list of items provided.

  • names - array of names you wish to fetch

returns the example can be found at the bottom of this document.

fetchSteamInventory

List items in the users inventory based on appid, then also save to DB. This will merge price data from the database.

  • steamid - the user's steamid
  • appid - the appid you wish to fetch inventory for

getItemHistoricalPrices

Get the past 30 days of price updates averaged by day.

  • itemname - the name of the item.

returns

[{
  "date": 'Sat Sep 23 2017 00:00:00 GMT+00:00' ,
  "results": {
    "qty": 966 ,
    "price": 6670.2300000000805 ,
    "skin_price": 8642.440000000151,
    "volume": 420.00
  }
}, {
  ...
}]

getBackpackHistoricalPrices

Get the past 30 days of backpack snapshots averaged by day.

  • steamid - the user's steamid

returns

[{
  "date": 'Sat Sep 23 2017 00:00:00 GMT+00:00' ,
  "results": {
    "count": 966 ,
    "price": 6670.2300000000805 ,
    "skin_price": 8642.440000000151
  }
}, {
  ...
}]

Private (requires token)

getMyBackpackHistory

Get all backpack snapshots saved for your userid.

  • steamid - the user's steamid

setTradeurl

Allows you to link your steam tradeurl from: HERE

  • tradeurl - the tradeurl.
  • public - true/false

Socket IO Events

Each event has "messages" that you can parse.

  • event - This will be emitted each time a global change is made.
    • average.update - gives you the updated averages as we calculate them.
  • message - This will be emitted each time for the logged in user.
    • nothing added yet - blah.

ITEM EXAMPLE

{
  '15day_avg': {
    'price': 2.0182438408085703,
    'qty': 11712.442393380014,
    'skin_price': 2.3375465041693433,
    'volume': 6589.061425061425
  },
  '1day_avg': {
    'price': 2.0013725490196075,
    'qty': 10237.708661417322,
    'skin_price': 2.7803947368421023,
    'volume': 5115.630136986301
  },
  '30day_avg': {
    'price': 2.0744577412116536,
    'qty': 11392.75880939669,
    'skin_price': 2.419646653260567,
    'volume': 6612.255734919287
  },
  '3day_avg': {
    'price': 1.955324074074066,
    'qty': 10366.45036101083,
    'skin_price': 2.621849112426014,
    'volume': 5961.824390243903
  },
  '5day_avg': {
    'price': 1.955127610208825,
    'qty': 9700.474966770049,
    'skin_price': 2.511856630824376,
    'volume': 6102.988118811882
  },
  '7day_avg': {
    'price': 1.9331957186544346,
    'qty': 9756.603010625739,
    'skin_price': 2.427033653846155,
    'volume': 6478.235294117647
  },
  'appid': '578080',
  'crate_num': '',
  'crate_set': '',
  'created': 1508227183258,
  'date': '8/2/2017',
  'date_added': '8/2/2017',
  'discount': 28.36879432624113,
  'discount_price': -55.28496453900708,
  'game': "PLAYERUNKNOWN'S BATTLEGROUNDS",
  'id': 'GAMESCOM INVITATIONAL KEY',
  'img': 'https://steamcommunity-a.akamaihd.net/econ...',
  'key_price': 1.13,
  'link': 'https://steamcommunity.com/market/list...',
  'name': 'GAMESCOM INVITATIONAL KEY',
  'name_color': '#',
  'opLink': 'https://opskins.com/index.php?loc=sho...',
  'op_qty': 1087,
  'price': 2.02,
  'qty': 16181,
  'skin_price': 2.82,
  'source': 'steam',
  'type': 'key',
  'updated': 1509556024272,
  'volume': 5133
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment