# Twitch Profile Scraper (`sandaliaapps/twitch-profile-scraper`) Actor

Extract structured profile, social, video, VOD, clip, engagement, thumbnail, and live-stream information from public Twitch profile pages.

Built by **Sandalia Apps** for developers, researchers, marketers, analysts, and automation workflows that need structured Twitch profile data.

- **URL**: https://apify.com/sandaliaapps/twitch-profile-scraper.md
- **Developed by:** [Sandalia Apps](https://apify.com/sandaliaapps) (community)
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.99 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Twitch Profile Scraper

Extract structured profile, social, video, VOD, clip, engagement, thumbnail, and live-stream information from public Twitch profile pages.

Built by **Sandalia Apps** for developers, researchers, marketers, analysts, and automation workflows that need structured Twitch profile data.

### 🚀 Actor

**Apify Actor:**\
https://apify.com/sandaliaapps/twitch-profile-scraper

***

### ✨ Features

- 👤 Extract Twitch profile information
- 🔗 Extract connected social media profiles
- 👥 Extract follower/interaction statistics
- 🎥 Extract recent VODs and videos
- ✂️ Extract Twitch clips
- 📊 Extract video engagement/watch counts
- 🖼️ Extract multiple thumbnail resolutions
- ⏱️ Extract video duration
- 📅 Extract upload/publication dates
- 🔴 Detect live broadcasts
- 📡 Extract live-stream start/end information
- 🔗 Extract video and embed URLs
- 🧭 Extract breadcrumb/navigation information
- 📦 Return structured JSON data
- ⚡ Run directly through the Apify platform
- 🔄 Integrate with APIs, datasets, webhooks, and automation workflows

***

### 📥 Input

The Actor accepts Twitch profile IDs.

#### Example Input

```json
{
  "profile_ids": [
    "dondoca"
  ],
  "proxySettings": {
    "useApifyProxy": true
  }
}
```

You can replace the profile URL with any public Twitch profile you want to scrape.

#### Input Parameters

| Parameter | Type | Required | Description                  |
|---|---|---:|------------------------------|
| `profile_ids` | Array | Yes | Twitch profile IDs to scrape |

***

### 📤 Output

The Actor returns structured data based on the public structured information available on the Twitch profile page.

The output can contain:

- Profile information
- Social media links
- Follower/interaction statistics
- Breadcrumb information
- Recent videos
- VODs
- Clips
- Video metadata
- Video thumbnails
- Video engagement statistics
- Live broadcast information

***

## 👤 Profile Data

The profile information is represented through a `ProfilePage` object and its `Person` entity.

#### Example

```json
  "ProfilePage": {
    "name": "ironmouse - Twitch",
    "dateModified": "2026-09-30T13:40:20Z",
    "mainEntity": {
      "@type": "Person",
      "name": "ironmouse",
      "alternateName": "ironmouse",
      "description": "Im your cringe demon queen",
      "image": "https://static-cdn.jtvnw.net/jtv_user_pictures/c2aca19b-b318-4398-99a5-fb6a597536fd-profile_image-300x300.png",
      "url": "https://www.twitch.tv/ironmouse",
      "sameAs": [
        "http://www.youtube.com/ironmouseparty",
        "http://www.twitter.com/ironmouse",
        "http://www.patreon.com/ironmouse",
        "https://www.tiktok.com/@ironmouse",
        "https://www.youtube.com/c/IRONMOUSEVODS"
      ],
      "interactionStatistic": {
        "@type": "InteractionCounter",
        "interactionType": {
          "@type": "http://schema.org/FollowAction"
        },
        "userInteractionCount": 2550764
      }
    }
  },
```

#### Profile Fields

| Field | Description |
|---|---|
| `ProfilePage` | Structured data type |
| `name` | Twitch profile/page name |
| `dateModified` | Last modification timestamp available in the structured data |
| `mainEntity` | Main entity representing the Twitch creator |
| `mainEntity.@type` | Usually `Person` |
| `mainEntity.name` | Creator name |
| `mainEntity.alternateName` | Alternative/profile name |
| `mainEntity.description` | Public profile description |
| `mainEntity.image` | Profile image URL |
| `mainEntity.url` | Twitch profile URL |

***

## 🔗 Social Media Links

The Actor can extract social profiles associated with the Twitch creator through the `sameAs` property.

#### Example

```json
{
      "sameAs": [
        "http://www.youtube.com/ironmouseparty",
        "http://www.twitter.com/ironmouse",
        "http://www.patreon.com/ironmouse",
        "https://www.tiktok.com/@ironmouse",
        "https://www.youtube.com/c/IRONMOUSEVODS"
      ]
}
```

This can be useful for building a creator's cross-platform profile.

#### Possible Uses

- Creator discovery
- Social media intelligence
- Influencer research
- Cross-platform analysis
- Audience research
- Marketing automation
- Creator databases

***

## 👥 Follower / Interaction Statistics

The structured profile data can contain interaction statistics associated with the Twitch profile.

#### Example

```json
{
      "interactionStatistic": {
        "@type": "InteractionCounter",
        "interactionType": {
          "@type": "http://schema.org/FollowAction"
        },
        "userInteractionCount": 2550764
      }
}
```

#### Fields

| Field | Description |
|---|---|
| `interactionStatistic` | Interaction statistics associated with the profile |
| `interactionType` | Type of interaction |
| `FollowAction` | Indicates a follow-related interaction |
| `userInteractionCount` | Available follower/interaction count |

> The exact value and availability of interaction statistics depend on the public Twitch page and structured data available at the time of scraping.

***

## 🎥 Videos, VODs & Clips

Recent Twitch content can be returned through an `ItemList`.

The list can contain `VideoObject` entries representing videos, VODs, clips, and other publicly exposed Twitch video content.

#### Example

```json
  "ItemList": {
    "itemListElement": [
      {
        "@type": "VideoObject",
        "name": "!MOUSEATHON DAY 28! 50% TO IMMUNE DEFICIENCY FOUNDATION! | !glamb !youtooz !omocat !fox !cheeky !ht !starforge !tts !merch !razer",
        "url": "https://www.twitch.tv/videos/2886364213",
        "description": "Watch ironmouse stream Just Chatting on Twitch!",
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/231cf1ef43b6025cade1_ironmouse_319385374423_1790605260//thumb/thumb0-80x45.jpg",
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/231cf1ef43b6025cade1_ironmouse_319385374423_1790605260//thumb/thumb0-320x180.jpg",
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/231cf1ef43b6025cade1_ironmouse_319385374423_1790605260//thumb/thumb0-640x360.jpg"
        ],
        "uploadDate": "2026-09-28T14:21:05Z",
        "duration": "PT170247S",
        "position": 1,
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 1533252
        },
        "embedUrl": "https://player.twitch.tv?video=2886364213&autoplay=true&parent=meta.tag"
      },
      {
        "@type": "VideoObject",
        "name": "!MOUSEATHON DAY 26! 50% TO IMMUNE DEFICIENCY FOUNDATION! | !bii !youtooz !omocat !fox !cheeky !ht !starforge !tts !merch !razer",
        "url": "https://www.twitch.tv/videos/2884567629",
        "description": "Watch ironmouse stream We Were Here Forever on Twitch!",
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/6b6901b78075d304cde7_ironmouse_319360062807_1790433795//thumb/thumb0-80x45.jpg",
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/6b6901b78075d304cde7_ironmouse_319360062807_1790433795//thumb/thumb0-320x180.jpg",
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/6b6901b78075d304cde7_ironmouse_319360062807_1790433795//thumb/thumb0-640x360.jpg"
        ],
        "uploadDate": "2026-09-26T14:43:20Z",
        "duration": "PT171307S",
        "position": 2,
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 2373133
        },
        "embedUrl": "https://player.twitch.tv?video=2884567629&autoplay=true&parent=meta.tag"
      },
      {
        "@type": "VideoObject",
        "name": "#CONTROLResonant w/Monke | #ad | !CONTROL | Sponsored by Remedy Entertainment ",
        "url": "https://www.twitch.tv/videos/2882809082",
        "description": "Watch ironmouse stream Just Chatting on Twitch!",
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/6a7fd95083e4c4f02c17_ironmouse_317517837047_1790264300//thumb/thumb0-80x45.jpg",
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/6a7fd95083e4c4f02c17_ironmouse_317517837047_1790264300//thumb/thumb0-320x180.jpg",
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/6a7fd95083e4c4f02c17_ironmouse_317517837047_1790264300//thumb/thumb0-640x360.jpg"
        ],
        "uploadDate": "2026-09-24T15:38:25Z",
        "duration": "PT169400S",
        "position": 3,
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 1510532
        },
        "embedUrl": "https://player.twitch.tv?video=2882809082&autoplay=true&parent=meta.tag"
      },
      {
        "@type": "VideoObject",
        "name": "Papa reports back on LSP and how much he hates Michi",
        "url": "https://www.twitch.tv/ironmouse/clip/RepleteAdventurousKleeNotLikeThis-KOmQmkVEwfdxhtMw",
        "description": "Watch ironmouse's clip of Watch Your Plastic Duck on Twitch!",
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/4dd00e76-6f6f-49bb-a0f4-720cbc5e2f19/landscape/thumb/thumb-0000000000-86x45.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/4dd00e76-6f6f-49bb-a0f4-720cbc5e2f19/landscape/thumb/thumb-0000000000-260x147.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/4dd00e76-6f6f-49bb-a0f4-720cbc5e2f19/landscape/thumb/thumb-0000000000-480x272.jpg"
        ],
        "uploadDate": "2026-09-23T18:06:26Z",
        "duration": "PT53S",
        "position": 4,
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 1425
        },
        "embedUrl": "https://player.twitch.tv?video=827491506&autoplay=true&parent=meta.tag"
      },
      {
        "@type": "VideoObject",
        "name": "Bri'ish Filian is blind and didnt see Ironmouse",
        "url": "https://www.twitch.tv/ironmouse/clip/EsteemedRelievedMomSuperVinlin-lumrlREdFg0bfSTU",
        "description": "Watch ironmouse's clip of IRL on Twitch!",
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/ed756096-511f-41c9-9541-55308e630b28/landscape/thumb/thumb-0000000000-86x45.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/ed756096-511f-41c9-9541-55308e630b28/landscape/thumb/thumb-0000000000-260x147.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/ed756096-511f-41c9-9541-55308e630b28/landscape/thumb/thumb-0000000000-480x272.jpg"
        ],
        "uploadDate": "2026-09-22T06:25:24Z",
        "duration": "PT13S",
        "position": 5,
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 2488
        },
        "embedUrl": "https://player.twitch.tv?video=196817301&autoplay=true&parent=meta.tag"
      },
      {
        "@type": "VideoObject",
        "name": "No WAY, She's doing the thing!",
        "url": "https://www.twitch.tv/ironmouse/clip/NaiveKindButterHeyGirl-q87W8ODK_jMmCqBE",
        "description": "Watch ironmouse's clip of Just Chatting on Twitch!",
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/23858833-e5be-4848-b4c3-26e66bb3ad0a/landscape/thumb/thumb-0000000000-86x45.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/23858833-e5be-4848-b4c3-26e66bb3ad0a/landscape/thumb/thumb-0000000000-260x147.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/23858833-e5be-4848-b4c3-26e66bb3ad0a/landscape/thumb/thumb-0000000000-480x272.jpg"
        ],
        "uploadDate": "2026-09-21T07:24:56Z",
        "duration": "PT44S",
        "position": 6,
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 1591
        },
        "embedUrl": "https://player.twitch.tv?video=2834163698&autoplay=true&parent=meta.tag"
      },
      {
        "@type": "VideoObject",
        "name": "mouse Accidentally reveals too much 👀",
        "url": "https://www.twitch.tv/ironmouse/clip/PeppyAbnegateBorkTakeNRG-5bjqJYa8gLcrGRjm",
        "description": "Watch ironmouse's clip of Just Chatting on Twitch!",
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/5d9a5e78-f639-4cb4-aa55-32abc804cfd6/landscape/thumb/thumb-0000000000-86x45.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/5d9a5e78-f639-4cb4-aa55-32abc804cfd6/landscape/thumb/thumb-0000000000-260x147.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/5d9a5e78-f639-4cb4-aa55-32abc804cfd6/landscape/thumb/thumb-0000000000-480x272.jpg"
        ],
        "uploadDate": "2026-09-21T03:20:44Z",
        "duration": "PT30S",
        "position": 7,
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 6440
        },
        "embedUrl": "https://player.twitch.tv?video=3558047231&autoplay=true&parent=meta.tag"
      },
      {
        "@type": "VideoObject",
        "name": "Pipi and gang 1 (also deme car)",
        "url": "https://www.twitch.tv/ironmouse/clip/SuspiciousCheerfulGorillaDxCat-SWzWRvXGtiBziqrJ",
        "description": "Watch ironmouse's clip of IRL on Twitch!",
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/a4171edf-b436-481a-819d-2d10b2a4be1d/landscape/thumb/thumb-0000000000-86x45.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/a4171edf-b436-481a-819d-2d10b2a4be1d/landscape/thumb/thumb-0000000000-260x147.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/a4171edf-b436-481a-819d-2d10b2a4be1d/landscape/thumb/thumb-0000000000-480x272.jpg"
        ],
        "uploadDate": "2026-09-20T19:58:55Z",
        "duration": "PT16S",
        "position": 8,
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 1289
        },
        "embedUrl": "https://player.twitch.tv?video=2786611537&autoplay=true&parent=meta.tag"
      },
      {
        "@type": "VideoObject",
        "name": "IRON MOUSE IN FORTNITE‼️💖😮😮",
        "url": "https://www.twitch.tv/ironmouse/clip/AliveRelentlessOxBleedPurple-FXV92TTuDGf9uE5b",
        "description": "Watch ironmouse's clip of Fortnite on Twitch!",
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/738c565b-44bb-41c6-b0ee-f637b43ca4f9/landscape/thumb/thumb-0000000000-86x45.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/738c565b-44bb-41c6-b0ee-f637b43ca4f9/landscape/thumb/thumb-0000000000-260x147.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/738c565b-44bb-41c6-b0ee-f637b43ca4f9/landscape/thumb/thumb-0000000000-480x272.jpg"
        ],
        "uploadDate": "2026-09-19T01:40:15Z",
        "duration": "PT20S",
        "position": 9,
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 4935
        },
        "embedUrl": "https://player.twitch.tv?video=2134346459&autoplay=true&parent=meta.tag"
      },
      {
        "@type": "VideoObject",
        "name": "Kson with the camera...",
        "url": "https://www.twitch.tv/ironmouse/clip/BreakablePoisedMetalDuDudu-maYy1PRQMm0TkM59",
        "description": "Watch ironmouse's clip of IRL on Twitch!",
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/267da5ac-8d6d-464c-b9c4-60326477da3d/landscape/thumb/thumb-0000000000-86x45.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/267da5ac-8d6d-464c-b9c4-60326477da3d/landscape/thumb/thumb-0000000000-260x147.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/267da5ac-8d6d-464c-b9c4-60326477da3d/landscape/thumb/thumb-0000000000-480x272.jpg"
        ],
        "uploadDate": "2026-09-18T04:46:20Z",
        "duration": "PT39S",
        "position": 10,
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 1368
        },
        "embedUrl": "https://player.twitch.tv?video=3341399974&autoplay=true&parent=meta.tag"
      }
    ]
  }
```

***

## 📺 Video Metadata

Each `VideoObject` can contain detailed information about the Twitch content.

#### Available Fields

| Field | Description |
|---|---|
| `VideoObject` | Structured data type |
| `name` | Video/VOD/clip title |
| `url` | Twitch video URL |
| `description` | Public video description |
| `thumbnailUrl` | One or more thumbnail URLs |
| `uploadDate` | Video publication/upload timestamp |
| `position` | Position in the returned item list |
| `duration` | ISO 8601 video duration when available |
| `embedUrl` | Twitch player/embed URL |
| `interactionStatistic` | Video engagement statistics |

***

## 🖼️ Multiple Thumbnail Sizes

Twitch can expose multiple thumbnail URLs for the same video.

For example:

```json
{
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/231cf1ef43b6025cade1_ironmouse_319385374423_1790605260//thumb/thumb0-80x45.jpg",
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/231cf1ef43b6025cade1_ironmouse_319385374423_1790605260//thumb/thumb0-320x180.jpg",
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/231cf1ef43b6025cade1_ironmouse_319385374423_1790605260//thumb/thumb0-640x360.jpg"
        ]
}
```

This allows you to select an appropriate thumbnail resolution for different applications.

#### Possible Applications

- Video databases
- Content dashboards
- Search interfaces
- Creator analytics
- Social media monitoring
- Content discovery systems

***

## 📊 Video Engagement

Video objects can include `interactionStatistic` data.

#### Example

```json
{
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 1533252
        }
}
```

This provides an available watch/interaction count for the video.

#### Example Use Cases

- Compare video engagement
- Build creator analytics
- Identify highly watched content
- Monitor content performance
- Build ranking systems

***

## ⏱️ Video Duration

When available, video duration is represented using ISO 8601 duration format.

#### Example

```json
{
  "duration": "PT170247S"
}
```

Meaning:

```text
2 hours
34 minutes
15 seconds
```

This makes the data suitable for programmatic processing and analytics.

***

## 📅 Upload Dates

Video objects can include an `uploadDate`.

#### Example

```json
{
  "uploadDate": "2026-09-28T14:21:05Z"
}
```

The timestamp can be used for:

- Content timelines
- Recent-content filtering
- Historical analysis
- Publishing frequency analysis
- Automated monitoring

***

## 🔴 Live Broadcast Information

The Actor can also return structured information for a currently exposed live broadcast.

Live information is represented through a `VideoObject` containing a `BroadcastEvent`.

#### Example

```json
{
  "VideoObject": {
    "description": "!MOUSEATHON DAY 30! FINAL DAY? 50% TO IMMUNE DEFICIENCY FOUNDATION! | !glamb !youtooz !omocat !fox !cheeky !ht !starforge !tts !merch !razer",
    "embedUrl": "https://player.twitch.tv/?channel=ironmouse&player=facebook&autoplay=true&parent=meta.tag",
    "name": "ironmouse - Twitch",
    "thumbnailUrl": [
      "https://static-cdn.jtvnw.net/previews-ttv/live_user_ironmouse-80x45.jpg",
      "https://static-cdn.jtvnw.net/previews-ttv/live_user_ironmouse-320x180.jpg",
      "https://static-cdn.jtvnw.net/previews-ttv/live_user_ironmouse-640x360.jpg"
    ],
    "uploadDate": "2026-09-30T13:40:20Z",
    "publication": {
      "@type": "BroadcastEvent",
      "endDate": "2026-10-01T09:33:47Z",
      "startDate": "2026-09-30T13:40:20Z",
      "isLiveBroadcast": true
    }
  }
}
```

#### Live Broadcast Fields

| Field | Description |
|---|---|
| `publication` | Broadcast information |
| `@type` | `BroadcastEvent` |
| `startDate` | Broadcast start timestamp |
| `endDate` | Broadcast end timestamp when available |
| `isLiveBroadcast` | Indicates whether the content is identified as a live broadcast |

***

## 🧭 Breadcrumb Data

The Twitch page can also expose breadcrumb information through `BreadcrumbList`.

#### Example

```json
{
  "BreadcrumbList": {
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "name": "Home",
        "item": "https://www.twitch.tv"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "name": "ironmouse"
      }
    ]
  }
}
```

Breadcrumb information can be useful when preserving page hierarchy or building normalized datasets.

***

## 📦 Complete Output Structure

Conceptually, the returned structured data can look like:

```json
{
  "ProfilePage": {
    "name": "ironmouse - Twitch",
    "dateModified": "2026-09-30T13:40:20Z",
    "mainEntity": {
      "@type": "Person",
      "name": "ironmouse",
      "alternateName": "ironmouse",
      "description": "Im your cringe demon queen",
      "image": "https://static-cdn.jtvnw.net/jtv_user_pictures/c2aca19b-b318-4398-99a5-fb6a597536fd-profile_image-300x300.png",
      "url": "https://www.twitch.tv/ironmouse",
      "sameAs": [
        "http://www.youtube.com/ironmouseparty",
        "http://www.twitter.com/ironmouse",
        "http://www.patreon.com/ironmouse",
        "https://www.tiktok.com/@ironmouse",
        "https://www.youtube.com/c/IRONMOUSEVODS"
      ],
      "interactionStatistic": {
        "@type": "InteractionCounter",
        "interactionType": {
          "@type": "http://schema.org/FollowAction"
        },
        "userInteractionCount": 2550764
      }
    }
  },
  "BreadcrumbList": {
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "name": "Home",
        "item": "https://www.twitch.tv"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "name": "ironmouse"
      }
    ]
  },
  "ItemList": {
    "itemListElement": [
      {
        "@type": "VideoObject",
        "name": "!MOUSEATHON DAY 28! 50% TO IMMUNE DEFICIENCY FOUNDATION! | !glamb !youtooz !omocat !fox !cheeky !ht !starforge !tts !merch !razer",
        "url": "https://www.twitch.tv/videos/2886364213",
        "description": "Watch ironmouse stream Just Chatting on Twitch!",
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/231cf1ef43b6025cade1_ironmouse_319385374423_1790605260//thumb/thumb0-80x45.jpg",
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/231cf1ef43b6025cade1_ironmouse_319385374423_1790605260//thumb/thumb0-320x180.jpg",
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/231cf1ef43b6025cade1_ironmouse_319385374423_1790605260//thumb/thumb0-640x360.jpg"
        ],
        "uploadDate": "2026-09-28T14:21:05Z",
        "duration": "PT170247S",
        "position": 1,
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 1533252
        },
        "embedUrl": "https://player.twitch.tv?video=2886364213&autoplay=true&parent=meta.tag"
      },
      {
        "@type": "VideoObject",
        "name": "!MOUSEATHON DAY 26! 50% TO IMMUNE DEFICIENCY FOUNDATION! | !bii !youtooz !omocat !fox !cheeky !ht !starforge !tts !merch !razer",
        "url": "https://www.twitch.tv/videos/2884567629",
        "description": "Watch ironmouse stream We Were Here Forever on Twitch!",
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/6b6901b78075d304cde7_ironmouse_319360062807_1790433795//thumb/thumb0-80x45.jpg",
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/6b6901b78075d304cde7_ironmouse_319360062807_1790433795//thumb/thumb0-320x180.jpg",
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/6b6901b78075d304cde7_ironmouse_319360062807_1790433795//thumb/thumb0-640x360.jpg"
        ],
        "uploadDate": "2026-09-26T14:43:20Z",
        "duration": "PT171307S",
        "position": 2,
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 2373133
        },
        "embedUrl": "https://player.twitch.tv?video=2884567629&autoplay=true&parent=meta.tag"
      },
      {
        "@type": "VideoObject",
        "name": "#CONTROLResonant w/Monke | #ad | !CONTROL | Sponsored by Remedy Entertainment ",
        "url": "https://www.twitch.tv/videos/2882809082",
        "description": "Watch ironmouse stream Just Chatting on Twitch!",
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/6a7fd95083e4c4f02c17_ironmouse_317517837047_1790264300//thumb/thumb0-80x45.jpg",
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/6a7fd95083e4c4f02c17_ironmouse_317517837047_1790264300//thumb/thumb0-320x180.jpg",
          "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/6a7fd95083e4c4f02c17_ironmouse_317517837047_1790264300//thumb/thumb0-640x360.jpg"
        ],
        "uploadDate": "2026-09-24T15:38:25Z",
        "duration": "PT169400S",
        "position": 3,
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 1510532
        },
        "embedUrl": "https://player.twitch.tv?video=2882809082&autoplay=true&parent=meta.tag"
      },
      {
        "@type": "VideoObject",
        "name": "Papa reports back on LSP and how much he hates Michi",
        "url": "https://www.twitch.tv/ironmouse/clip/RepleteAdventurousKleeNotLikeThis-KOmQmkVEwfdxhtMw",
        "description": "Watch ironmouse's clip of Watch Your Plastic Duck on Twitch!",
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/4dd00e76-6f6f-49bb-a0f4-720cbc5e2f19/landscape/thumb/thumb-0000000000-86x45.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/4dd00e76-6f6f-49bb-a0f4-720cbc5e2f19/landscape/thumb/thumb-0000000000-260x147.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/4dd00e76-6f6f-49bb-a0f4-720cbc5e2f19/landscape/thumb/thumb-0000000000-480x272.jpg"
        ],
        "uploadDate": "2026-09-23T18:06:26Z",
        "duration": "PT53S",
        "position": 4,
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 1425
        },
        "embedUrl": "https://player.twitch.tv?video=827491506&autoplay=true&parent=meta.tag"
      },
      {
        "@type": "VideoObject",
        "name": "Bri'ish Filian is blind and didnt see Ironmouse",
        "url": "https://www.twitch.tv/ironmouse/clip/EsteemedRelievedMomSuperVinlin-lumrlREdFg0bfSTU",
        "description": "Watch ironmouse's clip of IRL on Twitch!",
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/ed756096-511f-41c9-9541-55308e630b28/landscape/thumb/thumb-0000000000-86x45.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/ed756096-511f-41c9-9541-55308e630b28/landscape/thumb/thumb-0000000000-260x147.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/ed756096-511f-41c9-9541-55308e630b28/landscape/thumb/thumb-0000000000-480x272.jpg"
        ],
        "uploadDate": "2026-09-22T06:25:24Z",
        "duration": "PT13S",
        "position": 5,
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 2488
        },
        "embedUrl": "https://player.twitch.tv?video=196817301&autoplay=true&parent=meta.tag"
      },
      {
        "@type": "VideoObject",
        "name": "No WAY, She's doing the thing!",
        "url": "https://www.twitch.tv/ironmouse/clip/NaiveKindButterHeyGirl-q87W8ODK_jMmCqBE",
        "description": "Watch ironmouse's clip of Just Chatting on Twitch!",
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/23858833-e5be-4848-b4c3-26e66bb3ad0a/landscape/thumb/thumb-0000000000-86x45.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/23858833-e5be-4848-b4c3-26e66bb3ad0a/landscape/thumb/thumb-0000000000-260x147.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/23858833-e5be-4848-b4c3-26e66bb3ad0a/landscape/thumb/thumb-0000000000-480x272.jpg"
        ],
        "uploadDate": "2026-09-21T07:24:56Z",
        "duration": "PT44S",
        "position": 6,
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 1591
        },
        "embedUrl": "https://player.twitch.tv?video=2834163698&autoplay=true&parent=meta.tag"
      },
      {
        "@type": "VideoObject",
        "name": "mouse Accidentally reveals too much 👀",
        "url": "https://www.twitch.tv/ironmouse/clip/PeppyAbnegateBorkTakeNRG-5bjqJYa8gLcrGRjm",
        "description": "Watch ironmouse's clip of Just Chatting on Twitch!",
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/5d9a5e78-f639-4cb4-aa55-32abc804cfd6/landscape/thumb/thumb-0000000000-86x45.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/5d9a5e78-f639-4cb4-aa55-32abc804cfd6/landscape/thumb/thumb-0000000000-260x147.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/5d9a5e78-f639-4cb4-aa55-32abc804cfd6/landscape/thumb/thumb-0000000000-480x272.jpg"
        ],
        "uploadDate": "2026-09-21T03:20:44Z",
        "duration": "PT30S",
        "position": 7,
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 6440
        },
        "embedUrl": "https://player.twitch.tv?video=3558047231&autoplay=true&parent=meta.tag"
      },
      {
        "@type": "VideoObject",
        "name": "Pipi and gang 1 (also deme car)",
        "url": "https://www.twitch.tv/ironmouse/clip/SuspiciousCheerfulGorillaDxCat-SWzWRvXGtiBziqrJ",
        "description": "Watch ironmouse's clip of IRL on Twitch!",
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/a4171edf-b436-481a-819d-2d10b2a4be1d/landscape/thumb/thumb-0000000000-86x45.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/a4171edf-b436-481a-819d-2d10b2a4be1d/landscape/thumb/thumb-0000000000-260x147.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/a4171edf-b436-481a-819d-2d10b2a4be1d/landscape/thumb/thumb-0000000000-480x272.jpg"
        ],
        "uploadDate": "2026-09-20T19:58:55Z",
        "duration": "PT16S",
        "position": 8,
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 1289
        },
        "embedUrl": "https://player.twitch.tv?video=2786611537&autoplay=true&parent=meta.tag"
      },
      {
        "@type": "VideoObject",
        "name": "IRON MOUSE IN FORTNITE‼️💖😮😮",
        "url": "https://www.twitch.tv/ironmouse/clip/AliveRelentlessOxBleedPurple-FXV92TTuDGf9uE5b",
        "description": "Watch ironmouse's clip of Fortnite on Twitch!",
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/738c565b-44bb-41c6-b0ee-f637b43ca4f9/landscape/thumb/thumb-0000000000-86x45.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/738c565b-44bb-41c6-b0ee-f637b43ca4f9/landscape/thumb/thumb-0000000000-260x147.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/738c565b-44bb-41c6-b0ee-f637b43ca4f9/landscape/thumb/thumb-0000000000-480x272.jpg"
        ],
        "uploadDate": "2026-09-19T01:40:15Z",
        "duration": "PT20S",
        "position": 9,
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 4935
        },
        "embedUrl": "https://player.twitch.tv?video=2134346459&autoplay=true&parent=meta.tag"
      },
      {
        "@type": "VideoObject",
        "name": "Kson with the camera...",
        "url": "https://www.twitch.tv/ironmouse/clip/BreakablePoisedMetalDuDudu-maYy1PRQMm0TkM59",
        "description": "Watch ironmouse's clip of IRL on Twitch!",
        "thumbnailUrl": [
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/267da5ac-8d6d-464c-b9c4-60326477da3d/landscape/thumb/thumb-0000000000-86x45.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/267da5ac-8d6d-464c-b9c4-60326477da3d/landscape/thumb/thumb-0000000000-260x147.jpg",
          "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/267da5ac-8d6d-464c-b9c4-60326477da3d/landscape/thumb/thumb-0000000000-480x272.jpg"
        ],
        "uploadDate": "2026-09-18T04:46:20Z",
        "duration": "PT39S",
        "position": 10,
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": {
            "@type": "http://schema.org/WatchAction"
          },
          "userInteractionCount": 1368
        },
        "embedUrl": "https://player.twitch.tv?video=3341399974&autoplay=true&parent=meta.tag"
      }
    ]
  },
  "VideoObject": {
    "description": "!MOUSEATHON DAY 30! FINAL DAY? 50% TO IMMUNE DEFICIENCY FOUNDATION! | !glamb !youtooz !omocat !fox !cheeky !ht !starforge !tts !merch !razer",
    "embedUrl": "https://player.twitch.tv/?channel=ironmouse&player=facebook&autoplay=true&parent=meta.tag",
    "name": "ironmouse - Twitch",
    "thumbnailUrl": [
      "https://static-cdn.jtvnw.net/previews-ttv/live_user_ironmouse-80x45.jpg",
      "https://static-cdn.jtvnw.net/previews-ttv/live_user_ironmouse-320x180.jpg",
      "https://static-cdn.jtvnw.net/previews-ttv/live_user_ironmouse-640x360.jpg"
    ],
    "uploadDate": "2026-09-30T13:40:20Z",
    "publication": {
      "@type": "BroadcastEvent",
      "endDate": "2026-10-01T09:33:47Z",
      "startDate": "2026-09-30T13:40:20Z",
      "isLiveBroadcast": true
    }
  }
}
```

***

## 🛠️ Use Cases

### 1. Creator Database

Build a structured database containing:

- Twitch creators
- Profile URLs
- Profile descriptions
- Profile images
- Social accounts
- Follower statistics
- Recent videos
- Clips
- Video engagement
- Live-stream information

***

### 2. Twitch Content Analytics

Analyze:

- Recent uploads
- VOD frequency
- Video duration
- Watch/interaction counts
- Content publishing patterns
- Popular videos
- Creator activity

***

### 3. Influencer Research

Combine Twitch profile information with social links to create cross-platform creator datasets.

For example:

```text
Twitch
  ├── Profile
  ├── Followers
  ├── Videos
  └── Clips

YouTube
  └── Channel

X / Twitter
  └── Profile

Instagram
  └── Profile
```

***

### 4. Content Monitoring

Schedule the Actor to periodically collect public profile data and detect changes such as:

- New videos
- New clips
- Updated profile information
- Changes in social links
- New live broadcasts
- Changes in interaction counts

***

### 5. Marketing & Research

The extracted data can be used for:

- Influencer discovery
- Creator research
- Audience research
- Competitive analysis
- Market research
- Content intelligence
- Media monitoring

***

### 6. Data Pipelines

The Actor can be integrated with other Apify features and external applications.

Example workflow:

```text
Twitch Profile URLs
        ↓
Twitch Profile Scraper
        ↓
Apify Dataset
        ↓
Data Processing
        ↓
Database / API / Dashboard
```

***

## ⚙️ Running the Actor

### Using Apify Console

1. Open the Actor page.
2. Enter one or more public Twitch profile IDs.
3. Start the Actor.
4. Wait for the run to finish.
5. Open the Dataset.
6. Export the results in your preferred format.

***

## 🔄 API Integration

Apify provides an API that can be used to start Actor runs and retrieve datasets.

Example API workflow:

```text
Your Application
       ↓
Apify API
       ↓
Twitch Profile Scraper
       ↓
Apify Dataset
       ↓
Your Application
```

This makes the Actor suitable for automated data pipelines and scheduled scraping workflows.

***

## 📊 Supported Export Formats

After an Actor run, Apify datasets can be exported into common formats such as:

- JSON
- CSV
- Excel
- XML
- RSS

The exact available export options are provided by the Apify platform.

***

## 🔐 Data & Privacy

This Actor is designed to collect publicly accessible information from Twitch profile pages.

It does not require access to a user's private Twitch account.

Please use the Actor responsibly and ensure that your use of collected data complies with:

- Applicable laws
- Twitch's terms and policies
- Data protection requirements
- Your organization's policies
- Applicable third-party platform terms

Do not use scraped data for unauthorized access, harassment, impersonation, or other abusive activities.

***

## ⚠️ Data Availability

The exact fields returned by the Actor depend on the public information and structured data available on the Twitch page at the time of the run.

Some fields may:

- Be missing
- Change over time
- Differ between profiles
- Depend on Twitch page structure
- Be unavailable for certain content
- Change as Twitch updates its website

Therefore, consumers of the dataset should handle optional fields gracefully.

For example:

```python
name = video.get("name")
duration = video.get("duration")
thumbnail_urls = video.get("thumbnailUrl", [])
```

***

## 🐍 Python Example

After retrieving the dataset from Apify, you can process the structured output with Python.

```python
for item in dataset_items:
    profile = item.get("mainEntity", {})

    print("Name:", profile.get("name"))
    print("Description:", profile.get("description"))
    print("Profile URL:", profile.get("url"))

    for social_url in profile.get("sameAs", []):
        print("Social:", social_url)
```

***

## 🗄️ Database Example

The extracted information can be normalized into tables such as:

```text
creators
---------
id
name
alternate_name
description
image_url
twitch_url
followers
date_modified

social_profiles
---------------
id
creator_id
platform
profile_url

videos
------
id
creator_id
name
url
description
upload_date
duration
embed_url
watch_count

video_thumbnails
----------------
id
video_id
thumbnail_url
resolution

broadcasts
----------
id
video_id
start_date
end_date
is_live_broadcast
```

This structure can be used to build a creator intelligence platform or analytics dashboard.

***

## 🚀 Automation Ideas

The Actor can be combined with scheduled Apify runs to create automated workflows.

#### Example

```text
Every 6 Hours
      ↓
Run Twitch Profile Scraper
      ↓
Collect Profile Data
      ↓
Compare With Previous Dataset
      ↓
Detect Changes
      ↓
Store Results
      ↓
Send Notification
```

Possible notifications:

- New VOD detected
- New clip detected
- Creator went live
- Follower count changed
- New social profile detected
- Profile description changed

***

## 📈 Example Analytics

Once the data is collected, you can calculate metrics such as:

```text
Videos per creator
Average video duration
Total available watch interactions
Publishing frequency
Recent content activity
Live broadcast frequency
Social platform coverage
```

***

## 🧩 Integration Possibilities

The Actor can be used as part of:

- Python applications
- PHP applications
- Laravel applications
- Node.js applications
- JavaScript automation
- Data pipelines
- ETL workflows
- Business intelligence dashboards
- AI/LLM pipelines
- CRM systems
- Marketing automation
- Research platforms

***

## 🤖 AI & LLM Use Cases

The structured output can also be supplied to AI systems for tasks such as:

- Creator profile summarization
- Content categorization
- Video title analysis
- Creator activity analysis
- Cross-platform creator research
- Automated reporting
- Content trend detection
- Creator discovery

Example pipeline:

```text
Twitch Profile
      ↓
Twitch Profile Scraper
      ↓
Structured JSON
      ↓
AI / LLM
      ↓
Creator Analysis
      ↓
Report / Dashboard
```

***

## 🏢 About Sandalia Apps

**Sandalia Apps** develops software products, automation tools, web scrapers, data extraction systems, and developer-focused applications.

Our goal is to make complex data collection and automation workflows easier to integrate into real-world applications.

***

## 🔗 Links

#### Actor

https://apify.com/sandaliaapps/twitch-profile-scraper

#### Sandalia Apps

https://sandalia.com.bd/apps

***

## 💬 Support

If you encounter an issue with the Actor or have a feature request, please use the support/contact options available on the Apify Actor page.

When reporting an issue, include:

- Twitch profile URL
- Actor run ID
- Input configuration
- Expected result
- Actual result
- Relevant error message

This information helps diagnose problems more efficiently.

***

## ⭐ Why Use Twitch Profile Scraper?

If you need structured Twitch creator information without manually parsing Twitch pages, this Actor provides a convenient way to collect publicly available profile and content metadata through an automated Apify workflow.

You can use the resulting dataset for:

```text
Creator Discovery
       +
Profile Data
       +
Social Links
       +
Videos / VODs
       +
Clips
       +
Engagement Data
       +
Live Broadcast Data
       ↓
Structured Twitch Dataset
```

***

### 🔗 More Actors by Sandalia Apps

Take your automation to the next level with our other tools:

| Actor Name                                                                                                  | Description                                                                                              |
|-------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|
| [**TikTok User Data Extractor**](https://apify.com/sandaliaapps/TikTok-User-Data-Extractor)                 | ⚡️ Extract thousands of TikTok profiles in minutes!                                                    |
| [**Onlyfan Profile Scraper**](https://apify.com/sandaliaapps/onlyfan-profile-scraper)                       | Scrapes profile data in bulk with details like name, bio, last online, engagement insights, social links |
| [**Fansly Profile Scraper**](https://apify.com/sandaliaapps/fansly-profile-scraper)                         | Scrapes Fansly profiles in bulk with all available details                                               |
| [**YouTube Video Data Extractor**](https://apify.com/sandaliaapps/youtube-video-data-extractor)             | Extract detailed and structured data from YouTube videos, channels, and playlists — no API key required. |
| [**TruthSocial Profile Data Extractor**](https://apify.com/sandaliaapps/truthsocial-profile-data-extractor) |The Truthsocial Profile Data Extractor is designed to be user-friendly and highly efficient, making it an ideal solution for businesses, researchers, and individuals looking to automate data collection.|
| [**Truth Social Post Extractor**](https://apify.com/sandaliaapps/truthsocial-post-extractor)                |Easily extract and collect data from Truth Social posts using the Truth Social Posts Extractor Apify Actor.|
| [**Mastodon Profile Scraper**](https://apify.com/sandaliaapps/mastodon-profile-scraper)                     |Mastodon Profile Scraper lets you extract rich profile data from any public Mastodon account.|
| [**Tiktok Post Data Extractor**](https://apify.com/sandaliaapps/tiktok-post-data-extractor)                 |TikTok Post Data Extractor lets you scrape detailed information from TikTok posts, including captions, hashtags, video URLs, likes, views, comments, and more — perfect for analytics, research, and trend monitoring.|

***

### 👨‍💻 Developed by Sandalia Apps

We're a team of automation engineers passionate about building smart, scalable scrapers for content platforms.\
💼 For custom solutions or support, feel free to [contact us](https://sandalia.com.bd/apps).

# Actor input Schema

## `profile_ids` (type: `array`):

Profile ids to start with

## `proxySettings` (type: `object`):

Select proxies to be used by scraper.

## Actor input object example

```json
{
  "profile_ids": [
    "ironmouse"
  ],
  "proxySettings": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "profile_ids": [
        "ironmouse"
    ],
    "proxySettings": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("sandaliaapps/twitch-profile-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "profile_ids": ["ironmouse"],
    "proxySettings": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("sandaliaapps/twitch-profile-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "profile_ids": [
    "ironmouse"
  ],
  "proxySettings": {
    "useApifyProxy": true
  }
}' |
apify call sandaliaapps/twitch-profile-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,sandaliaapps/twitch-profile-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/gbydjRctMsEkvAzHv/builds/I57FNzJg2ebkHfMts/openapi.json
