Tiktok Data Extractor Scraper avatar

Tiktok Data Extractor Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Tiktok Data Extractor Scraper

Tiktok Data Extractor Scraper

📲 TikTok Data Extractor Scraper collects public TikTok profiles, videos, captions, hashtags, views, likes, comments & sounds at scale. 🔍 Export CSV/JSON for analytics, influencer discovery, trend tracking & competitor insights. 🚀 Perfect for marketing, research & growth.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScrapAPI

ScrapAPI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 days ago

Last modified

Share

Tiktok Data Extractor Scraper

Tiktok Data Extractor Scraper is an Apify actor that collects public TikTok data from hashtags, profiles, and direct video URLs at scale — a unified tiktok data scraper and tiktok data extractor for marketers, developers, analysts, and researchers. It solves the challenge of building reliable, structured TikTok datasets without manual browsing, and powers workflows like influencer research, trend tracking, and competitive analysis with a scalable tiktok scraping tool.

What data / output can you get?

Data fieldDescriptionExample value
idUnique video identifier“7234567890123456789”
sourceTypeSource tag for the item“hashtag”, “profile”, “video_url”, “video_related”
hashtagHashtag input that yielded the item (hashtag items only)“travel”
profileUsername that yielded the item (profile items only)“tiktok”
videoUrlSubmitted video URL or derived URLhttps://www.tiktok.com/@user/video/1234567890”
textVideo description/caption“Hiking the Alps 🏔️ #travel #adventure”
createTimeISOCreation time in ISO 8601“2024-01-15T10:30:00.000Z”
diggCountNumber of likes15000
playCountNumber of views100000
commentCountNumber of comments1200
shareCountNumber of shares500
webVideoUrlCanonical TikTok video URLhttps://www.tiktok.com/@username/video/1234567890”
videoMeta.durationVideo duration (seconds)30
authorMeta.nameAuthor’s uniqueId/username“username”
authorMeta.avatarAuthor’s avatar URL“https://…”
musicMeta.musicNameMusic track title“original sound”
musicMeta.musicAuthorMusic author/artist“Artist Name”

Notes:

  • Outputs also include nested structures like authorMeta, musicMeta, videoMeta, and arrays such as hashtags, mentions, and effectStickers (when available).
  • Export your dataset in JSON, CSV, Excel, or XML directly from Apify.

Key features

  • 🚀 Unified multi-source scraping
    One workflow for hashtags, profiles, and direct video URLs. Build a consistent tiktok dataset builder pipeline without juggling separate tools.

  • 🔎 Keyword discovery & related videos
    Resolve more content from each seed: collect related videos for every input URL, and expand datasets discovered through browsing flows. Perfect for a tiktok web crawler approach to exploration.

  • 🧭 Advanced profile controls
    Date range filtering (absolute or relative), sorting (latest, oldest, popular), sections (videos or reposts), and optional pinned-post exclusion — a robust tiktok profile scraper for monitoring.

  • 🧱 Scalable & accurate extraction
    Robust parsing for author, video, and music metadata (likes, views, comments, duration, dimensions, formats, subtitles, and more) — an accurate tiktok video metadata scraper.

  • 🌐 Intelligent proxy fallback
    Automatic escalation from no proxy → datacenter → residential with retries on 403/429 or empty responses. Block-aware resilience keeps large runs moving.

  • 🧑‍💻 Developer-friendly & API-ready
    Built on Apify’s platform with dataset outputs you can pipe into BI tools or code. Use it as a tiktok scraping api in workflows, ETL pipes, or analytics stacks.

  • 🔌 Workflow integrations
    Export to CSV/JSON for downstream systems, connect to Make, n8n, or your internal pipelines for automated tiktok data collection tool setups.

  • 🏗️ Production-ready reliability
    Sequential task execution, real-time dataset writes, and resilient request handling make it a dependable tiktok scraping tool for ongoing operations.

How to use Tiktok Data Extractor Scraper - step by step

  1. Create or log in to your Apify account
    Go to console.apify.com and sign in.

  2. Open the actor
    Find “Tiktok Data Extractor Scraper” in your Actors and open it.

  3. Choose your starting points

    • Add one or more hashtags (without “#”) under “#️⃣ Videos with this hashtag”.
    • Add TikTok usernames or profile URLs under “😎 Profiles”.
    • Add direct TikTok “🔗 Video URLs” to target specific videos.
  4. Set result limits
    Define “💯 Number of videos per hashtag, profile, search, or related” to control how many items you collect per source.

  5. Configure profile options (optional)

    • Select “Profile sections to scrape” (videos or reposts).
    • Choose “Profile video sorting” (latest, oldest, popular).
    • Set “Scrape profile videos published after/before [date]” and “Exclude pinned posts” if needed.
  6. Include related videos (optional)
    Toggle “Include related videos for each URL” to enrich your tiktok dataset builder with recommended content.

  7. Network settings (optional)
    Adjust “Proxy Configuration” or leave it blank to let the actor start without a proxy and auto-fallback if needed.

  8. Run and monitor
    Click Start. Watch progress in Logs and see items appear in the Dataset in real time.

  9. Export results
    In the Dataset tab, filter by sourceType, hashtag, profile, or videoUrl and export as JSON, CSV, Excel, or XML.

Pro tip: Chain this tiktok scraping tool into your analytics or CRM using the Apify API for scheduled runs and automated refreshes.

Use cases

Use caseDescription
Marketing – Competitor monitoringTrack competitor profiles and content performance to inform campaign strategy.
Influencer discovery – Niche creatorsIdentify high-performing creators by hashtag or profile metrics for outreach.
Trend tracking – Hashtag insightsMonitor trending hashtags, capture engagement, and analyze virality patterns.
Content research – Best formatsAnalyze views/likes/comments to learn which formats and topics resonate.
Data analytics – Time seriesBuild longitudinal datasets of creator/video stats for dashboards and modeling.
Academic research – Social studiesCollect structured, public TikTok data for studies and hypothesis testing.
API pipelines – ETL & enrichmentUse the tiktok scraping api output for data warehouses, BI, and enrichment.
Content curation – RecommendationsExpand collections with related videos to power newsletters or playlists.

Why choose Tiktok Data Extractor Scraper?

Tiktok Data Extractor Scraper combines precision, automation, and reliability for production-grade TikTok data extraction.

  • ✅ Accurate, structured outputs: Author, video, music, and engagement fields for analytics-ready datasets.
  • 🌍 Flexible scale: Handles large batches with sequential processing and real-time dataset writes.
  • 🧑‍💻 Developer access: Integrate the dataset with your apps, scripts, or data platforms.
  • 🔒 Safe by design: Scrapes public data only; no private profiles or authentication required.
  • 🔁 Robust anti-blocking: Automatic proxy fallback (none → datacenter → residential) with block detection.
  • 💰 Cost-effective automation: Export to CSV/JSON/Excel for use across teams and tools.
  • 🔗 Integration-friendly: Ideal as a tiktok data collection tool within Make, n8n, and internal pipelines.

This tiktok data extractor outperforms ad-hoc browser extensions and unstable scripts by running on a scalable, resilient backend with consistent output structures.

Yes — when used responsibly.
This actor scrapes only publicly available TikTok data and does not access private profiles or password-protected content.

Guidelines:

  • Comply with TikTok’s Terms of Service and your local laws (e.g., GDPR, CCPA).
  • Collect and use public data responsibly; do not use for spam, harassment, or illegal activities.
  • Verify compliance for your specific use case with your legal team if unsure.

Input parameters & output format

Example JSON input

{
"hashtags": ["travel", "adventure"],
"profiles": ["https://www.tiktok.com/@mrbeast"],
"postURLs": ["https://www.tiktok.com/@user/video/1234567890"],
"resultsPerPage": 100,
"profileScrapeSections": ["videos"],
"profileSorting": "latest",
"oldestPostDateUnified": "2025-04-04",
"newestPostDate": "2025-09-09",
"excludePinnedPosts": false,
"scrapeRelatedVideos": true,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Input fields

FieldTypeRequiredDefaultDescription
hashtagsarray of stringsNoAdd one or more TikTok hashtags to collect videos containing those hashtags.
resultsPerPageinteger (1–1,000,000)No50Number of videos to scrape per hashtag or profile; also used as max per related videos.
profilesarray of stringsNoTikTok usernames or profile URLs whose videos and profile data you want to scrape.
profileScrapeSectionsarray of strings (“videos”, “reposts”)No["videos"]Choose profile sections to scrape.
profileSortingstring (“latest”, “popular”, “oldest”)No"latest"Sorting for profile videos; date filters only work with latest/oldest.
oldestPostDateUnifiedstringNoFilter profile videos published after a date (absolute YYYY-MM-DD or relative days).
newestPostDatestringNoFilter profile videos published before a date (absolute YYYY-MM-DD or relative days).
excludePinnedPostsbooleanNofalseExclude pinned posts from profile results.
postURLsarray of stringsNoDirect TikTok video URLs to scrape.
scrapeRelatedVideosbooleanNofalseAlso collect related videos for each provided video URL (up to resultsPerPage).
proxyConfigurationobjectNoConfigure proxies. By default, no proxy is used; actor auto-fallbacks on blocks.

Output format

Results are written to the Apify dataset in real time. Items include a sourceType tag for easy filtering across inputs.

  • Hashtag items (sourceType: "hashtag")
    Example:
{
"id": "7234567890123456789",
"text": "Video description text",
"createTime": 1705312200,
"createTimeISO": "2024-01-15T10:30:00.000Z",
"isAd": false,
"isMuted": false,
"authorMeta": {
"id": "123456789",
"name": "username",
"nickName": "Display Name",
"verified": false,
"signature": "Bio text",
"bioLink": null,
"avatar": "https://...",
"privateAccount": false,
"ttSeller": false,
"following": 100,
"fans": 10000,
"heart": 50000,
"video": 200,
"digg": 100000
},
"musicMeta": {
"musicName": "Song Title",
"musicAuthor": "Artist Name",
"musicOriginal": false,
"musicAlbum": "",
"playUrl": "https://...",
"coverMediumUrl": "https://...",
"musicId": "67890"
},
"webVideoUrl": "https://www.tiktok.com/@username/video/1234567890",
"mediaUrls": [],
"videoMeta": {
"height": 1920,
"width": 1080,
"duration": 30,
"coverUrl": "https://...",
"originalCoverUrl": "https://...",
"definition": "720p",
"format": "",
"originalDownloadAddr": "https://...",
"downloadAddr": "https://..."
},
"diggCount": 15000,
"shareCount": 500,
"playCount": 100000,
"collectCount": 200,
"commentCount": 1200,
"mentions": [],
"hashtags": [
{ "name": "travel" },
{ "name": "adventure" }
],
"sourceType": "hashtag",
"hashtag": "travel"
}
  • Profile items (sourceType: "profile")
    Example:
{
"id": "7234567890123456789",
"text": "Video description text",
"textLanguage": "en",
"createTime": 1705312200,
"createTimeISO": "2024-01-15T10:30:00.000Z",
"isAd": false,
"authorMeta": {
"id": "123456789",
"name": "username",
"profileUrl": "https://www.tiktok.com/@username",
"nickName": "Display Name",
"verified": false,
"signature": "Bio text",
"bioLink": null,
"originalAvatarUrl": "https://...",
"avatar": "https://...",
"commerceUserInfo": { "commerceUser": false },
"privateAccount": false,
"roomId": "",
"ttSeller": false,
"followDatasetUrl": null,
"following": 100,
"friends": 50,
"fans": 10000,
"heart": 50000,
"video": 200,
"digg": 100000
},
"musicMeta": {
"musicName": "Song Title",
"musicAuthor": "Artist Name",
"musicOriginal": false,
"playUrl": "https://...",
"coverMediumUrl": "https://...",
"originalCoverMediumUrl": "https://...",
"musicId": "67890"
},
"locationMeta": {
"address": "",
"city": "",
"cityCode": "",
"countryCode": "",
"locationName": "",
"locationId": ""
},
"webVideoUrl": "https://www.tiktok.com/@username/video/1234567890",
"mediaUrls": [],
"commentsDatasetUrl": null,
"videoMeta": {
"height": 1920,
"width": 1080,
"duration": 30,
"coverUrl": "https://...",
"originalCoverUrl": "https://...",
"definition": "720p",
"format": "mp4",
"subtitleLinks": []
},
"diggCount": 15000,
"shareCount": 500,
"playCount": 100000,
"collectCount": 200,
"commentCount": 1200,
"repostCount": 50,
"mentions": [],
"detailedMentions": [],
"hashtags": [{ "name": "travel" }],
"effectStickers": [],
"isSlideshow": false,
"isPinned": false,
"isSponsored": false,
"input": "username",
"fromProfileSection": "videos",
"sourceType": "profile",
"profile": "username"
}
  • Video URL items (sourceType: "video_url" or "video_related")
    Example:
{
"id": "7234567890123456789",
"text": "Video description text",
"textLanguage": "en",
"createTime": 1705312200,
"createTimeISO": "2024-01-15T10:30:00.000Z",
"locationCreated": "",
"isAd": false,
"authorMeta": {
"id": "123456789",
"name": "username",
"profileUrl": "https://www.tiktok.com/@username",
"nickName": "Display Name",
"verified": false,
"signature": "Bio text",
"bioLink": null,
"originalAvatarUrl": "https://...",
"avatar": "https://...",
"privateAccount": false,
"roomId": "",
"ttSeller": false,
"followDatasetUrl": null,
"following": 100,
"friends": 50,
"fans": 10000,
"heart": 50000,
"video": 200,
"digg": 100000
},
"musicMeta": {
"musicName": "Song Title",
"musicAuthor": "Artist Name",
"musicOriginal": true,
"playUrl": "https://...",
"coverMediumUrl": "https://...",
"originalCoverMediumUrl": "https://...",
"musicId": "67890"
},
"webVideoUrl": "https://www.tiktok.com/@username/video/1234567890",
"mediaUrls": [],
"commentsDatasetUrl": null,
"videoMeta": {
"height": 1920,
"width": 1080,
"duration": 30,
"coverUrl": "https://...",
"originalCoverUrl": "https://...",
"definition": "720p",
"format": "mp4",
"subtitleLinks": []
},
"diggCount": 15000,
"shareCount": 500,
"playCount": 100000,
"collectCount": 200,
"commentCount": 1200,
"repostCount": 50,
"mentions": [],
"detailedMentions": [],
"hashtags": [{ "name": "travel" }],
"effectStickers": [],
"isSlideshow": false,
"isPinned": false,
"isSponsored": false,
"submittedVideoUrl": "https://www.tiktok.com/@username/video/1234567890",
"sourceType": "video_url",
"videoUrl": "https://www.tiktok.com/@username/video/1234567890"
}

Source identification fields:

  • sourceType: “hashtag”, “profile”, “video_url”, or “video_related”
  • hashtag: present for hashtag items
  • profile: present for profile items
  • videoUrl: present for video_url and video_related items

FAQ

How does the proxy fallback work?

The actor starts without a proxy for speed. If TikTok returns 403/429 or empty responses, it automatically switches to datacenter proxies and then to residential proxies with retries. After fallback, it continues with the working proxy type to maintain stability.

How are inputs processed?

Inputs are processed sequentially: all hashtags first, then profiles, then video URLs. Each item is written to the dataset in real time, so you can monitor progress as results stream in.

Can it scrape private profiles?

No. The actor only scrapes publicly available content. Private profiles and password-protected content are not accessible.

How many videos can I scrape per source?

The resultsPerPage parameter accepts 1 to 1,000,000. Practical throughput depends on TikTok rate limiting and source size. For very large profiles, use date filters to break runs into batches.

Does it include reposts?

Yes. Set “Profile sections to scrape” to include “reposts” if a profile has them available.

Do date filters work with all sorts?

Date filters are designed for “latest” and “oldest”. When using “popular” sorting, date filtering may be less effective due to popularity-based ordering.

What about data accuracy?

Data is extracted from TikTok’s web interface responses at scrape time. Counts like likes, views, and comments reflect the moment of collection and may change later.

How long does a run take?

Run time depends on the number of sources, resultsPerPage, network conditions, and any proxy fallback. Because processing is sequential, total time is the sum of individual tasks, with items appearing in the dataset as they are found.

What happens if a hashtag/profile/video is invalid?

The actor logs a warning and continues with the remaining inputs. One failed source won’t stop the entire run.

Why are there different output structures?

To preserve compatibility with specialized scrapers, each source type maintains its nested structure while adding a sourceType tag for unified filtering.

Closing CTA / Final thoughts

Tiktok Data Extractor Scraper is built to extract structured, public TikTok data at scale for marketing, research, and analytics. With unified inputs (hashtags, profiles, video URLs), robust proxy fallback, and real-time dataset output, it empowers marketers, developers, data analysts, and researchers to build reliable TikTok datasets fast. Export to CSV/JSON/Excel, integrate via the Apify API, and automate your tiktok data scraper workflows. Start extracting smarter insights and accelerate your TikTok data pipelines today.