Skip to main content

Documentation Index

Fetch the complete documentation index at: https://rocks.docs.rive.wtf/llms.txt

Use this file to discover all available pages before exploring further.

Every API key is tied to one IP. To apply for a key, DM southctrl on Discord.
Use the endpoint path below, replace the required params, and send Authorization: Bearer YOUR_API_KEY.

Most Used Endpoints

All Apps

Browse Steam apps and games

Game Details

Get info for one game

Player Summary

Look up a Steam player

Game News

Fetch Steam news posts
Start with game details for a specific app or player summary for user data.

Get All Apps

Get a list of all apps/games on Steam.

Endpoint

GET /api/steam/apps

Query Parameters

max_results
integer
default:"100"
Max apps.
legacy
boolean
default:"false"
Legacy format.

Example Request

curl -X GET "https://rocks.rive.wtf/api/steam/apps?max_results=100&legacy=false" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "response": {
    "apps": [
      {
        "appid": 10,
        "last_modified": 1745368572,
        "name": "Counter-Strike",
        "price_change_number": 33078735
      },
      {
        "appid": 730,
        "last_modified": 1749053861,
        "name": "Counter-Strike 2",
        "price_change_number": 33389033
      }
    ],
    "have_more_results": true,
    "last_appid": 3500
  }
}

Response Fields

response
object
Container for apps data

Get Game Details

Get detailed information about a specific Steam game.

Endpoint

GET /api/steam/details

Query Parameters

appid
integer
required
Steam App ID.
cc
string
default:"US"
Country code for pricing.
l
string
default:"english"
Language for description.

Example Request

curl -X GET "https://rocks.rive.wtf/api/steam/details?appid=730&cc=US&l=english" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "success": true,
  "data": {
    "type": "game",
    "name": "Counter-Strike 2",
    "steam_appid": 730,
    "required_age": 0,
    "is_free": true,
    "detailed_description": "For over two decades, Counter-Strike has offered...",
    "short_description": "For over two decades, Counter-Strike has offered...",
    "header_image": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/730/header.jpg?t=1749053861",
    "capsule_image": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/730/capsule_231x87.jpg?t=1749053861",
    "developers": ["Valve"],
    "publishers": ["Valve"],
    "price_overview": null,
    "platforms": {
      "windows": true,
      "mac": false,
      "linux": true
    },
    "categories": [
      {
        "id": 1,
        "description": "Multi-player"
      }
    ],
    "genres": [
      {
        "id": "1",
        "description": "Action"
      }
    ],
    "screenshots": [
      {
        "id": 0,
        "path_thumbnail": "https://...",
        "path_full": "https://..."
      }
    ],
    "release_date": {
      "coming_soon": false,
      "date": "Aug 21, 2012"
    },
    "recommendations": {
      "total": 4898285
    },
    "achievements": {
      "total": 1,
      "highlighted": [
        {
          "name": "A New Beginning",
          "path": "https://..."
        }
      ]
    }
  }
}

Response Fields

success
boolean
Whether the request was successful
data
object
Detailed game information

Get Player Summary

Get summary information about a Steam player.

Endpoint

GET /api/steam/player/summaries

Query Parameters

steamids
string
required
Comma-separated list of 64-bit Steam IDs.

Example Request

curl -X GET "https://rocks.rive.wtf/api/steam/player/summaries?steamids=76561197960435530" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "response": {
    "players": [
      {
        "steamid": "76561197960435530",
        "communityvisibilitystate": 3,
        "profilestate": 1,
        "personaname": "Robin",
        "profileurl": "https://steamcommunity.com/id/robinwalker/",
        "avatar": "https://avatars.steamstatic.com/81b5478529dce13bf24b55ac42c1af7058aaf7a9.jpg",
        "avatarmedium": "https://avatars.steamstatic.com/81b5478529dce13bf24b55ac42c1af7058aaf7a9_medium.jpg",
        "avatarfull": "https://avatars.steamstatic.com/81b5478529dce13bf24b55ac42c1af7058aaf7a9_full.jpg",
        "avatarhash": "81b5478529dce13bf24b55ac42c1af7058aaf7a9",
        "personastate": 4,
        "personastateflags": 0,
        "realname": "Robin Walker",
        "timecreated": 1063407589,
        "loccountrycode": "US",
        "locstatecode": "WA",
        "loccityid": 3961,
        "primaryclanid": "103582791429521412",
        "lastlogoff": null,
        "commentpermission": null,
        "gameid": null,
        "gameextrainfo": null,
        "gameserverip": null
      }
    ]
  }
}

Response Fields

response.players
array
Array of player profile objects

Get Game News

Get news articles for a specific game.

Endpoint

GET /api/steam/news

Query Parameters

appid
integer
required
Steam App ID.
count
integer
default:"5"
Number of news items (max 20).
maxlength
integer
default:"300"
Maximum length of news content.

Example Request

curl -X GET "https://rocks.rive.wtf/api/steam/news?appid=730&count=5&maxlength=300" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "appnews": {
    "appid": 730,
    "count": 1700,
    "newsitems": [
      {
        "gid": "1823191198603765",
        "title": "Counter-Strike 2 Update",
        "url": "https://steamstore-a.akamaihd.net/news/externalpost/steam_community_announcements/1823191198603765",
        "is_external_url": true,
        "author": "jo",
        "contents": "Damage from HE grenades that explode mid-air near the ground...",
        "feedlabel": "Community Announcements",
        "date": 1769732256,
        "feedname": "steam_community_announcements",
        "feed_type": 1,
        "appid": 730,
        "tags": ["patchnotes"]
      }
    ]
  }
}

Response Fields

appnews
object
News container object
News content is truncated to the maxlength parameter. Use the url field to view the full article.
date field is a Unix timestamp. Convert it to a readable date using new Date(timestamp * 1000) in JavaScript.

Common Use Cases

Game Discovery

Browse and search Steam’s game library

Price Tracking

Monitor game prices and sales

Player Stats

Display player profiles and achievements

News Aggregation

Aggregate game updates and announcements