# Social Media Stats Checker (`maximedupre/social-media-stats-checker`) Actor

Check public profile stats across YouTube, TikTok, X, Instagram, Reddit, Twitch, GitHub, Pinterest, and Threads. Export followers, posts, likes, bios, avatars, verification status, and source URLs.

- **URL**: https://apify.com/maximedupre/social-media-stats-checker.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** Developer tools, Social media, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.90 / 1,000 checked profiles

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

### 📊 Social media stats checker for public profiles

Social Media Stats Checker gets public profile stats from YouTube, TikTok, X, Instagram, Reddit, Twitch, GitHub, Pinterest, and Threads. Paste profile URLs or platform-prefixed usernames, then export normalized follower counts, profile metadata, bios, avatars, verification status, source URLs, and scrape timestamps.

Use this Actor when you need a quick profile stats check across many social platforms for creator research, lead enrichment, competitor tracking, campaign reporting, or repeat monitoring. Instead of opening each profile by hand, you get one clean dataset that works with Apify exports, API, schedules, webhooks, and integrations.

For a small first run, keep the prefilled profiles. They cover several supported platforms and are useful for checking the output shape before you add a larger list.

### ✅ What this Actor does

- Checks public profile stats across YouTube, TikTok, X, Instagram, Reddit, Twitch, GitHub, Pinterest, and Threads.
- Accepts full profile URLs and platform-prefixed usernames such as `youtube:MrBeast`, `tiktok:charlidamelio`, `x:elonmusk`, `reddit:spez`, `twitch:ninja`, `github:octocat`, `pinterest:pinterest`, and `threads:zuck`.
- Saves one dataset item per successfully checked public profile.
- Normalizes common fields across platforms so exports are easier to compare.
- Keeps the original input, input row number, canonical profile URL, platform IDs, and scrape timestamp for traceability.
- Continues through the rest of your list when a profile is missing, private, blocked, or temporarily unavailable.

### 📦 Data you can extract

Each output item represents one public profile check. Fields include:

- `platform` - normalized source platform, such as `tiktok`, `x`, `reddit`, `github`, or `threads`
- `sourceInput` and `inputIndex` - the submitted value and its row number
- `username`, `displayName`, and `canonicalProfileUrl`
- `followers`, `following`, `posts`, and `likes` when the source exposes them
- `isVerified`, `bio`, `avatarUrl`, and `followersText`
- `platformIds` with useful source identifiers when available
- `resolvedFromUrl`, `status`, and `fetchedAt`

Some fields are platform-specific. For example, GitHub public repositories are returned in `posts`, Reddit total karma is returned in `posts`, and Reddit comment karma is returned in `likes`. Fields are `null` when a public profile page does not expose that value.

### 🚀 How to run it

1. Open the Input tab.
2. Add one profile per line in `Profiles`.
3. Use full URLs when you have them, or use platform-prefixed usernames.
4. Keep `Profile limit` small for your first run, then raise it when the output looks right.
5. Run the Actor and open the dataset, or pull the same rows through the Apify API.

### ✍️ Input examples

```json
{
  "profiles": [
    "https://www.tiktok.com/@charlidamelio",
    "https://x.com/elonmusk",
    "https://www.instagram.com/instagram/",
    "reddit:spez",
    "twitch:ninja",
    "github:octocat",
    "https://www.pinterest.com/pinterest/",
    "threads:zuck"
  ],
  "maxProfiles": 25
}
````

### 🧾 Output example

```json
{
  "platform": "github",
  "sourceInput": "github:octocat",
  "inputIndex": 1,
  "username": "octocat",
  "displayName": "The Octocat",
  "canonicalProfileUrl": "https://github.com/octocat",
  "followers": 22763,
  "following": 9,
  "posts": 8,
  "likes": 8,
  "isVerified": null,
  "bio": null,
  "avatarUrl": "https://avatars.githubusercontent.com/u/583231?v=4",
  "followersText": "22763",
  "platformIds": {
    "userId": "583231",
    "nodeId": "MDQ6VXNlcjU4MzIzMQ=="
  },
  "resolvedFromUrl": false,
  "status": "ok",
  "fetchedAt": "2026-05-26T15:10:00.000Z"
}
```

### 💸 Pricing

This Actor uses pay-per-event pricing. You are charged for each successfully checked public profile that is saved to the dataset. Profiles that are skipped because they are unavailable, private, blocked, or invalid are not saved as dataset items.

The first-run prefill is intentionally small, so you can inspect the output before running a larger batch.

### ⚠️ Limits and caveats

- The Actor checks public data that the source exposes at run time.
- Some platforms expose fewer stats than others, so fields can be `null`.
- Private, deleted, restricted, or temporarily unavailable profiles can be skipped.
- Source websites can change what they show publicly, so schedule important monitoring jobs with enough room for retries and review.

### ❓ FAQ

#### Can I mix platforms in one run?

Yes. Add one profile per line and mix URLs with platform-prefixed usernames. The output keeps `platform`, `sourceInput`, and `inputIndex` so you can trace each row back to the submitted list.

#### Do I need cookies or API keys?

No. The Actor checks publicly available profile stats without user-provided cookies or API keys.

#### Will unavailable profiles appear as rows?

No. The dataset contains successfully checked profiles only. Unavailable profiles are reported in logs so your exports stay focused on usable profile stats.

### 📝 Changelog

- 0.2: Added cookie-free Instagram profile stats and kept the public input form focused on profiles and run size.
- 0.1: Initial release.

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~social-media-stats-checker/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Other actors

- [Reddit Scraper ↗](https://apify.com/maximedupre/reddit-scraper) - Search Reddit posts and comments around a topic, brand, or trend.
- [Twitter Scraper ↗](https://apify.com/maximedupre/twitter-scraper) - Export public X posts, conversation context, and trending topics.
- [YouTube Channel Scraper ↗](https://apify.com/maximedupre/youtube-channel-scraper) - Get YouTube channel profiles and recent video rows.
- [Telegram Info Scraper ↗](https://apify.com/maximedupre/telegram-info-scraper) - Check public Telegram usernames, channels, groups, and bots.
- [Website Emails Scraper ↗](https://apify.com/maximedupre/website-emails-scraper) - Find public contact emails from websites you already care about.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

## `profiles` (type: `array`):

Enter one public profile per line. Use full URLs or platform-prefixed usernames such as youtube:MrBeast, tiktok:charlidamelio, x:elonmusk, reddit:spez, twitch:ninja, github:octocat, pinterest:pinterest, or threads:zuck.

## `maxProfiles` (type: `integer`):

Maximum number of submitted profiles to check in this run. Lower this for a small test, then raise it for larger batches.

## Actor input object example

```json
{
  "profiles": [
    "https://www.youtube.com/@MrBeast",
    "https://www.tiktok.com/@charlidamelio",
    "https://x.com/elonmusk",
    "https://www.instagram.com/instagram/",
    "https://www.twitch.tv/ninja",
    "https://github.com/octocat",
    "https://www.pinterest.com/pinterest/",
    "https://www.threads.net/@zuck"
  ],
  "maxProfiles": 100
}
```

# Actor output Schema

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

Open the dataset to view checked social media profile stats.

# 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 = {
    "profiles": [
        "https://www.youtube.com/@MrBeast",
        "https://www.tiktok.com/@charlidamelio",
        "https://x.com/elonmusk",
        "https://www.instagram.com/instagram/",
        "https://www.twitch.tv/ninja",
        "https://github.com/octocat",
        "https://www.pinterest.com/pinterest/",
        "https://www.threads.net/@zuck"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/social-media-stats-checker").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 = { "profiles": [
        "https://www.youtube.com/@MrBeast",
        "https://www.tiktok.com/@charlidamelio",
        "https://x.com/elonmusk",
        "https://www.instagram.com/instagram/",
        "https://www.twitch.tv/ninja",
        "https://github.com/octocat",
        "https://www.pinterest.com/pinterest/",
        "https://www.threads.net/@zuck",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/social-media-stats-checker").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "profiles": [
    "https://www.youtube.com/@MrBeast",
    "https://www.tiktok.com/@charlidamelio",
    "https://x.com/elonmusk",
    "https://www.instagram.com/instagram/",
    "https://www.twitch.tv/ninja",
    "https://github.com/octocat",
    "https://www.pinterest.com/pinterest/",
    "https://www.threads.net/@zuck"
  ]
}' |
apify call maximedupre/social-media-stats-checker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=maximedupre/social-media-stats-checker",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Social Media Stats Checker",
        "description": "Check public profile stats across YouTube, TikTok, X, Instagram, Reddit, Twitch, GitHub, Pinterest, and Threads. Export followers, posts, likes, bios, avatars, verification status, and source URLs.",
        "version": "0.2",
        "x-build-id": "GcQzSmhSiH5v6vn3q"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/maximedupre~social-media-stats-checker/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-maximedupre-social-media-stats-checker",
                "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/maximedupre~social-media-stats-checker/runs": {
            "post": {
                "operationId": "runs-sync-maximedupre-social-media-stats-checker",
                "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/maximedupre~social-media-stats-checker/run-sync": {
            "post": {
                "operationId": "run-sync-maximedupre-social-media-stats-checker",
                "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",
                "required": [
                    "profiles"
                ],
                "properties": {
                    "profiles": {
                        "title": "Profile targets",
                        "minItems": 1,
                        "maxItems": 1000,
                        "type": "array",
                        "description": "Enter one public profile per line. Use full URLs or platform-prefixed usernames such as youtube:MrBeast, tiktok:charlidamelio, x:elonmusk, reddit:spez, twitch:ninja, github:octocat, pinterest:pinterest, or threads:zuck.",
                        "items": {
                            "type": "string",
                            "minLength": 1
                        }
                    },
                    "maxProfiles": {
                        "title": "Profile limit",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of submitted profiles to check in this run. Lower this for a small test, then raise it for larger batches.",
                        "default": 100
                    }
                }
            },
            "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
                                    }
                                }
                            },
                            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
