Steam 市场 API?

问题描述 投票:0回答:6

我知道有一个 Steam API 允许我使用来自 Steam 社区的数据。
我的问题是,有谁知道是否有 Steam 市场 API?
例如,我想获取 Steam 市场中某个物品的当前价格。

我已经用谷歌搜索了,但还没有找到任何东西。
我很高兴得到你的帮助。

php steam steam-web-api
6个回答
49
投票

我找不到任何文档,但我使用:

http://steamcommunity.com/market/priceoverview/?appid=730&currency=3&market_hash_name=StatTrak%E2%84%A2 M4A1-S | Hyper Beast (Minimal Wear)

返回 JSON。 在撰写本文时,它返回:

{"success":true,"lowest_price":"261,35€ ","volume":"11","median_price":"269,52€ "}

您可以更改货币。 1 是美元,3 是欧元,但可能还有其他。


23
投票

更好的搜索 api,可以为您提供游戏的所有结果,例如使用 pubg,它只有 272 个项目,如果您的游戏有更多,请尝试更改最后的计数参数

https://steamcommunity.com/market/search/render/?search_descriptions=0&sort_column=default&sort_dir=desc&appid=578080&norender=1&count=500

22
投票

使用

currency
参数,您可以更改 Steam 返回的本地货币。

&currency=1 # USD
&currency=2 # GBP
&currency=3 # EUR
&currency=4 # CHF
...

以下是货币参数的当前整数值(根据 https://partner.steamgames.com/doc/store/pricing/currencies)。

1 - 美元/美元

2 - GBP / 英镑

3 - 欧元/欧盟欧元

4 - CHF / 瑞士法郎

5 - 卢布/俄罗斯卢布

6 - PLN / 波兰兹罗提

7 - BRL / 巴西雷亚尔

8 - 日元 / 日元

9 - NOK / 挪威克朗

10 - IDR / 印尼卢比

11 - MYR / 马来西亚林吉特

12 - PHP / 菲律宾比索

13 - SGD / 新加坡元

14 - THB / 泰铢

15 - VND / 越南盾

16 - KRW / 韩元

17 - TRY / 土耳其里拉

18 - UAH / 乌克兰格里夫纳

19 - MXN / 墨西哥比索

20 - CAD / 加元

21 - AUD / 澳元

22 - NZD / 新西兰元

23 - CNY / 中国人民币(元)

24 - INR / 印度卢比

25 - CLP / 智利比索

26 - PEN / 秘鲁索尔

27 - COP / 哥伦比亚比索

28 - ZAR / 南非兰特

29 - HKD / 港币

30 - TWD / 新台币

31 - SAR / 沙特里亚尔

32 - AED / 阿联酋迪拉姆

33(已停产)- SEK / 瑞典克朗

34 - ARS / 阿根廷比索

35 - ILS / 以色列新谢克尔

36(已停产)-BYN / 白俄罗斯卢布

37 - KZT / 哈萨克斯坦坚戈

38 - KWD / 科威特第纳尔

39 - QAR / 卡塔尔里亚尔

40 - CRC / 哥斯达黎加科朗

41 - UYU / 乌拉圭比索

42(已停产)- BGN / 保加利亚列弗

43(已停产)- HRK / 克罗地亚库纳

44(已停产)-CZK / 捷克克朗

45(已停产)- DKK / 丹麦克朗

46(已停产)- HUF / 匈牙利福林

47(已停产)- RON / 罗马尼亚列伊

这是表示相同事物的 Python 字典(省略了已停止使用的值)。

{
    "USD": 1, # United States Dollar
    "GBP": 2, # United Kingdom Pound
    "EUR": 3, # European Union Euro
    "CHF": 4, # Swiss Francs
    "RUB": 5, # Russian Rouble
    "PLN": 6, # Polish Złoty
    "BRL": 7, # Brazilian Reals
    "JPY": 8, # Japanese Yen
    "NOK": 9, # Norwegian Krone
    "IDR": 10, # Indonesian Rupiah
    "MYR": 11, # Malaysian Ringgit
    "PHP": 12, # Philippine Peso
    "SGD": 13, # Singapore Dollar
    "THB": 14, # Thai Baht
    "VND": 15, # Vietnamese Dong
    "KRW": 16, # South Korean Won
    "TRY": 17, # Turkish Lira
    "UAH": 18, # Ukrainian Hryvnia
    "MXN": 19, # Mexican Peso
    "CAD": 20, # Canadian Dollars
    "AUD": 21, # Australian Dollars
    "NZD": 22, # New Zealand Dollar
    "CNY": 23, # Chinese Renminbi (yuan)
    "INR": 24, # Indian Rupee
    "CLP": 25, # Chilean Peso
    "PEN": 26, # Peruvian Sol
    "COP": 27, # Colombian Peso
    "ZAR": 28, # South African Rand
    "HKD": 29, # Hong Kong Dollar
    "TWD": 30, # New Taiwan Dollar
    "SAR": 31, # Saudi Riyal
    "AED": 32, # United Arab Emirates Dirham
    "ARS": 34, # Argentine Peso
    "ILS": 35, # Israeli New Shekel
    "KZT": 37, # Kazakhstani Tenge
    "KWD": 38, # Kuwaiti Dinar
    "QAR": 39, # Qatari Riyal
    "CRC": 40, # Costa Rican Colón
    "UYU": 41 # Uruguayan Peso
}

16
投票

补充一下其他人所说的,如果您尝试在一分钟内从服务器请求 20 个项目,就会发生 JSON 站点的临时禁令。如果您要创建脚本来请求这些链接,请在每个脚本之间添加三秒的延迟。 此外,禁令仅持续服务器端剩余的一分钟(可能不是 60 秒)。


1
投票

您可以使用SteamApis.com获取Steam市场价格和物品信息。数据以 JSON 格式返回。这项服务不是免费的,但也不是那么贵。

可在此处查看文档。 它包含有关哪些端点可用以及返回哪些数据的详细信息。


1
投票

Script-scraper 将搜索结果从 https://steamcommunity.com/market/search?q= 映射到对象数组

Array.from(document.querySelectorAll('a.market_listing_row_link')).map(item => {
  const itemInfo = item.children[0]
  return {
    isStatTrek: itemInfo.getAttribute('data-hash-name').startsWith('StatTrak™'),
    condition: itemInfo.getAttribute('data-hash-name').match(/.*\((.*)\)/)[1],
    priceUSD: Number(itemInfo.querySelector('.normal_price[data-price]').getAttribute('data-price')/100)
  }
})

可配合iframe和“武器|皮肤名称(状态)”搜索模板使用

© www.soinside.com 2019 - 2024. All rights reserved.