vk Jan 9, 2024 @ 4:38am
Steam full API
Dear community, i need your help!

I am currently creating a platform almost like csgostats.gg / leetify.com and i have been scratching my head because i can’t access api.steampowered.com, because i Get «404 error» and i can’t Get full Api on partner.steamgames.com/doc/webapi.

What could i be doing wrong here? Does the api cost money? Do i need a server? All suggestions and help is recieved as a big Thank you!

My goal is to setup a steam login, and when users login i Will showcase their stats, k/d. Matches won etc and make cool gamification if they reach goals.

Best regards,

Veton
< >
Showing 1-4 of 4 comments
Kargor Jan 9, 2024 @ 5:18am 
I don't use much of that API myself, but you're likely getting the 404 because you're using a bad URL.

static const boost::urls::url_view defaultBaseAddress("https://api.steampowered.com");
...
Query::Query(std::string_view interface, std::string_view method, unsigned int version)
: url(defaultBaseAddress)
{
url.segments().push_back(interface);
url.segments().push_back(method);
...
}

In other words, build a correct URL and you should be fine.

For myself, it seems I'm only using it one place -- I guess when I made it an actual API inside my code, I expected it to be more commonly used. Regardless, it goes through a whole lot of API stuff to create the URL
https://api.steampowered.com/ISteamDirectory/GetCMList/v1?cellid=0
which works just fine.

I've never used the other API, because I'm not a partner (and I suppose the naming isn't just for fun, so I've always tried to find stuff in other areas).
Last edited by Kargor; Jan 9, 2024 @ 5:20am
vk Jan 9, 2024 @ 6:13am 
Originally posted by Kargor:
I don't use much of that API myself, but you're likely getting the 404 because you're using a bad URL.

static const boost::urls::url_view defaultBaseAddress("https://api.steampowered.com");
...
Query::Query(std::string_view interface, std::string_view method, unsigned int version)
: url(defaultBaseAddress)
{
url.segments().push_back(interface);
url.segments().push_back(method);
...
}

In other words, build a correct URL and you should be fine.

For myself, it seems I'm only using it one place -- I guess when I made it an actual API inside my code, I expected it to be more commonly used. Regardless, it goes through a whole lot of API stuff to create the URL
https://api.steampowered.com/ISteamDirectory/GetCMList/v1?cellid=0
which works just fine.

I've never used the other API, because I'm not a partner (and I suppose the naming isn't just for fun, so I've always tried to find stuff in other areas).

Thank you so much!
What do you use it for? Are you creating something the same or?
Kargor Jan 9, 2024 @ 7:18am 
Originally posted by vk:
What do you use it for?

As I said, I don't seem to use it much at all.

The example I gave is from my code; GetCMList gives the list of potential endpoints for a Steam client to connect to -- and since I use a Steam client rather than a web client, it's basically the first thing my clients do so they know where they can connect to.

Beyond that, I may have encountered this API for trades (or inventory-reading, don't remember for sure. Pretty sure it was something along those lines); however, for the time being, I'm trying to get around without using the api-key, so I opted to go with accessing the webpages instead.

Are you creating something the same or?

Unlikely. From what I understood, you want to access data for some game; I have no need for that, and I don't even know which of my games would provide any data through Steam.

Additionally, you want to do things on behalf of other users (i.e. the OpenID interface), while I'm doing a real client login with full access to the account. It's a local client, not something that runs on a webpage :-)
vk Jan 9, 2024 @ 8:08am 
Originally posted by Kargor:
Originally posted by vk:
What do you use it for?

As I said, I don't seem to use it much at all.

The example I gave is from my code; GetCMList gives the list of potential endpoints for a Steam client to connect to -- and since I use a Steam client rather than a web client, it's basically the first thing my clients do so they know where they can connect to.

Beyond that, I may have encountered this API for trades (or inventory-reading, don't remember for sure. Pretty sure it was something along those lines); however, for the time being, I'm trying to get around without using the api-key, so I opted to go with accessing the webpages instead.

Are you creating something the same or?

Unlikely. From what I understood, you want to access data for some game; I have no need for that, and I don't even know which of my games would provide any data through Steam.

Additionally, you want to do things on behalf of other users (i.e. the OpenID interface), while I'm doing a real client login with full access to the account. It's a local client, not something that runs on a webpage :-)


Thank you. i forgot to say that the game is CS2, we already have the possibility to login with openID, but can’t find a way to get match data to use for gamification.
< >
Showing 1-4 of 4 comments
Per page: 1530 50

Date Posted: Jan 9, 2024 @ 4:38am
Posts: 4