# TikTok AI Transcript Scraper (`hgservices/tiktok-ai-transcript-scraper`) Actor

Extract transcripts from TikTok videos with AI speech recognition. Get full text with speaker labels, automatic language detection, and video metadata (plays, likes, duration).

- **URL**: https://apify.com/hgservices/tiktok-ai-transcript-scraper.md
- **Developed by:** [Harish Garg](https://apify.com/hgservices) (community)
- **Categories:** Videos, Social media, AI
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.60 / 1,000 seconds of video transcribeds

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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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 AI Transcript Scraper

**Extract transcripts from TikTok videos automatically.** Get accurate, AI-generated text from the spoken audio in any TikTok video. Paste one or more video URLs, and receive full transcripts with speaker labels and automatic language detection — ready to download as JSON, CSV, or Excel.

### What does TikTok AI Transcript Scraper do?

This Actor converts the spoken audio in TikTok videos into text. Give it one or more TikTok video URLs, and it returns a full transcript for each video. The transcripts include **speaker labels** (Speaker 0, Speaker 1, …) so you can tell who is talking in multi-person videos.

The Actor also returns useful video metadata — the creator's handle, video description, play count, like count, and duration — so you can combine transcript data with engagement metrics in one dataset.

You can run it on demand from the Apify Console, schedule it to run on a recurring basis, or call it through the [Apify API](https://docs.apify.com/api) and integrate transcripts into your own applications or workflows.

### Why scrape TikTok video transcripts?

- **Content analysis at scale** — Analyze what creators say across hundreds of videos without watching each one.
- **Accessibility** — Generate text versions of TikTok content for hearing-impaired audiences or reading-preferred users.
- **Social media research** — Collect spoken content from TikTok for academic research, trend analysis, or sentiment analysis.
- **SEO and content repurposing** — Turn TikTok video content into searchable text for blogs, articles, or newsletters.
- **Brand monitoring** — Track brand mentions, competitor messaging, and industry trends in TikTok videos.
- **Influencer marketing** — Review what influencers actually say in their videos before and after a campaign.

### How to scrape TikTok video transcripts

1. Go to the Actor's **Input** tab on the Apify Console.
2. Paste one or more TikTok video URLs into the **Video URLs** field.
3. Click **Start** to run the Actor.
4. When the run finishes, open the **Dataset** tab to view the transcripts.
5. Download the results in JSON, CSV, Excel, or other formats.

No coding is required. You can also call this Actor through the [Apify API](https://docs.apify.com/api) or use it with [integrations](https://apify.com/integrations) such as Zapier, Make, or Google Sheets.

### Input

| Field | Type | Description |
|-------|------|-------------|
| `urls` | string\[] | One or more TikTok video URLs in the format `https://www.tiktok.com/@handle/video/ID` |

#### Example input

```json
{
    "urls": [
        "https://www.tiktok.com/@tiktok/video/7670293981833612574"
    ]
}
```

### Output

The Actor produces one dataset row per video. Each row contains the full transcript and video metadata. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

For single-URL runs, the full transcript is also stored as `transcript.txt` in the key-value store for quick access.

#### Example output

```json
{
    "videoUrl": "https://www.tiktok.com/@tiktok/video/7670293981833612574",
    "videoId": "7670293981833612574",
    "description": "Spider-Man dream team 🕷️",
    "authorUniqueId": "tiktok",
    "authorNickname": "TikTok",
    "duration": 65,
    "plays": 12500000,
    "likes": 850000,
    "language": "en",
    "transcript": "[Speaker 0] This is the transcribed text from the video...",
    "transcriptLength": 1250,
    "transcriptStatus": "ok"
}
```

### Data fields

| Field | Description |
|-------|-------------|
| `videoUrl` | The original TikTok video URL |
| `videoId` | The TikTok video ID |
| `description` | The video caption or description |
| `authorUniqueId` | The creator's TikTok handle |
| `authorNickname` | The creator's display name |
| `duration` | Video length in seconds |
| `plays` | Total play count |
| `likes` | Total like count |
| `language` | Auto-detected spoken language (e.g., `en`, `es`, `fr`) |
| `transcript` | Full transcript text with speaker labels |
| `transcriptLength` | Character count of the transcript |
| `transcriptStatus` | `ok` if the video has speech, `empty` if it is silent or music-only |

### How much does it cost to transcribe TikTok videos?

The Actor runs on the Apify platform. Each run uses a small amount of compute units. A typical run that transcribes one video takes under 30 seconds and costs a fraction of a cent in platform usage.

You can try it for free with the Apify Free plan, which includes $5 of platform usage credits each month.

### Tips for best results

- **Clear speech works best.** Videos with clear spoken audio produce the most accurate transcripts.
- **Music-only videos return empty transcripts.** Videos that contain only music or sound effects will return `transcriptStatus: "empty"`.
- **Language is detected automatically.** The Actor supports many languages. You do not need to specify the language.
- **Batch multiple videos in one run.** You can paste many URLs into a single run. This is faster and more cost-effective than running one video at a time.

### FAQ and support

**Is it legal to scrape TikTok?** This Actor accesses publicly available TikTok content. Make sure you comply with TikTok's Terms of Service and all applicable laws in your jurisdiction.

**What if a video returns an empty transcript?** Some videos contain only music, sound effects, or ambient noise with no speech. These will return `transcriptStatus: "empty"`.

**Can I schedule recurring runs?** Yes. You can set up a [schedule](https://docs.apify.com/schedules) on the Apify platform to run this Actor automatically.

**Can I connect the results to other tools?** Yes. Apify offers [integrations](https://apify.com/integrations) with Zapier, Make, Google Sheets, Slack, and many other services.

**Found a bug or need a custom solution?** Report issues on the [Issues](https://console.apify.com/actors/issues) tab. For custom solutions, contact us through Apify.

# Actor input Schema

## `urls` (type: `array`):

One or more TikTok video URLs in the format https://www.tiktok.com/@handle/video/ID

## Actor input object example

```json
{
  "urls": [
    "https://www.tiktok.com/@tiktok/video/7670293981833612574"
  ]
}
```

# Actor output Schema

## `transcript` (type: `string`):

No description

## `dataset` (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 = {
    "urls": [
        "https://www.tiktok.com/@tiktok/video/7670293981833612574"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("hgservices/tiktok-ai-transcript-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 = { "urls": ["https://www.tiktok.com/@tiktok/video/7670293981833612574"] }

# Run the Actor and wait for it to finish
run = client.actor("hgservices/tiktok-ai-transcript-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 '{
  "urls": [
    "https://www.tiktok.com/@tiktok/video/7670293981833612574"
  ]
}' |
apify call hgservices/tiktok-ai-transcript-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,hgservices/tiktok-ai-transcript-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/fFSRbd4cgcIxImWLO/builds/GRxbjiQp2ekkicSSf/openapi.json
