You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何调用Steam Inventory API持续返回429状态码?

问题分析与解决建议

以下是导致你持续收到429状态码的可能原因及对应解决方法:

1. 缺失浏览器请求头触发反爬检测

Steam社区API会验证请求来源,默认requests.get()发送的请求未携带User-Agent等浏览器标识,会被判定为非合法请求,触发的限制并非单纯的速率限制,因此间隔多久都无法恢复。

解决方法:添加模拟浏览器的请求头,示例代码:

import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36',
    'Accept-Language': 'en-US,en;q=0.9'
}
link = "http://steamcommunity.com/inventory/STEAMID/APPID/2?l=english&count=2000"
response = requests.get(link, headers=headers)

if response.status_code == 200:
    print(response.json())
else:
    print(f"Status code: {response.status_code}, Response: {response.text}")

2. IP地址被Steam临时封禁

初始几次请求可能因无请求头、单次请求数据量过大等行为触发Steam安全机制,导致你的IP被加入临时黑名单,这类封禁的解除周期通常远长于30分钟。

解决方法:切换网络环境(如手机热点)测试,若切换后能正常请求,说明原IP被限制,需等待Steam自动解除封禁,或联系Steam支持申诉。

3. 单次请求数据量过大触发限制

你设置的count=2000属于单次请求大量数据,即使请求频率低,也可能触发Steam反爬规则,被判定为异常请求。

解决方法:拆分请求,将count参数降低至500以内,分多次获取库存数据。

4. 账户或库存权限异常

若目标STEAMID对应的账户库存设为私有,或账户存在异常状态,可能导致持续返回429(初始请求可能读取的是缓存数据)。

解决方法:手动在浏览器打开该库存链接,确认目标账户库存是否公开、账户状态是否正常。

内容的提问来源于stack exchange,提问作者frol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 22:32:19