Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/weilbyte/steam_group_harvester

Gets Steam group members countries and outputs them to a JSON file
https://github.com/weilbyte/steam_group_harvester

Last synced: 10 days ago
JSON representation

Gets Steam group members countries and outputs them to a JSON file

Awesome Lists containing this project

README

        

# steam_group_harvester

steam_group_harvester gets all the members of a steam community group and outputs their usernames and countries (and their states if applicable) into a JSON file.

## Installation

### Requirements
* Node.js (and package manager)
* [Steam API](https://steamcommunity.com/dev/apikey) key
* Git

### Setup
Clone the repo
`git clone https://github.com/Weilbyte/steam_group_harvester.git`
Install dependencies
`cd steam_group_harvester`
`yarn install`
Start it for the first time to generate the `api.key` file
`yarn start`
Afterwards just paste your Steam API key into said file

## Usage
Start steam_group_harvester with `yarn start`.
Afterwards provide it the ID (*not* the groupID64) of a Steam community group.

You should see two bars appear, the top one being for collecting the member's steam IDs and the bottom one being for querying said IDs to find the usernames, countries, etc.

The speed depends on the group's size.

### Rate Limits
steam_group_harvester uses two separate Steam APIs:
* **Community XML API** Used for collecting the member IDs. You might notice the bar stopping for a bit - this is because there is a delay that is used to respect the rate limit for this API.
* **Web API** Used for querying member IDs for data. There is no strict rate-limit for this but I have added a 1s delay in-between requests in order to not strain their servers too much. With your API key up to 100k requests can be made per day, and up to 100 members are queried with each request.

## License

This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details