YouTube, TikTok & Instagram Creator Videos Scraper
Pricing
from $0.80 / 1,000 creator video results
YouTube, TikTok & Instagram Creator Videos Scraper
Collect public YouTube, TikTok, and Instagram creator videos with playback counts in a normalized dataset. Bounded feeds, dataset input, and diagnostic rows; Instagram collection normally uses its public profile window.
Pricing
from $0.80 / 1,000 creator video results
Rating
0.0
(0)
Developer
Coor Yu
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
3
Monthly active users
3 days ago
Last modified
Categories
Share
Creator Videos Scraper exports public YouTube, TikTok, and Instagram profile videos with available playback counts into one dataset for creator inventories and cross-platform research. Mix profile URLs or stream an accessible Apify dataset.
The social-creator-all-videos slug does not guarantee complete history. Instagram normally exposes only a logged-out profile window; all platforms retain source, page, item and budget limits. No user-supplied social login/API key is requested, but Apify API runs require an Apify token. TikTok uses third-party TikWM, not an official TikTok API.
Collection scope
| Platform | Implemented path | Important limit |
|---|---|---|
| YouTube | Direct HTTP and public continuation tokens; Videos, then optional Shorts and Streams tabs. | One shared per-profile bound across tabs; finite feed pagination and approximate displayed counts. |
| TikTok | Paced requests to TikWM's public creator-posts endpoint. | Third-party coverage/freshness, up to 5,000 pages, per-profile bound; not an official TikTok history export. |
| Logged-out profile data through one shared Chromium session. | When a profile timeline window is present, counted videos from that window are emitted and collection stops there. Fallback feeds are attempted only when the window is absent. |
Only records with a finite public playback value are accepted as video results. This Actor does not scrape comments, download permanent media files, discover creators by keyword, or retrieve private accounts.
Quick start
{"profileUrls": ["https://www.youtube.com/@OpenAI","https://www.tiktok.com/@mrbeast","https://www.instagram.com/instagram/"],"maxVideosPerProfile": 3,"maxConcurrency": 3,"includeFailedProfiles": true}
Illustrative input, not a verified live result. Start small; save as input.json for a billable API run:
curl -X POST \'https://api.apify.com/v2/acts/funny_ground~social-creator-all-videos/run-sync-get-dataset-items' \-H "Authorization: Bearer $APIFY_TOKEN" \-H 'Content-Type: application/json' \--data-binary @input.json
Use full profile URLs or explicit prefixes such as youtube:@OpenAI, tiktok:@mrbeast, and instagram:instagram.
Input fields
| Field | Default | Behavior and range |
|---|---|---|
profileUrls | [] | Mixed YouTube channel, TikTok creator, and Instagram root-profile URLs. |
inputDatasetId | unset | Optional accessible Apify dataset, read in 1,000-item pages; combined with inline inputs. Must not be this run's output dataset. |
urlField | "url" | Top-level string field holding each dataset item's profile URL. |
maxVideosPerProfile | 0 | 1–50000 sets the per-profile bound. 0 enables traversal with a 50,000-video safety cap, not guaranteed full history. |
includeYouTubeShorts | true | Add Shorts after Videos within the shared profile bound. |
includeYouTubeStreams | true | Add Streams after Videos/Shorts within the same bound. |
maxConcurrency | 8 | Overall simultaneous profiles; 1–30. |
youtubeConcurrency | 8 | YouTube profile concurrency; 1–20, also bounded by overall concurrency. |
tiktokConcurrency | 3 | TikTok profile concurrency; 1–8; requests are globally paced. |
instagramConcurrency | 1 | Instagram profile concurrency; 1–2; one shared browser session. |
instagramProxyConfiguration | {"useApifyProxy": true} | Default Apify datacenter routing for Instagram only; explicit residential groups, custom proxies, or direct egress can be configured. |
instagramRequestDelayMs | 350 | Instagram request spacing; 100–5000 ms. |
maxRequestRetries | 2 | Upstream retries; 0–4. |
requestTimeoutSecs | 45 | YouTube/Instagram request timeout; 15–120 seconds. TikWM requests instead use a fixed 30-second timeout in this implementation. |
includeFailedProfiles | true | Save diagnostic rows without a video-result fee; these still consume dataset space and preview capacity. |
YouTube stops at 5,000 pages/tab, repeated tokens or two empty additions; Videos may exhaust the shared limit before Shorts/Streams. TikWM requests up to 35 videos/page with roughly 1.1-second global spacing. Instagram fallback page bounds are min(5000, ceil(remaining limit / 12) + 10), not a way around its normal public-window restriction.
Developer Free-plan preview: 50 saved rows globally, including diagnostics, which reduce successful-video capacity. Per-profile limits—including 0—are capped at 50. Paid plans remove this cap, not other bounds. FREE-tier video events still cost money.
Dataset, summaries, and semantics
Successful rows have status: "ok", platform, profileInput, profileUrl, collection time crawledAt, creator fields, videoId, canonical page videoUrl, title/caption, and numeric viewCount/playCount. These two playback fields are aliases, not independent measurements.
- YouTube: channel identity, relative
publishedTimeText, available duration/thumbnail,sourceSection, position and Shorts/live flags. No per-video likes, comment-total or precise-publication enrichment is performed. - TikTok: available ISO publication date, likes, comments, shares, saves, duration, thumbnail, dimensions, hashtags, music and pinned/creator flags from TikWM.
- Instagram: available caption, publication date, likes/comments, duration, thumbnail, dimensions, hashtags, media type, shortcode and creator fields from profile/list data. No detail hydration or complete carousel-slide inventory.
Optional fields may be null or absent. YouTube abbreviations are approximate; live counters can describe “watching now,” not lifetime views. TikWM/Instagram counters are unverified source snapshots, not guaranteed exact/current totals. Source timestamps differ from collection time.
Diagnostics have status: "failed", profileInput, errorCode, error, charged: false, and available attribution. Filter to ok before counting videos. Later failures can coexist with streamed videos. Key-value record OUTPUT contains the run summary; ETA/progress estimates are heuristics.
Deduplication is within each profile crawl, including YouTube tabs, not across repeated inline/dataset tasks. Repeating a creator can produce duplicate rows and charges; canonicalize inputs if uniqueness matters. On a container restart or migration, already saved video multiplicities are restored from the run dataset and skipped during replay before result writes/charges. This recovery protection does not remove existing data or merge intentionally repeated profile tasks.
Custom-event billing and current pricing
Successful batches use Actor.pushData(rows, "video-result"), associating the custom event with saved counted videos—not automatic apify-default-dataset-item billing. Uncounted rows are excluded. Diagnostics bypass the event through the opened dataset, but retain start/usage/storage costs and consume preview capacity. No separate per-request event is configured.
| Apify plan | Per video-result event | Per 1,000 events |
|---|---|---|
| FREE | $0.0045 | $4.50 |
| BRONZE | $0.0009 | $0.90 |
| SILVER, GOLD, PLATINUM, DIAMOND | $0.0008 | $0.80 |
The apify-actor-start event costs $0.00005 per GB of allocated memory, minimum one event per run. The running user separately pays Apify compute, transfer, storage, and enabled proxy traffic. Explicit residential routing has additional bandwidth charges and is never automatically selected. Custom proxies may have their own provider costs. Empty/failed runs may still incur startup and platform usage; diagnostics are not “free runs.”
No downstream Actor is called. TikWM is an external dependency with no customer key or separate service-request charge configured in the reviewed code; availability is not guaranteed. See the Pricing tab. Event budgets do not cap all platform costs.
FAQs and reliability
Does maxVideosPerProfile: 0 guarantee every video? No. It enables bounded traversal where supported. Public windows, missing counters, safety caps, third-party coverage, failures, and budgets still restrict output.
Must I enable a residential proxy? No. Instagram defaults to datacenter routing; residential/custom routing is explicit and affects Instagram only. Proxy changes cannot guarantee access or bypass private/restricted content.
Can an empty run succeed? Usually zero valid saved videos cause failure. The code exempts the charge-limit path from that final failure check, so inspect OUTPUT, diagnostics and dataset contents instead of treating run status as proof of results.
Use only public data for lawful purposes, following platform terms, privacy requirements, copyright, and applicable access rules. No social credential input is requested and no private-content access is promised.
Complementary Actors
- Social Video Profile Resolver — start from individual video URLs and resolve creator profiles.
- YouTube Scraper — search, playlists, direct videos, and optional YouTube statistics enrichment.
- Instagram Reels & Video Scraper — direct posts and optional detail/media-link extraction.