# ✅ TikTok User Reposts Scraper (`datamagnet/tiktok-user-profile-and-posts`) Actor

Get public TikTok profile details and posts from any username. Enter one account and receive follower counts, like counts, profile info, and recent reposts in raw JSON, ready for analysis, reporting, or export.

- **URL**: https://apify.com/datamagnet/tiktok-user-profile-and-posts.md
- **Developed by:** [Datamagnet](https://apify.com/datamagnet) (community)
- **Categories:** Social media, Videos
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 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.
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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## TikTok Profile Scraper

TikTok Profile Scraper is a simple way to collect public TikTok profile details and posts from any username. It is built for marketers, researchers, agencies, and creators who need quick access to TikTok profile data without manual copying and pasting. Enter a username and get follower counts, like counts, profile details, and recent posts or reposts in one lookup. If you need a TikTok profile scraper, TikTok posts extractor, or social media data collector, this actor gives you a fast, business-friendly workflow.

### Key Features
- Extract public TikTok profile details from a single username lookup.
- Collect follower counts, like counts, following counts, and video totals in one place.
- Retrieve the user’s posts and reposts for a fuller view of account activity.
- Export raw profile and post data exactly as returned, so you can analyze it your way.
- Stop automatically when the requested result limit is reached or no more data is available.
- Look up one TikTok account at a time with a simple, easy-to-use input form.
- Support research, competitor tracking, influencer review, and content monitoring workflows.

### Use Cases

#### Influencer Research
Marketing teams use this actor to review a creator’s public profile before outreach. The returned profile details, follower count, like count, and verified status help teams quickly judge audience size and credibility. The post list also shows what the creator is publishing, so brands can see whether the content style fits their campaign.

#### Competitor Analysis
Social media managers can compare competitor accounts by checking profile stats and recent posts. Fields like followerCount, heartCount, videoCount, and shareMeta make it easy to understand account growth and public positioning. The post data helps teams see what kind of content is getting published and how often the account is active.

#### Content Strategy Planning
Creators and agencies can study successful TikTok accounts to spot patterns in posting style, captions, and engagement signals. The actor returns raw post details such as desc, stats, hashtags, music, and video metadata, which can be used to identify recurring themes and content formats. This helps teams plan better content calendars and improve creative direction.

#### Brand Monitoring
Brands can track their own TikTok presence or review public accounts tied to campaigns. The profile information shows whether an account is verified, private, or public, while the post data reveals recent activity and share-related details. This is useful for checking whether a creator partnership is still active and aligned with brand expectations.

#### Market Research
Researchers and analysts can use the actor to gather public TikTok profile data for audience and trend analysis. The returned region-related profile information, stats, and share metadata provide a structured view of how an account presents itself publicly. Combined with the post list, this gives a practical snapshot of account behavior and content output.

#### Lead Qualification
Agencies and service providers can quickly qualify potential creator partners or brand accounts. By reviewing follower counts, likes, verification, and recent posts, teams can decide whether an account is worth deeper review or outreach. This saves time compared with manually opening profiles and copying details into spreadsheets.

### Input

| Field | Type | Required | Description | Example |
|---|---|---:|---|---|
| uniqueId | string | Yes | The TikTok username to look up. Enter the account name without the @ symbol. | taylorswift |
| max_results | integer | No | The maximum number of items to collect before stopping. | 50 |

### Output

| Field | Type | Description |
|---|---|---|
| AIGCDescription | string | A short AI-related description field returned by the source, if available. |
| CategoryType | integer | A category code that describes the type of content. |
| IsHDBitrate | boolean | Shows whether the video is available in high bitrate quality. |
| ShowAIGC | boolean | Indicates whether AI-related content should be shown. |
| adAuthorization | boolean | Tells you whether the post is authorized for advertising use. |
| anchors | array | Extra linked items or promoted references attached to the post. |
| author | object | Public profile details for the account that posted the content. |
| authorStats | object | Main public account stats such as followers, likes, following, and videos. |
| authorStatsV2 | object | The same account stats as text values for easier display or export. |
| backendSourceEventTracking | string | Internal tracking information returned with the record. |
| challenges | array | Hashtags or challenge tags connected to the post. |
| collected | boolean | Indicates whether the item was collected by the source. |
| contents | array | Caption fragments and tagged mentions found in the post text. |
| createTime | integer | The time the post was created, shown as a timestamp. |
| creatorAIComment | object | AI-related eligibility details for the post. |
| desc | string | The full caption or description of the post. |
| digged | boolean | Shows whether the post was liked by the account in the source data. |
| diversificationId | integer | A source classification value for the item. |
| duetDisplay | integer | A display setting related to duet behavior. |
| duetEnabled | boolean | Shows whether duet is allowed for the post. |
| effectStickers | array | Visual effects or stickers attached to the post. |
| forFriend | boolean | Indicates whether the post is intended for friends. |
| id | string | The unique post ID. |
| isAd | boolean | Shows whether the post is marked as an advertisement. |
| isReviewing | boolean | Indicates whether the post is under review. |
| itemCommentStatus | integer | A status value related to comments on the post. |
| item_control | object | Controls for actions such as commenting, sharing, reposting, and creator redirects. |
| music | object | Music or audio details used in the post. |
| officalItem | boolean | Indicates whether the item is an official post. |
| originalItem | boolean | Shows whether the post is original content. |
| playlistId | string | The playlist ID linked to the post, if present. |
| privateItem | boolean | Indicates whether the item is private. |
| secret | boolean | Shows whether the item is hidden from public view. |
| shareEnabled | boolean | Indicates whether sharing is allowed. |
| stats | object | Engagement counts such as plays, likes, comments, shares, and saves. |
| statsV2 | object | The same engagement counts as text values for easier export. |
| stitchDisplay | integer | A display setting related to stitch behavior. |
| stitchEnabled | boolean | Shows whether stitch is allowed for the post. |
| textExtra | array | Tagged users and hashtags found in the caption. |
| textLanguage | string | The language detected in the post text. |
| textTranslatable | boolean | Indicates whether the text can be translated. |
| video | object | Detailed video information including size, quality, and playback links. |
| user | object | Public profile summary for the account, including username, nickname, verification, and stats. |

### Sample Output

```json
{
  "AIGCDescription": "",
  "CategoryType": 102,
  "IsHDBitrate": false,
  "ShowAIGC": false,
  "adAuthorization": true,
  "author": {
    "nickname": "Rare Beauty",
    "uniqueId": "rarebeauty",
    "verified": true,
    "secUid": "MS4wLjABAAAA6jD5EnBDk2ZvW7pbIS-Jug7NslGuR0RxmyKRdOZI3RfHKpHD4I9q4WXT9SISj2AI",
    "stats": {
      "followerCount": 5100000,
      "followingCount": 320,
      "heartCount": 115400000,
      "videoCount": 2130
    }
  },
  "authorStats": {
    "diggCount": 14600,
    "followerCount": 5100000,
    "followingCount": 320,
    "friendCount": 0,
    "heart": 115400000,
    "heartCount": 115400000,
    "videoCount": 2130
  },
  "contents": [
    {
      "desc": "The newest member of the Soft Pinch family has arrived..."
    },
    {
      "desc": ""
    }
  ],
  "createTime": 1783432864,
  "desc": "The newest member of the Soft Pinch family has arrived... Soft Pinch Lip Oil Stick is your favorite lip oil + gloss + lipstick all in one, in 8 shades...",
  "id": "7659785653890125086",
  "isAd": true,
  "music": {
    "authorName": "Rare Beauty",
    "title": "original sound",
    "duration": 15,
    "isCopyrighted": false
  },
  "stats": {
    "collectCount": 998,
    "commentCount": 177,
    "diggCount": 12200,
    "playCount": 147600,
    "shareCount": 922
  },
  "textLanguage": "en",
  "user": {
    "recordType": "profile",
    "uniqueId": "selenagomez",
    "nickname": "Selena Gomez",
    "verified": true,
    "stats": {
      "followerCount": 58700000,
      "followingCount": 74,
      "heartCount": 711100000,
      "videoCount": 266
    },
    "shareMeta": {
      "title": "Selena Gomez on TikTok",
      "desc": "@selenagomez 58.7m Followers, 74 Following, 711.1m Likes - Watch awesome short videos created by Selena Gomez"
    }
  }
}
````

### How It Works

1. You enter a TikTok username and choose how many results you want.
2. The actor looks up the public profile and gathers the account details.
3. It then collects the user’s posts and reposts for that account.
4. The actor keeps fetching more items until it reaches your limit or there is nothing left to collect.
5. Your results are saved in a clean format that is ready for review, reporting, or export.

### Getting Started

Getting started is easy and does not require coding. Click **Try for free**, enter the TikTok username you want to check, set the maximum number of results if needed, and click **Run**. In a few moments, you will have the profile and post data ready to review. You can download the results as JSON, CSV, or Excel, depending on how you want to use the data.

### Frequently Asked Questions

#### Do I need technical skills?

No. This actor is designed for non-technical users. You only need to enter a TikTok username and start the run.

#### How fast does it run?

Most lookups finish quickly, especially for accounts with a moderate number of posts. Larger result limits may take longer because the actor keeps collecting items until it reaches your chosen maximum or runs out of data.

#### What format is the output?

The results are available in formats that are easy to review and share, including JSON, CSV, and Excel. This makes it simple to use the data in spreadsheets, reports, or internal tools.

#### Is this legal to use?

This actor is intended for collecting public TikTok profile and post information. You should always use the results responsibly and make sure your use complies with applicable laws, platform rules, and your own internal policies.

#### Can I schedule it to run automatically?

Yes. You can set it up to run on a schedule if you want regular updates for a username or a list of accounts. That is useful for ongoing monitoring, competitor tracking, or recurring reporting.

# Actor input Schema

## `uniqueId` (type: `string`):

The TikTok username to look up. Enter the account name without the @ symbol.

## `max_results` (type: `integer`):

The maximum number of items to collect before stopping.

## Actor input object example

```json
{
  "uniqueId": "selenagomez",
  "max_results": 50
}
```

# 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 = {
    "uniqueId": "selenagomez"
};

// Run the Actor and wait for it to finish
const run = await client.actor("datamagnet/tiktok-user-profile-and-posts").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 = { "uniqueId": "selenagomez" }

# Run the Actor and wait for it to finish
run = client.actor("datamagnet/tiktok-user-profile-and-posts").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 '{
  "uniqueId": "selenagomez"
}' |
apify call datamagnet/tiktok-user-profile-and-posts --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=datamagnet/tiktok-user-profile-and-posts",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "✅ TikTok User Reposts Scraper",
        "description": "Get public TikTok profile details and posts from any username. Enter one account and receive follower counts, like counts, profile info, and recent reposts in raw JSON, ready for analysis, reporting, or export.",
        "version": "0.0",
        "x-build-id": "JOPpmzKgLMwo85t8g"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/datamagnet~tiktok-user-profile-and-posts/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-datamagnet-tiktok-user-profile-and-posts",
                "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/datamagnet~tiktok-user-profile-and-posts/runs": {
            "post": {
                "operationId": "runs-sync-datamagnet-tiktok-user-profile-and-posts",
                "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/datamagnet~tiktok-user-profile-and-posts/run-sync": {
            "post": {
                "operationId": "run-sync-datamagnet-tiktok-user-profile-and-posts",
                "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": [
                    "uniqueId"
                ],
                "properties": {
                    "uniqueId": {
                        "title": "Username",
                        "type": "string",
                        "description": "The TikTok username to look up. Enter the account name without the @ symbol."
                    },
                    "max_results": {
                        "title": "Max results",
                        "minimum": 1,
                        "type": "integer",
                        "description": "The maximum number of items to collect before stopping.",
                        "default": 10
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
