Skip to content

woctezuma/steamspypi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SteamSpyPI: an API for SteamSpy

PyPI status Build status Code coverage Code Quality

This repository contains Python code to download data through SteamSpy API.

Installation

The code is packaged for PyPI, so that the installation consists in running:

pip install steamspypi

Usage

Returns details for 1000 games. Data is sorted by decreasing number of owners.

A page parameter is now required for all requests, starting at page=0. You will be able to retrieve 1000 games per all request.

Moreover, the API rate is now heavily limited for all requests. You will be able to issue 1 all request per minute.

import steamspypi

data_request = dict()
data_request['request'] = 'all'
data_request['page'] = '0'

data = steamspypi.download(data_request)

Returns details for 1000 games. This time, data is cached locally for offline reuse.

In this case, page is forcibly set to 0, without any access to this parameter for the end-user.

Local cache is in data/%Y%m%d_steamspy.json, without mentioning page in the file name for backward compatibility.

import steamspypi

data = steamspypi.load()

Returns details for all of the games.

Please refer to this for-loop to accomodate recent API rate-limits.

Alternatively, if you know the exact number of pages, e.g. 44 as of March 29, 2021:

import steamspypi

data = steamspypi.download_all_pages(num_pages=44)

Returns details for a given application.

import steamspypi

data_request = dict()
data_request['request'] = 'appdetails'
data_request['appid'] = '730'

data = steamspypi.download(data_request)

Returns all games in a given genre.

import steamspypi

data_request = dict()
data_request['request'] = 'genre'
data_request['genre'] = 'Early Access'

data = steamspypi.download(data_request)

Returns all games with a given tag.

import steamspypi

data_request = dict()
data_request['request'] = 'tag'
data_request['tag'] = 'Early Access'

data = steamspypi.download(data_request)

Returns Top 100 games, with respect to the number of players in the last two weeks.

import steamspypi

data_request = dict()
data_request['request'] = 'top100in2weeks'

data = steamspypi.download(data_request)

Returns Top 100 games, with respect to the number of players since March 2009.

import steamspypi

data_request = dict()
data_request['request'] = 'top100forever'

data = steamspypi.download(data_request)

Returns Top 100 games, with respect to the estimated number of owners.

import steamspypi

data_request = dict()
data_request['request'] = 'top100owned'

data = steamspypi.download(data_request)

References