{
  "openapi": "3.0.1",
  "info": {
    "title": "Steam Charts Scraper: Concurrent Players & History",
    "description": "Scrape Steam Charts: top games ranked by live concurrent players with 30-day peaks and hours played, per-game stats (now playing, 24h peak, all-time peak) and monthly history back to 2012. Export CSV, Excel, JSON. No login or API key. 25 games per page.",
    "version": "0.2",
    "x-build-id": "9wj4JPYgxnZqkHYH7"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/recordsdata~steam-charts-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-recordsdata-steam-charts-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/recordsdata~steam-charts-scraper/runs": {
      "post": {
        "operationId": "runs-sync-recordsdata-steam-charts-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/recordsdata~steam-charts-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-recordsdata-steam-charts-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "includeTopGames": {
            "title": "Top games by players",
            "type": "boolean",
            "description": "Scrape the top games ranked by current concurrent players (25 per page): current players, 30-day peak and hours played.",
            "default": true
          },
          "maxTopPages": {
            "title": "Max top pages",
            "minimum": 1,
            "maximum": 400,
            "type": "integer",
            "description": "Pages of the top list to walk (25 games each, up to 400 pages = the top 10,000 games).",
            "default": 4
          },
          "minCurrentPlayers": {
            "title": "Minimum current players",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Keep only top games and gainers with at least this many players right now. The top list is sorted by players, so the scan stops at the first page that falls below the limit. 0 keeps everything.",
            "default": 0
          },
          "includeGainers": {
            "title": "24-hour gainers",
            "type": "boolean",
            "description": "Add the games trending up on steamcharts.com (the Trending block: 24-hour change in players, usually 5 games). Uses the same price per row as the top list.",
            "default": false
          },
          "storeChart": {
            "title": "Steam store chart",
            "enum": [
              "none",
              "topsellers",
              "newreleases",
              "specials",
              "comingsoon"
            ],
            "type": "string",
            "description": "Add a ranked chart from the Steam store (games only): the current best sellers, newest releases, discounted games or upcoming games for the chosen country. Each row has price, discount, release date and review score. None adds nothing.",
            "default": "none"
          },
          "region": {
            "title": "Store country",
            "enum": [
              "us",
              "gb",
              "de",
              "fr",
              "es",
              "it",
              "nl",
              "pl",
              "se",
              "no",
              "dk",
              "fi",
              "pt",
              "ru",
              "ua",
              "tr",
              "br",
              "ar",
              "mx",
              "cl",
              "co",
              "pe",
              "ca",
              "au",
              "nz",
              "jp",
              "kr",
              "tw",
              "hk",
              "sg",
              "in",
              "id",
              "th",
              "vn",
              "ph",
              "my",
              "sa",
              "ae",
              "za",
              "il",
              "cz",
              "hu",
              "ro",
              "bg"
            ],
            "type": "string",
            "description": "Country of the Steam store used for the store chart (ranking and prices differ by country). Players and history are worldwide.",
            "default": "us"
          },
          "maxChartItems": {
            "title": "Store chart size",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "How many chart positions to read from the store chart (100 per request, up to 500).",
            "default": 25
          },
          "appIds": {
            "title": "Steam App IDs (per-game stats)",
            "type": "array",
            "description": "Steam app IDs or steamcharts.com / store.steampowered.com app URLs to get per-game stats (playing now, 24h peak, all-time peak) and monthly player history, for example 730 for Counter-Strike 2 or 570 for Dota 2. Leave empty to scrape only the lists above.",
            "items": {
              "type": "string"
            }
          },
          "includeMonthlyHistory": {
            "title": "Monthly history per game",
            "type": "boolean",
            "description": "One row per month with average and peak players, back to the game's first tracked month.",
            "default": true
          },
          "maxMonthsPerGame": {
            "title": "Max months per game",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Cap on monthly rows per game (60 = last 5 years, up to 200).",
            "default": 60
          },
          "includeStoreDetails": {
            "title": "Add Steam store details",
            "type": "boolean",
            "description": "Add header image, free-to-play flag, release date, genres and short description (from the Steam store) to top games, gainers, store chart rows and per-game stats. Included in the row price. Adds about 2 seconds per game, so keep the lists short.",
            "default": false
          },
          "onlyNew": {
            "title": "Only new records",
            "type": "boolean",
            "description": "Deliver only records not seen in earlier runs: a month of history once, a game the first time it enters the top list or a store chart, a gainer or a game-stats snapshot once per day. Already seen records are skipped and not charged; a scan that keeps finding nothing new stops after about two minutes.",
            "default": false
          },
          "stateKey": {
            "title": "Monitor name",
            "type": "string",
            "description": "Optional label to keep several independent monitors, each with its own list of seen records. Leave empty for the default monitor.",
            "default": ""
          },
          "resetSeen": {
            "title": "Forget seen records",
            "type": "boolean",
            "description": "Clear the remembered records of this monitor before the run, so everything counts as new again.",
            "default": false
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum rows to deliver and charge across all record types. Free users are limited to 10 rows (preview); paid users can set up to 1,000,000. Leave empty for no cap."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}