TikTok Highlight Scraper avatar

TikTok Highlight Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
TikTok Highlight Scraper

TikTok Highlight Scraper

Scrape TikTok story highlights and collections from any profile. Export HD video download links, photo slides, music URLs, views, and likes into Excel, CSV, or JSON. Fast & reliable.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Sachin Kumar Yadav

Sachin Kumar Yadav

Maintained by Community

Actor stats

0

Bookmarked

9

Total users

1

Monthly active users

9 days ago

Last modified

Categories

Share

Extract and download TikTok highlight collections and posts from any user profile. Retrieve highlight titles, covers, video files (without watermark), photo slides, music URLs, author profiles, and complete engagement metrics without requiring any login credentials. Ideal for competitive analysis, creator research, social media monitoring, and automated content archiving.


Table of Contents


Overview

TikTok Highlights are curated collections of permanent stories and featured videos showcased on a creator's profile. Unlike standard 24-hour stories, highlights contain a creator's highest-value content, portfolio showcases, product announcements, and evergreen media.

TikTok Highlight Scraper allows you to extract this valuable content programmatically via Apify. You can discover all highlight albums created by any public TikTok username and download every video and photo post inside those highlights with complete engagement statistics and media URLs.


Features

Dual-Mode Flexibility

  • Highlight List Mode - Retrieve all highlight collections, collection IDs, cover images, titles, and total post counts for target usernames.
  • Highlight Posts Mode - Extract all posts (videos and photo slides) within specific highlight IDs with automatic cursor pagination.

Media & Download Access

  • No-Watermark Video URLs - Direct download links for high-definition original videos without TikTok watermarks.
  • Watermarked Video URLs - Backup download links including original TikTok branding.
  • Multiple Cover Variants - Standard cover, AI dynamic animated cover, and origin cover URLs.
  • Multi-Image Photo Slides - Full support for photo stories and carousel posts saved into highlights.
  • Direct Music Audio Links - Direct URLs to sound tracks and original audio used in highlight posts.

Rich Metadata & Engagement Analytics

  • Engagement Metrics - Play count (views), digg count (likes), comment count, share count, download count, and collection/bookmark count.
  • Author Information - User ID, username, nickname, and profile avatar URL.
  • Commerce & Ad Flags - Identification of sponsored content, ad campaigns, and branded content types.
  • Timestamps - Unix epoch time and human-readable ISO-8601 creation timestamps.

Scalable & Frictionless

  • No Login or Cookies Required - Works out-of-the-box without user accounts, session cookies, or proxy configurations.
  • Batch Processing - Accepts multiple usernames or highlight IDs in a single run.
  • Streaming Dataset Push - Flushes data in batches of 10 items directly to your Apify dataset to prevent memory bloat.

Use Cases

Use CaseDescriptionPrimary Benefit
Competitive IntelligenceTrack competitor highlight collections and featured campaignsBenchmark product positioning, promotions, and evergreen content strategies
Influencer & Creator ResearchEvaluate creator portfolios and highlight engagementIdentify high-performing influencers for brand partnerships and sponsorships
Brand MonitoringMonitor brand ambassador highlights and tagged collectionsTrack multi-month campaign reach, retention, and branding quality
Content Archiving & BackupBackup high-value evergreen video collections and photo storiesPreserve viral content libraries before accounts modify or delete them
Social Media AnalyticsAnalyze engagement ratios across curated highlights vs feed postsMeasure audience retention on saved vs ephemeral story formats
Agency Client ReportingGather comprehensive highlight data for brand auditsGenerate detailed social media performance decks and client reports
Trend & Sound DiscoveryExtract music URLs and audio assets from curated highlightsUncover persistent audio trends used across top creators' evergreen posts
E-commerce & Ad IntelligenceTrack featured product highlights and commerce promotionsMonitor how direct-to-consumer (DTC) brands structure product collections

How It Works: Two-Step Workflow

To achieve maximum flexibility and cost efficiency, this scraper provides a clean two-step workflow:

  1. Step 1: Discover Highlights (highlight_list)

    • Provide target TikTok usernames in uniqueIds.
    • The actor fetches all highlight albums for each profile.
    • The output includes the highlight_id, title, cover, and post_count for each highlight.
  2. Step 2: Scrape Posts (highlight_posts)

    • Take the highlight_id values discovered in Step 1.
    • Set the mode to highlight_posts and provide the IDs in highlightIds.
    • The actor automatically paginates through all posts inside each collection and extracts the complete video, photo, author, and engagement data.

Quick Start

Example 1: Discover Highlights for a User (Highlight List Mode)

{
"mode": "highlight_list",
"uniqueIds": ["keenyakelly"]
}

Example 2: Discover Highlights for Multiple Users in Batch

{
"mode": "highlight_list",
"uniqueIds": ["keenyakelly", "hbomax", "charlidamelio"]
}

Example 3: Extract All Posts from Specific Highlight IDs (Highlight Posts Mode)

{
"mode": "highlight_posts",
"highlightIds": ["8368167949", "7249182371"],
"postsPerPage": 10
}

Input Parameters

Configuration Options

ParameterTypeRequiredDefaultDescription
modeStringYes"highlight_list"Scraping mode: "highlight_list" to discover highlight collections, or "highlight_posts" to scrape posts within highlights.
uniqueIdsArray of StringsRequired for highlight_list["keenyakelly"]List of TikTok usernames (unique_id) to inspect. Supports @ prefix or clean usernames. Max 50 usernames per run.
highlightIdsArray of StringsRequired for highlight_posts["8368167949"]List of Highlight IDs to scrape posts from. Obtained from highlight_list mode. Max 100 IDs per run.
postsPerPageIntegerNo10Number of posts fetched per API pagination request in highlight_posts mode (min: 1, max: 30).

Output Format

Mode 1: Highlight List Output

When running in highlight_list mode, each record in your Apify dataset represents a single highlight collection discovered on a user's profile:

{
"source": "tiktok",
"unique_id": "keenyakelly",
"highlight_id": "8368167949",
"title": "Challenge",
"cover": "https://p16-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/...",
"post_count": 2
}

Mode 2: Highlight Posts Output

When running in highlight_posts mode, each record represents an individual video or photo post stored inside the target highlight collection:

Video Post Output Sample

{
"source": "tiktok",
"type": "video",
"highlight_id": "8368167949",
"aweme_id": "v12044gd0000d93si8fog65la5sl8g20",
"video_id": "7658310975350689037",
"region": "US",
"title": "Day 3 Challenge Recap",
"cover_url": "https://p16-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/cover.jpeg",
"dynamic_cover_url": "https://p16-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/dynamic.webp",
"origin_cover_url": "https://p16-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/origin.jpeg",
"video_url": "https://v16m.tiktokcdn.com/video/tos/useast5/...",
"video_url_watermark": "https://v16m.tiktokcdn.com/video/tos/useast5/wm...",
"duration": 45,
"size": 9344397,
"watermark_size": 8830450,
"music_url": "https://sf16-ies-music-va.tiktokcdn.com/music/...",
"create_time": 1783089514,
"create_time_date": "2026-07-02T14:38:34.000Z",
"is_ad": false,
"is_story": true,
"is_top": 0,
"engagement": {
"play_count": 12540,
"digg_count": 842,
"comment_count": 36,
"share_count": 14,
"download_count": 5,
"collect_count": 78
},
"author_info": {
"id": "6766438596478239750",
"unique_id": "keenyakelly",
"nickname": "Keenya Kelly",
"avatar_url": "https://p16-sign-va.tiktokcdn.com/avatar.jpeg"
},
"commerce_info": {
"adv_promotable": false,
"auction_ad_invited": false,
"branded_content_type": 0
}
}

Photo Post Output Sample

When a post is a photo or photo carousel, type is set to "photo" and an images array with direct high-resolution image links is provided:

{
"source": "tiktok",
"type": "photo",
"highlight_id": "8368167949",
"aweme_id": "v12044gd0000d93si8fog65la5sl8g21",
"video_id": "7658310975350689038",
"region": "US",
"title": "Photo Highlights",
"cover_url": "https://p16-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/photo_cover.jpeg",
"images": [
"https://p16-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/slide1.jpeg",
"https://p16-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/slide2.jpeg"
],
"create_time": 1783089600,
"create_time_date": "2026-07-02T14:40:00.000Z",
"engagement": {
"play_count": 4200,
"digg_count": 210,
"comment_count": 8,
"share_count": 2,
"download_count": 0,
"collect_count": 15
},
"author_info": {
"id": "6766438596478239750",
"unique_id": "keenyakelly",
"nickname": "Keenya Kelly",
"avatar_url": "https://p16-sign-va.tiktokcdn.com/avatar.jpeg"
}
}

Data Fields Breakdown

Highlight Collection Metadata (highlight_list mode)

FieldTypeDescription
sourceStringData source identifier ("tiktok").
unique_idStringTikTok username that owns the highlight.
highlight_idStringUnique identifier of the highlight album. Use this in highlight_posts mode.
titleStringName/title of the highlight collection (e.g., "FAQ", "Vlog", "Products").
coverStringDirect URL to the cover thumbnail image of the highlight collection.
post_countIntegerTotal number of posts grouped inside this highlight collection.

Post Media & Technical Information (highlight_posts mode)

FieldTypeDescription
typeStringMedia type: "video" or "photo".
highlight_idStringParent highlight collection ID.
aweme_idStringInternal TikTok Aweme unique identifier.
video_idStringTikTok video ID.
regionStringCountry/region code where the media was registered (e.g., "US").
titleStringCaption or title of the post.
video_urlStringDirect download URL for the original video without watermark.
video_url_watermarkStringDownload URL for the video including TikTok watermark branding.
imagesArrayArray of direct image URLs for photo carousel posts.
cover_urlStringStandard static cover image URL.
dynamic_cover_urlStringAI dynamic animated cover image URL.
origin_cover_urlStringOriginal source cover image URL.
durationIntegerVideo duration in seconds.
sizeIntegerFile size of the non-watermarked video in bytes.
watermark_sizeIntegerFile size of the watermarked video in bytes.
music_urlStringDirect URL to the accompanying audio/music track.
create_timeIntegerTimestamp in seconds (Unix epoch).
create_time_dateStringFormatted ISO-8601 creation timestamp.
is_adBooleanIndicates whether the post is an advertisement.
is_storyBooleanIndicates whether the post originated as a story.

Engagement Metrics Object (engagement)

FieldTypeDescription
play_countIntegerTotal video views.
digg_countIntegerTotal likes / hearts received.
comment_countIntegerTotal comments posted.
share_countIntegerTotal number of times the post was shared.
download_countIntegerDirect downloads recorded.
collect_countIntegerTimes saved to user favorites / bookmarks.

Author Information Object (author_info)

FieldTypeDescription
idStringTikTok numeric user ID.
unique_idStringTikTok username / handle.
nicknameStringDisplay name of the user.
avatar_urlStringDirect link to the user's profile avatar.

Performance & Reliability

  • High-Speed Execution: Highlight list retrieval takes 1-3 seconds per user. Post retrieval processes up to 30 posts per second depending on network latency.
  • Auto-Retry Mechanism: Intermittent network disruptions or server timeouts trigger automatic retries with incremental delays.
  • Automatic Cursor Pagination: Highlight collections with dozens of posts are automatically paginated until all items are captured.
  • Memory-Optimized Flushing: Data is pushed to datasets in batches of 10, preventing memory build-up during long runs.

Best Practices

  1. Follow the Two-Step Workflow: Run highlight_list first to discover which collections exist, their names, and their highlight_id values. Then run highlight_posts using only the IDs you need.
  2. Download Media Promptly: TikTok Content Delivery Network (CDN) links are time-sensitive and will expire after a period of time. If you need permanent offline storage, download the files immediately upon run completion.
  3. Batch Usernames Efficiently: When scraping collections across multiple creators, pass an array of usernames to uniqueIds (up to 50 at a time) to maximize throughput.
  4. Tune postsPerPage: The default postsPerPage is 10. For highlights with 20+ posts, setting this to 20 or 30 reduces the total number of pagination requests.
  5. Private Accounts: Highlights from private or geo-restricted accounts cannot be retrieved without public permissions.

Frequently Asked Questions (FAQ)

What is the difference between TikTok Stories and TikTok Highlights?

TikTok Stories disappear after 24 hours from the user's story tray. Highlights are stories or videos that creators deliberately pin to their profile permanently. Highlights remain accessible indefinitely unless deleted by the creator.

Do I need a TikTok account or proxy setup to use this scraper?

No. The scraper accesses public TikTok endpoints directly through secure gateway routing. You do not need cookies, personal credentials, or external proxies.

Where can I find a user's uniqueId?

The unique_id is the TikTok username seen in the profile URL (for example, in https://www.tiktok.com/@keenyakelly, the username is keenyakelly). You can enter it with or without the @ prefix.

Where do I get highlight IDs for the highlight_posts mode?

Run the scraper first in highlight_list mode with your desired usernames. The output dataset will contain a highlight_id field for every collection found on the user's profile.

Can I download videos without the TikTok watermark?

Yes. Every video record in highlight_posts mode includes video_url, which provides direct access to the high-definition video without any TikTok watermark overlay.

Does this scraper support photo highlights?

Yes. When a highlight post contains photo slides, the record includes type: "photo" and an images array containing direct download links for all high-resolution slides.

Are the media download URLs permanent?

No. Media URLs hosted on TikTok's CDN have temporary validity tokens and expire over time. We recommend downloading videos and images to your local drive or cloud storage bucket (AWS S3, Google Cloud Storage) right after extraction.

What happens if a user has no highlights on their profile?

The actor logs an informational message stating that no highlights were found for that user, skips to the next username in your batch, and completes successfully.

Can I export the dataset to CSV or Excel?

Yes. The Apify platform provides one-click export to JSON, CSV, XML, Excel (XLSX), and HTML formats from the dataset tab.


Troubleshooting & Status Codes

Status / MessageCauseResolution
User not found or has no highlights (404)The username does not exist, was changed, or has zero highlight collections.Verify username spelling and verify on tiktok.com whether highlights are present.
Access denied (403)Target account is set to private.The actor only supports public TikTok accounts.
Highlight posts returned empty / 404The highlight ID is invalid, belongs to an expired private story, or was deleted.Run highlight_list again to confirm active highlight IDs.
Missing Unique IDs or Highlight IDs errorRequired field for the selected mode was left empty.Ensure uniqueIds is filled when using highlight_list, or highlightIds when using highlight_posts.

Expand your TikTok data intelligence toolkit with these complementary scrapers:


Keywords & Tags

tiktok highlight scraper, tiktok highlight downloader, tiktok highlights viewer, download tiktok highlights, tiktok highlight posts, tiktok highlight cover, tiktok highlight api, tiktok story highlights, scrape tiktok highlights, tiktok highlight extractor, tiktok highlights without watermark, tiktok profile highlights, tiktok highlight archiver, tiktok no watermark downloader, tiktok content scraper, tiktok creator analytics, tiktok competitor tracking, tiktok influencer research, tiktok media downloader, tiktok video scraper, tiktok photo slides scraper, tiktok batch downloader, tiktok data extraction, apify tiktok scraper, tiktok automation tool, tiktok evergreen content, tiktok marketing tool


Get Started

Extract TikTok highlight collections and posts in minutes:

  1. Click "Try for free"
  2. Select your desired mode (highlight_list or highlight_posts).
  3. Enter TikTok usernames or highlight IDs.
  4. Click Start to run the actor and export your structured dataset.

If this actor helps your workflow, please consider leaving a star on Apify!