Git Product home page Git Product logo

xpaw / steamwebapidocumentation Goto Github PK

View Code? Open in Web Editor NEW
137.0 14.0 15.0 1.26 MB

๐Ÿ“ƒ An automatically generated list of Steam Web API interfaces, methods and parameters. Allows you to craft requests in the browser.

Home Page: https://steamapi.xpaw.me

License: MIT License

JavaScript 2.91% HTML 3.29% PHP 26.61% Shell 0.35% CSS 8.35% TypeScript 27.09% Vue 31.41%
vue documentation steam steam-api hacktoberfest

steamwebapidocumentation's Introduction

Steam Web API Documentation

An automatically generated list of Steam Web API interfaces, methods and parameters. Allows you to craft requests in the browser.

If you specify the web api key, it will be stored in your browser, and will only be sent to Valve's API servers if you chose to do so.

โš  Please do not email me about questions on how to use specific APIs, I provide an automatically updated and generated list, I do not personally know how to use all of them.

api.json

api.json is the final file that is generated from various sources:

  1. Takes existing api.json file as a base, so removed methods are persisted
  2. Official list from GetSupportedAPIList
    • Using normal API key
    • Using partner API key
  3. Parsed protobufs to find service methods and tested against the API
    • Descriptions and fields are also parsed
  4. api_undocumented_methods.txt to insert undocumented and otherwise unknown APIs
  5. api_type_overrides.json to fix up types of known method parameters. Such as enforcing arrays

config.php

To run generation scripts, a config.php file needs to be created with API keys:

<?php
$PublicApiKey    = '';
$PublisherApiKey = '';

Developing locally

This requires Node.js. Run npm install to install the dependencies.

Use npm run dev command to start a local server with hot reloading.

Run npm test to check typescript.

steamwebapidocumentation's People

Contributors

aquaismissing avatar dependabot[bot] avatar github-actions[bot] avatar steamdb-tracker avatar xpaw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

steamwebapidocumentation's Issues

Steam Store API

Why did you choose to not document this?
It may not follow the structure of the other listed API, but it would be handy to have this included too.

Some examples:

Btw, what's up with the execute button not including the prefilled api key?

[Bug] wrong URL

For example:
image

Opens/executes the following page:
https://api.steampowered.com/IStoreService/GetAppList/v1/?key=XXX&include_hardware=1

I expect several other parameters with 0 as value.
Also, booleans mismatch between false/true and 0/1, but that's not really an issue.

Including API method descriptions from Steamworks Documentation pages

I recently started writing a Steamworks Web API client for Python that uses the automatically tracked and generated api.json data from this repository to dynamically create Python wrapper functions for the different supported and undocumented web API methods. I've been using the description field of each API method to dynamically create docstrings for each method automatically. This would work great, but sadly almost all of the supported web API methods do not include a description field in /ISteamApps/GetAppList/v2/. Only 5 of the methods from the supported API list endpoint include descriptions at the time of writing:

$ curl -s 'https://api.steampowered.com/ISteamWebAPIUtil/GetSupportedAPIList/v1/' | jq '.apilist.interfaces[].methods[].description | values' | wc -l
5

Most API methods do however include helpful documentation descriptions in the Steamworks Web API documentation pages. For instance the web API method /ISteamApps/GetAppList/v2/ has no description field in the machine readable JSON but has a helpful documentation page description:

Gets the complete list of public apps.

This call has no additional parameters.

This method has previous versions which are no longer officially supported. They will continue to be usable but it's highly recommended that you use the latest version.
Change history:

Version 2 - Removed the redundant "app" field.

Response:

  • applist
    • apps - The list containing the applications.
      • appid - uint32 - App ID of this application.
      • name - string - The name of this application.

Doing some quick searching on the Internet I wasn't able to find where the Steamworks Documentation pages actually source the missing API method descriptions from so that they could be easily included in this repository.

I'd be willing to write a pull request for a merge script to replace the current generate_api.php one that would quickly scrape and parse the Steamworks Documentation pages for the missing method descriptions so they could be included. With this data It would even be possible to parse the "Response" section of each API method to generate machine readable data about the structure and fields of each API method response.

Including the missing descriptions would not only be beneficial for people such as myself who are currently using data from this repository for projects, but also for the GitHub Pages site itself, as it would give more insight to what supported API methods do without having to constantly flip back and fourth between the Pages site and the Steamworks Documentation pages.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.