SocialGrid — TikTok Scraper avatar

SocialGrid — TikTok Scraper

Pricing

Pay per usage

Go to Apify Store
SocialGrid — TikTok Scraper

SocialGrid — TikTok Scraper

Unified-schema TikTok profile and video data via a residential proxy (TikTok mandatory-login-walls datacenter IPs — see PLAN.md). Reduced-surface MVP: profile + single video only; posts-listing/comments/search/trending need TikTok's signed XHR API and are deferred.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Giovanni

Giovanni

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

Categories

Share

Unofficial community Actor. Not affiliated with, endorsed by, or sponsored by TikTok.

Unified-schema TikTok profile and single-video data — flat, agent-ready JSON, never raw SIGI/universal-data blobs. Routed through Apify's residential proxy, which is required to bypass TikTok's mandatory-login-wall on datacenter IPs.

Why this vs. a raw-blob scraper

TikTok's own embedded JSON (SIGI_STATE/__UNIVERSAL_DATA_FOR_REHYDRATION__) is a sprawling internal app-state dump — hundreds of fields, most irrelevant, with no stable "here's the profile" shape. This actor extracts just what a creator-analytics workflow or an LLM agent needs — Author and Post objects shared across SocialGrid's YouTube/TikTok/Instagram scrapers — so the same downstream code works across platforms. Fields TikTok doesn't expose come back as null, never 0, so "no data" and "zero" are never confused.

What it does — and honestly, what it doesn't (yet)

Implemented and live-verified:

ModeDescriptionKey input
profileAccount profile: display name, bio, avatar, follower/following/video counts, verified, external linkshandle
postSingle video detail: caption, engagement (views/likes/comments/shares), posted date, hashtagsvideoUrl

Explicitly NOT implemented in this MVPposts (video listing), comments, search, and trending all throw a clean notImplemented-style error, not fake or partial data. These require TikTok's signed XHR API (X-Bogus/msToken request signing), which is a separate, unsolved reverse-engineering effort, not a quick follow-up. If you need those, this actor isn't ready for them yet — check back or watch for a future version.

We verified there's no simpler fallback: no SSR-embedded video list on the profile page, /tag/*, /discover/*, /foryou, oEmbed, the legacy node/share endpoint, sitemap.xml, or Open Graph/JSON-LD meta tags expose a video list without the signed API.

Example output (mode: "profile")

{
"success": true,
"platform": "tiktok",
"mode": "profile",
"data": {
"platform": "tiktok",
"id": "6614519312189947909",
"handle": "mrbeast",
"display_name": "MrBeast",
"bio": "Watch my latest video! 👇",
"avatar_url": "https://p16-common-sign.tiktokcdn-eu.com/...",
"verified": true,
"followers": 129200000,
"following": 353,
"post_count": 462,
"total_likes": 1300000000,
"external_links": ["https://youtu.be/iYlODtkyw_I?si=..."],
"is_private": false
}
}

Input

  • mode (required): profile | post — only these two are implemented, see above
  • handle: account handle (@mrbeast) or full profile URL — required for mode=profile
  • videoUrl: full TikTok video URL, must include the author's handle in the path (tiktok.com/@handle/video/123...) — required for mode=post
  • proxyGroup (default RESIDENTIAL): Apify proxy group. TikTok mandatory-login-walls datacenter IPs, so this must stay RESIDENTIAL for the actor to work at all — residential IPs are individually inconsistent (some still hit the login wall), so the actor retries with a fresh proxy session automatically

Usage

Apify CLI

apify actors call fulinlabs/socialgrid-tiktok-scraper \
--input '{"mode": "profile", "handle": "@mrbeast"}'

REST API

curl "https://api.apify.com/v2/acts/fulinlabs~socialgrid-tiktok-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode": "post", "videoUrl": "https://www.tiktok.com/@mrbeast/video/..."}'

Pricing

Benchmarked against comparable Store TikTok actors (apidojo's TikTok Scraper/Profile Scraper at $0.30/1,000 posts or users, TikTok Shop Scraper at ~$2/1,000 results). Given this actor uses metered residential-proxy bandwidth per call (TikTok's login wall requires it — see Risks below), pricing is set slightly above a plain datacenter-proxy scraper:

  • profile / post: $1.50 per 1,000 results

Reliability & known risks

  • Residential proxy bandwidth is metered and billed separately by Apify — every call costs proxy GB, tracked as volume grows.
  • Individual residential IPs are inconsistently reliable; the actor retries with a fresh session, but a soak test under real production volume (and non-US regions) hasn't been run yet.
  • A 6-hour canary schedule re-runs the live test suite (getProfile + getPost against known fixtures) and alerts on failure.