# Twitch API

> Twitch returns channel profiles, live streams, categories, videos, and schedules as a workflow and API.

Get channel returns a channel profile, live status, and recent broadcasts from a channel name or link. List top streams and List top categories return ranked live streams and categories, with optional stream filters and a result limit. List channel videos and Get stream schedule return a channel’s videos or upcoming streams from its name or link.

- Page: https://fous.com/workflows/twitch
- Handle: `@twitch`
- Category: [Entertainment](https://fous.com/workflows/category/entertainment)
- Source website: https://twitch.tv
- Last verified: Sep 29, 2026
- Fous is not affiliated with Twitch.

## Methods

### Get channel

Operation `get_channel`, version 1. 1 credit per call.

Get a public Twitch channel’s profile, live stream status, and up to 10 recent broadcast videos. A channel with no saved broadcasts returns an empty videos list.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `streamer` | string | yes | `"kaicenat"` | The channel name, display name, or Twitch channel link, for example kaicenat, Kai Cenat, or https://www.twitch.tv/kaicenat. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "streamer"
  ],
  "properties": {
    "streamer": {
      "type": "string",
      "description": "The channel name, display name, or Twitch channel link, for example kaicenat, Kai Cenat, or https://www.twitch.tv/kaicenat.",
      "examples": [
        "kaicenat",
        "Kai Cenat",
        "https://www.twitch.tv/xqc"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "streamer": "kaicenat"
    },
    {
      "streamer": "Kai Cenat"
    },
    {
      "streamer": "https://www.twitch.tv/xqc"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `status` | string | `"Partner"` | Twitch partner or affiliate status. |
| `videos` | array |  | Up to 10 recent broadcast videos, newest first. |
| `videos[].date` | string | `"2026-09-26"` | Video publication date. |
| `videos[].link` | string | `"https://www.twitch.tv/videos/2884438305"` | Twitch video page link. |
| `videos[].title` | string | `"🇮🇸EXPLORING ICELAND🇮🇸[Exploring The Unexplored]"` | Video title. |
| `videos[].views` | integer | `2146426` | Video view count. |
| `videos[].length` | string | `"7h 9m 45s"` | Video duration as readable text. |
| `category` | string or null | `"Grand Theft Auto V"` | Current game or category, if live. |
| `language` | string or null | `"English"` | Current stream language, if live. |
| `live_now` | boolean | `false` | Whether the channel is broadcasting now. |
| `followers` | integer | `21779314` | Follower count. |
| `channel_id` | string | `"641972806"` | Twitch channel ID. |
| `started_at` | string or null | `"2026-09-28T19:30:19+00:00"` | Current stream start time as ISO 8601 with offset, if live. |
| `description` | string or null | `"THE BEST AT ABSOLUTELY EVERYTHING. THE JUICER. LEADER OF THE JUICERS."` | Channel description, if present. |
| `channel_link` | string | `"https://www.twitch.tv/kaicenat"` | Twitch channel page link. |
| `display_name` | string | `"KaiCenat"` | Channel display name. |
| `stream_title` | string or null | `"🥽LIVE🥽HERE🥽LOCK IN🥽MEGA DAY🥽GTA 5🥽NOPIXEL V🥽BUT ALSO🥽CHILL REACT WITH FOOD BEFORE🥽ULTRA DAY🥽DONT LOSE OUT🥽"` | Current stream title, if live. |
| `current_viewers` | integer or null | `30995` | Current stream viewers, if live. |
| `profile_image_link` | string or null | `"https://static-cdn.jtvnw.net/jtv_user_pictures/bf6a04cf-3f44-4986-8eed-5c36bfad542b-profile_image-300x300.png"` | Channel profile image link. |

**Example input**

```json
{
  "streamer": "kaicenat"
}
```

**Example output**

```json
{
  "status": "Partner",
  "videos": [
    {
      "date": "2026-09-26",
      "link": "https://www.twitch.tv/videos/2884438305",
      "title": "🇮🇸EXPLORING ICELAND🇮🇸[Exploring The Unexplored]",
      "views": 2146426,
      "length": "7h 9m 45s"
    },
    {
      "date": "2026-09-15",
      "link": "https://www.twitch.tv/videos/2874951342",
      "title": "🎮WOLVERINE MARATHON🎮CLICK HERE🎮",
      "views": 3163856,
      "length": "14h 57m 48s"
    },
    {
      "date": "2026-09-15",
      "link": "https://www.twitch.tv/videos/2874428374",
      "title": "SHORT STREAM",
      "views": 649770,
      "length": "1h 4m 26s"
    }
  ],
  "category": null,
  "language": null,
  "live_now": false,
  "followers": 21779314,
  "channel_id": "641972806",
  "started_at": null,
  "description": null,
  "channel_link": "https://www.twitch.tv/kaicenat",
  "display_name": "KaiCenat",
  "stream_title": null,
  "current_viewers": null,
  "profile_image_link": "https://static-cdn.jtvnw.net/jtv_user_pictures/bf6a04cf-3f44-4986-8eed-5c36bfad542b-profile_image-300x300.png"
}
```

### Get stream schedule

Operation `get_stream_schedule`, version 1. 1 credit per call.

Get a channel’s public upcoming stream schedule for the next 1 to 30 days. Unspecified titles, categories, and end times are null.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `channel` | string | yes | `"lirik"` | Twitch channel name or channel link, for example lirik or https://www.twitch.tv/lirik/schedule. |
| `days_ahead` | integer | no | `30` | Number of days ahead to include, for example 14. Default 7. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "channel"
  ],
  "properties": {
    "channel": {
      "type": "string",
      "description": "Twitch channel name or channel link, for example lirik or https://www.twitch.tv/lirik/schedule.",
      "examples": [
        "lirik",
        "https://www.twitch.tv/cohhcarnage/schedule",
        "pokimane"
      ]
    },
    "days_ahead": {
      "type": "integer",
      "default": 7,
      "maximum": 30,
      "minimum": 1,
      "description": "Number of days ahead to include, for example 14. Default 7.",
      "examples": [
        30
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "channel": "lirik"
    },
    {
      "channel": "https://www.twitch.tv/cohhcarnage/schedule",
      "days_ahead": 30
    },
    {
      "channel": "pokimane"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `channel` | string | `"LIRIK"` | Channel display name. |
| `streams` | array |  | Upcoming scheduled streams in start-time order. |
| `streams[].link` | string | `"https://www.twitch.tv/lirik/schedule"` | Stream schedule page. |
| `streams[].title` | string or null |  | Scheduled stream title, if provided. |
| `streams[].end_at` | string or null |  | Stream end time in ISO 8601 with offset, if provided. |
| `streams[].category` | string or null |  | Scheduled category, if provided. |
| `streams[].start_at` | string | `"2026-09-29T16:00:00+00:00"` | Stream start time in ISO 8601 with offset. |
| `streams[].cancelled` | boolean | `false` | Whether the stream was cancelled. |
| `streams[].recurring` | boolean | `true` | Whether the scheduled slot repeats weekly. |
| `schedule_link` | string | `"https://www.twitch.tv/lirik/schedule"` | Public channel schedule page. |
| `vacation_note` | string or null |  | Scheduled vacation note, if any. |

**Example input**

```json
{
  "channel": "lirik"
}
```

**Example output**

```json
{
  "channel": "LIRIK",
  "streams": [
    {
      "link": "https://www.twitch.tv/lirik/schedule",
      "title": null,
      "end_at": null,
      "category": null,
      "start_at": "2026-09-29T16:00:00+00:00",
      "cancelled": false,
      "recurring": true
    },
    {
      "link": "https://www.twitch.tv/lirik/schedule",
      "title": null,
      "end_at": null,
      "category": null,
      "start_at": "2026-09-30T16:00:00+00:00",
      "cancelled": false,
      "recurring": true
    },
    {
      "link": "https://www.twitch.tv/lirik/schedule",
      "title": null,
      "end_at": null,
      "category": null,
      "start_at": "2026-10-02T16:00:00+00:00",
      "cancelled": false,
      "recurring": true
    }
  ],
  "schedule_link": "https://www.twitch.tv/lirik/schedule",
  "vacation_note": null
}
```

### List channel videos

Operation `list_channel_videos`, version 1. 1 credit per call.

List a Twitch channel’s public past broadcasts or highlights by date, or its top clips by views for a selected period. Returns up to 100 items; clips unavailable to anonymous viewers are not included.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `type` | string | no | `"clips"` | Which videos to list, for example highlights. |
| `channel` | string | yes | `"xQc"` | Twitch channel name or channel link, for example xQc or https://www.twitch.tv/xqc. |
| `clip_period` | string | no | `"all_time"` | Period for top clips only, for example last_week. |
| `max_results` | integer | no | `20` | Maximum number of items, for example 20. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "channel"
  ],
  "properties": {
    "type": {
      "enum": [
        "past_broadcasts",
        "highlights",
        "clips"
      ],
      "type": "string",
      "default": "past_broadcasts",
      "description": "Which videos to list, for example highlights.",
      "examples": [
        "clips",
        "highlights",
        "past_broadcasts"
      ]
    },
    "channel": {
      "type": "string",
      "description": "Twitch channel name or channel link, for example xQc or https://www.twitch.tv/xqc.",
      "examples": [
        "xQc",
        "https://www.twitch.tv/xqc"
      ]
    },
    "clip_period": {
      "enum": [
        "last_day",
        "last_week",
        "last_month",
        "all_time"
      ],
      "type": "string",
      "default": "last_week",
      "description": "Period for top clips only, for example last_week.",
      "examples": [
        "all_time",
        "last_day"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of items, for example 20.",
      "x-fous-developer": true,
      "examples": [
        20,
        100
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "channel": "xQc"
    },
    {
      "type": "clips",
      "channel": "https://www.twitch.tv/xqc",
      "clip_period": "all_time",
      "max_results": 20
    },
    {
      "type": "highlights",
      "channel": "xQc",
      "max_results": 20
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `videos` | array |  | Past broadcasts or highlights newest first; clips most viewed first. |
| `videos[].id` | string |  | Twitch video or clip ID. |
| `videos[].date` | string or null |  | Publication date. |
| `videos[].title` | string or null |  | Video or clip title. |
| `videos[].views` | integer or null |  | View count. |
| `videos[].length` | string or null |  | Duration as text. |
| `videos[].category` | string or null |  | Game or category name. |
| `videos[].video_link` | string |  | Twitch page for this video or clip. |
| `videos[].thumbnail_link` | string or null |  | Thumbnail image link. |
| `channel` | string | `"xQc"` | Channel display name. |

**Example input**

```json
{
  "type": "highlights",
  "channel": "xQc",
  "max_results": 20
}
```

**Example output**

```json
{
  "videos": [],
  "channel": "xQc"
}
```

### List top categories

Operation `list_top_categories`, version 1. 1 credit per call.

List Twitch games and categories ranked by current live viewers, with content tags, box art and category links. Viewer counts can change between requests.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `max_results` | integer | no | `5` | Maximum number of categories to return, for example 25. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "max_results": {
      "type": "integer",
      "default": 25,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of categories to return, for example 25.",
      "x-fous-developer": true,
      "examples": [
        5,
        100
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {},
    {
      "max_results": 5
    },
    {
      "max_results": 100
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `categories` | array |  | Top categories in descending viewer order. |
| `categories[].rank` | integer | `1` | Position by live viewers, highest first. |
| `categories[].tags` | array or null |  | Category content tags. |
| `categories[].category_id` | string or null | `"509658"` | Twitch category ID. |
| `categories[].category_link` | string or null | `"https://www.twitch.tv/directory/category/just-chatting"` | Twitch category page link. |
| `categories[].category_name` | string or null | `"Just Chatting"` | Name of the game or category. |
| `categories[].box_art_image_link` | string or null | `"https://static-cdn.jtvnw.net/ttv-boxart/509658-300x400.jpg"` | Box art image link. |
| `categories[].current_live_viewers` | integer or null | `230485` | People watching the category live now. |

**Example input**

```json
{}
```

**Example output**

```json
{
  "categories": [
    {
      "rank": 1,
      "tags": [
        "IRL"
      ],
      "category_id": "509658",
      "category_link": "https://www.twitch.tv/directory/category/just-chatting",
      "category_name": "Just Chatting",
      "box_art_image_link": "https://static-cdn.jtvnw.net/ttv-boxart/509658-300x400.jpg",
      "current_live_viewers": 230485
    },
    {
      "rank": 2,
      "tags": [
        "FPS",
        "Shooter",
        "Driving/Racing Game"
      ],
      "category_id": "32982",
      "category_link": "https://www.twitch.tv/directory/category/grand-theft-auto-v",
      "category_name": "Grand Theft Auto V",
      "box_art_image_link": "https://static-cdn.jtvnw.net/ttv-boxart/32982_IGDB-300x400.jpg",
      "current_live_viewers": 165212
    },
    {
      "rank": 3,
      "tags": [
        "Simulation",
        "Adventure Game",
        "Arcade"
      ],
      "category_id": "27471",
      "category_link": "https://www.twitch.tv/directory/category/minecraft",
      "category_name": "Minecraft",
      "box_art_image_link": "https://static-cdn.jtvnw.net/ttv-boxart/27471_IGDB-300x400.jpg",
      "current_live_viewers": 76068
    }
  ]
}
```

### List top streams

Operation `list_top_streams`, version 1. 1 credit per call.

Get the most-watched live Twitch streams, optionally within a category and language. All-category results are limited to 30 streams; category results allow up to 100.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `category` | string | no | `"Fortnite"` | Game or category name, such as Fortnite or Just Chatting. Leave blank for all categories. |
| `language` | string | no | `"English"` | Stream language name or two-letter code, such as English or es. Leave blank for all languages. |
| `max_results` | integer | no | `25` | Maximum number of streams, such as 25. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "default": "",
      "description": "Game or category name, such as Fortnite or Just Chatting. Leave blank for all categories.",
      "examples": [
        "Fortnite",
        "Just Chatting"
      ]
    },
    "language": {
      "type": "string",
      "default": "",
      "description": "Stream language name or two-letter code, such as English or es. Leave blank for all languages.",
      "examples": [
        "English",
        "ja"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 25,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of streams, such as 25.",
      "x-fous-developer": true,
      "examples": [
        25,
        5,
        30
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "category": "Fortnite",
      "language": "English",
      "max_results": 25
    },
    {},
    {
      "category": "Just Chatting",
      "language": "ja",
      "max_results": 5
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `streams` | array |  |  |
| `streams[].rank` | integer | `1` |  |
| `streams[].category` | string or null | `"Just Chatting"` |  |
| `streams[].language` | string or null | `"日本語"` |  |
| `streams[].started_at` | string or null | `"2026-09-28T16:10:37+00:00"` |  |
| `streams[].channel_link` | string or null | `"https://www.twitch.tv/maimaittv"` |  |
| `streams[].stream_title` | string or null | `"【Chill】Let’s Have a Chat Before Sleeping ｜まったり雑談して一緒に寝よう｜休閒聊天然後一起睡睡吧"` |  |
| `streams[].streamer_name` | string or null | `"まいまい"` |  |
| `streams[].thumbnail_link` | string or null | `"https://static-cdn.jtvnw.net/previews-ttv/live_user_maimaittv-640x360.jpg"` |  |
| `streams[].current_viewers` | integer or null | `865` |  |

**Example input**

```json
{
  "category": "Just Chatting",
  "language": "ja",
  "max_results": 5
}
```

**Example output**

```json
{
  "streams": [
    {
      "rank": 1,
      "category": "Just Chatting",
      "language": "日本語",
      "started_at": "2026-09-28T16:10:37+00:00",
      "channel_link": "https://www.twitch.tv/maimaittv",
      "stream_title": "【Chill】Let’s Have a Chat Before Sleeping ｜まったり雑談して一緒に寝よう｜休閒聊天然後一起睡睡吧",
      "streamer_name": "まいまい",
      "thumbnail_link": "https://static-cdn.jtvnw.net/previews-ttv/live_user_maimaittv-640x360.jpg",
      "current_viewers": 865
    },
    {
      "rank": 2,
      "category": "Just Chatting",
      "language": "日本語",
      "started_at": "2026-09-28T21:06:55+00:00",
      "channel_link": "https://www.twitch.tv/mofu_aki",
      "stream_title": "10時くらいまで",
      "streamer_name": "mofu_aki",
      "thumbnail_link": "https://static-cdn.jtvnw.net/previews-ttv/live_user_mofu_aki-640x360.jpg",
      "current_viewers": 71
    },
    {
      "rank": 3,
      "category": "Just Chatting",
      "language": "日本語",
      "started_at": "2026-09-28T20:41:59+00:00",
      "channel_link": "https://www.twitch.tv/luchan1003",
      "stream_title": "【顔出し】夜勤おわって喜びの舞ってわけ",
      "streamer_name": "にゅこち",
      "thumbnail_link": "https://static-cdn.jtvnw.net/previews-ttv/live_user_luchan1003-640x360.jpg",
      "current_viewers": 53
    }
  ]
}
```

## Quick start

Call the API with a Fous API key (`FOUS_API_KEY`). To create one, turn on Developer mode in Fous Studio, then open Keys & connections → API keys (https://app.fous.com/keys).

```bash
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
: "${FOUS_API_KEY:?Set FOUS_API_KEY before running this example}"

curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 120 \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@twitch",
  "visibility": "public",
  "operation": "get_channel",
  "version": 1,
  "input": {
    "streamer": "kaicenat"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
import json
import os
import urllib.error
import urllib.request

api_key = os.environ.get("FOUS_API_KEY")
if not api_key:
    raise RuntimeError("Set FOUS_API_KEY before running this example")

body = json.loads("{\n  \"api\": \"@twitch\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_channel\",\n  \"version\": 1,\n  \"input\": {\n    \"streamer\": \"kaicenat\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=120) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
// First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
const apiKey = process.env.FOUS_API_KEY;
if (!apiKey) throw new Error("Set FOUS_API_KEY before running this example");

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(120_000),
  body: JSON.stringify({
  "api": "@twitch",
  "visibility": "public",
  "operation": "get_channel",
  "version": 1,
  "input": {
    "streamer": "kaicenat"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

Or describe the data in plain language: send `{"api":"@twitch","prompt":"Describe the data you need, with every detail"}` to the same URL. Fous fills in the input, runs the method that fits and returns only the fields you asked for; `data.route.calls[].request` is the exact call it made. Routing is free; the run costs the same.

## Use cases

- Compare popular live streams by category or language.
- Track games and categories with the most live viewers.
- Review a channel’s profile, live status, and recent broadcasts.
- Find a channel’s past broadcasts, highlights, or top clips.
- Plan around a channel’s upcoming scheduled streams.

## FAQ

### Is Fous affiliated with Twitch?

No. Fous is not affiliated with Twitch. This workflow reads the public twitch.tv website and returns its data.

### How much does it cost?

Each run costs 1 credit. With pay-as-you-go, a credit costs 1¢; monthly plans cost less per credit.

### Do I need a Twitch account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from twitch.tv when you run it; repeating the same request within a day may return the saved result. Fous checks this workflow automatically; it last passed a check on Sep 29, 2026.

### Which channels are most-watched right now?

List top streams returns live streams ranked by viewers, optionally filtered by category or language.

### Which categories have the most live viewers?

List top categories returns games and categories ranked by current live viewers.

### What videos has a channel published?

List channel videos returns broadcasts, highlights, or top clips; Get channel returns up to 10 recent broadcasts.

## Related

- [Kick API](https://fous.com/workflows/kick.md): Kick provides public streamer channel information and current live stream details when available, plus the most-watched live streams now, optionally filtered by category and language.
- [YouTube API](https://fous.com/workflows/youtube.md): YouTube returns public video, caption, comment, channel and upload details, plus the latest weekly Top Songs chart; inferred dates and some counts may be approximate.
- [Spotify API](https://fous.com/workflows/spotify.md): Spotify returns public artist profiles, album credits and ordered tracks, song details and play counts, up to 500 playlist songs, keyword results, and country-based podcast charts; dates and regional options vary.
- [Microsoft Store API](https://fous.com/workflows/microsoft-store.md): Microsoft Store returns app and game listings, country-specific searches, and ranked charts; update notes, purchase prices, and exact rating counts may be unavailable.
- [TikTok API](https://fous.com/workflows/tiktok.md): TikTok returns public profiles and totals, recent pinned-first videos, and public video details and engagement; private content unavailable, and feeds may be incomplete or empty.
- [Apple Podcasts API](https://fous.com/workflows/apple-podcasts.md): Apple Podcasts returns chart listings, relevant show search results, show details with newest available episodes, and country-specific ratings and reviews; results are capped, and older or subscription episodes may be unavailable.
- [Bilibili API](https://fous.com/workflows/bilibili.md): Bilibili provides public video details and statistics, plus current overall or category rankings; movie rankings omit some video details.
- [Steam API](https://fous.com/workflows/steam.md): Steam returns game details, country-specific prices, reviews, and current and historical player counts, plus player rankings and sales lists; some details or prices may be unavailable, and review totals span languages and verdicts.
- [All Entertainment workflows](https://fous.com/workflows/category/entertainment)
