Steam Regional Price Checker API
It enables you to pass in Steam game details and it will return its cost across multiple regions. Currency conversion is optionally included to convert each region to a unified currency to make it easier to compare. Currently the API provides results for the following regions:
Using the API
The API can be found here:
||App Pricing lookup with optional currency conversion.||1, 2|
||App Pricing lookup by full url||1|
||Extract the app id and app type from url||1|
||Currencies available for conversion||1|
||List the currency exchange rates for each region||1|
||List the most popular queries. Optional amount and sorting. Max 100 records.||1, 2|
The docs can be found here in JSON format.
Note: Game results and currency conversion is cached and is only updated on request every 12 hours at a minimum. If running your own instance, you can change it in your environment variables.
2.x.x is a complete re-write, it is 100% backwards compatible.
However, the legacy endpoints are being deprecated and if you use them you the payload will contain a warning prompting you to upgrade as soon as possible.
The requirement for an
api key has been removed and its now open to anybody to use. However, if it becomes abused, user and usage restrictions will be implemented as it is depending on third party services that we do not wish to spam.
If you want to do anything in bulk, please consider running your own instance (see below) and please ensure results are always cached.
Running Your Own Instance
- Ensure you have NodeJS installed.
- Check out the repository
- Install the node modules with
Configuring your environment
Environment vars are used to define the caching server (MongoDB), cache times (in seconds) and whether or not to use sample app and currency data which is useful for development.
SAMPLE.env file is provided. You should copy this and save it as
.env in the project root with your configuration or add them to your machine environment variables. The following options are required.
|USE_CACHE_DB||false||Do we cache results in the database|
|CACHE_TIME||43200||How long to cache for (in seconds)|
|MONGO_DB||dbname||MongoDB connection name|
|MONGO_DOMAIN||dbdomain.com||MongoDB connection domain|
|MONGO_OPTS||?retryWrites=true&w=majority||MongoDB connection options|
|MONGO_USERNAME||dbusername||MongoDB connection username|
|MONGO_PASSWORD||dbpass||MongoDB connection password|
|MONGO_COLLECTION_APPS||apps||MongoDB apps collection name|
|MONGO_COLLECTION_CURRENCIES||currencies||MongoDB currency collection name|
|USE_SAMPLE_DATA||false||Use sample data|
|CURRENCY_API_KEY||XXXXXXXXXXXXXXXXXXXX||Currency conversion service API KEY|
Running The App
Run the command
node server.js to start the server. It is usually running at http://localhost:3000 but will tell you if the port differs.
If you're doing any development on it, I recommend installing
nodemon as a global (
npm i nodemon -g) and running with
nodemon server.js instead. This will enable auto reboots on change. Also consider using the sample data where possible to keep the load off any third-party services.
Looking for a hosting partner
Currently this is a service privately hosted and I'm on the lookout for an awesome hosting service, like DigitalOcean (referral link) or Heroku, who would be willing to donate hosting to offset my personal costs and handle more traffic. NodeJS & MongoDB hosting would be required.
Remember we're using third-party services so play nice. Have fun :)