All Activity
- Yesterday
-
vindisel reacted to a post in a topic:
New request limits? (429 error)
- Last week
-
Nickers reacted to a post in a topic:
node-steamcommunity v3.50.3
-
I only recently switched to this option and not a single error in few days. Previous iteration also worked well with confirmations, but had some issues with inventory loading. Did last community update fixed this issue? (github people say no)
-
Nickers reacted to a post in a topic:
New request limits? (429 error)
-
Nickers reacted to a post in a topic:
New request limits? (429 error)
-
hi, did u update SteamCommunity on a new version?
-
This fix has been working for 40 hours, there have been no problems with anything. Share who has what results
-
check out this thread: https://dev.doctormckay.com/topic/5946-new-request-limits-429-error/
-
it just brute forced it. I just used "/Goal" mode in codex. it changed a bit, sent a new request, changed a bit, sent a new request, on and on an on, in a loop. for like 30 minutes.
-
😵💫 I was panicking 😅 but thanks for the clarification. This cookie new for me. I've never seen it in cookies since yesterday.
-
n1del reacted to a post in a topic:
New request limits? (429 error)
-
Nickers reacted to a post in a topic:
New request limits? (429 error)
-
Berlioz reacted to a post in a topic:
New request limits? (429 error)
-
steam using this cookies few years) dont panic
-
AceCrew joined the community
- Earlier
-
Nickers reacted to a post in a topic:
New request limits? (429 error)
-
-
Myp reacted to a post in a topic:
New request limits? (429 error)
-
This still seems to work fine for me atm. But Steam seems to go through a bit of turbulence right now, so I catch stray 500's and 400's I'm afraid it's specific Steam-related problem from recent site changes and GPT won't have that in it's training data. Did it give any guesses on why this might work? Many years of being afraid for my normal trading accounts T ^ T
-
Send correct user-agent for mobileconf requests, to avoid 429 errors (#371) Full Changelog: v3.50.2...v3.50.3 View on GitHub
-
there is always risk of getting banned with steam
-
Hey guys. I have asked gpt5.5 to fix it. (With the samples from this thread) And telling it that it needs to change the headers to prevent akamai WAF. This was the set of headers that works for 95 percent of times: const headers = { 'Sec-Fetch-Dest': 'empty', 'Sec-Fetch-Mode': 'cors', 'Sec-Fetch-Site': 'same-origin', }; Although, some endpoints needed some more tuning. (E.g. getting partner details after creating an offer) So right now, i use this to change header dynamically: I have been using this for the past 36 hours and it is working fine. Is there anything suspicious about this? Is there a ban risk? (I don't think so myself, but wanted to share it)
-
GeaRetar started following new_assetid from getExchangeDetails is undefined
-
new_assetid from getExchangeDetails is undefined
GeaRetar replied to G35's topic in node-steam-tradeoffer-manager
@Lukasz Any updates on this? -
GeaRetar joined the community
-
Impressive reacted to a post in a topic:
New request limits? (429 error)
-
Impressive joined the community
-
This option also turned out to be quite working, for me it does not even require changing the Accept-Encoding, the key is to transfer Accept and sec-fetch-user. headers: { //"User-Agent": "Mozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", //"Accept-Encoding": "gzip, deflate, br, zstd", "Accept-Language": "en-US,en;q=0.9", "sec-ch-ua": "\"Chromium\";v=\"140\", \"Not=A?Brand\";v=\"24\", \"Google Chrome\";v=\"140\"", "sec-ch-ua-mobile": "?1", "sec-ch-ua-platform": "\"Android\"", "sec-fetch-dest": "document", "sec-fetch-mode": "navigate", "sec-fetch-site": "same-origin", "sec-fetch-user": "?1", "upgrade-insecure-requests": "1" }
-
It's absolutely crazy, every time i delete one parameter, everything starts to work. What is the logic behind this? headers: { 'Accept-Encoding': 'zstd', // 🤪 },
-
thanks so much
-
jerrey changed their profile photo
-
Fix CEconItem crash when "Tradable/Marketable After" date isn't day-first by @GVRLNKMK in #370 Fix login hanging indefinitely on steam-session timeout by @lrftw in #369 Full Changelog: v3.50.1...v3.50.2 View on GitHub
-
The full fix for me was to actually replace the ancient request library with passing a more modern http client (in my case undici) as a custom request instance. After that every single steamcommunity call worked as expected, I assume that steam just updated their fingerprinting so older http clients like the on used by the library gets flagged and u get back a 429. For the custom request instance you basically just have to copy and implement the functionality that the libraries own request instance implemented but with with a bit help of LLM this is very easily done.
-
This helped me with inventory requests, thanks
-
I am able to accept confirmations on my phone within the same network and account but whenever I try accept via node-steamcommunity I get 429 error. I run 5 bots simultaniously btw but always trying 1 offer at a time with delays. Any possible solutions?
-
Error 429 appeared again, this entry fixed the situation, but idk for how long: 'Accept-Encoding': 'br, zstd'
-
Nope, I test requests one by one and still got a few errors
-
do you have 100% success rate? it's still gives me rate limit from time to time
-
Thanks for the feedback guys! This helped me with trade confirmations when testing, thanks! Nothing works for inventory requests yet. I'll take a closer look at real site requests later.
-
the workaround is to implement a wrapper with https instead of request due to problem with cookies and redirections. const SteamCommunity = require('steamcommunity'); const https = require('https'); const { URL } = require('url'); function followRedirects(url, jar, depth, callback) { if (depth > 8) return callback('Too many redirects'); const parsed = new URL(url); const cookieStr = Object.entries(jar).map(([k, v]) => k + '=' + v).join('; '); const options = { hostname: parsed.hostname, path: parsed.pathname + parsed.search, method: 'GET', headers: { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Cookie': cookieStr, 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36' } }; https.get(options, (res) => { if (res.headers['set-cookie']) { res.headers['set-cookie'].forEach(sc => { const [kv] = sc.split(';'); const [k, ...v] = kv.split('='); jar[k] = v.join('='); }); } let body = ''; res.on('data', d => body += d); res.on('end', () => { if (res.statusCode >= 300 && res.statusCode < 400 && res.headers.location) { const loc = res.headers.location.startsWith('http') ? res.headers.location : parsed.origin + res.headers.location; followRedirects(loc, jar, depth + 1, callback); } else { callback(null, body); } }); }).on('error', e => callback(e.message)); } SteamCommunity.prototype.getTradeURL = function(callback) { const url = 'https://steamcommunity.com/my/tradeoffers/privacy'; const cookieStr = this._jar._jar.getCookieStringSync(url); const jar = {}; cookieStr.split('; ').forEach(pair => { const [k, ...v] = pair.split('='); if (k) jar[k] = v.join('='); }); followRedirects(url, jar, 0, (err, body) => { if (err) return callback(new Error(err)); const match = body.match(/https?:\/\/(www\.)?steamcommunity\.com\/tradeoffer\/new\/?\?partner=\d+(&|&)token=([a-zA-Z0-9_-]+)/); if (match) callback(null, match[0], match[3]); else callback(new Error('Malformed response')); }); }; const community = new SteamCommunity(); // community.login({...}) community.getTradeURL((err, url, token) => { if (err) { console.error('getTradeURL error:', err.message); process.exit(1); } console.log('Token:', token); console.log('URL:', url); });