Web Scraping Layers for AI & Automation

back to blog

How to archive TikTok and Pinterest videos at scale

ParseBird·14 Oct 2026

Key Takeaways

Can I bulk download TikTok videos without a watermark tool for each one? Yes. The TikTok Video Downloader takes a list of TikTok video URLs, including vt.tiktok.com and vm.tiktok.com short links, downloads each as MP4, and returns a download link per video.

Can TikTok videos be saved straight to my own cloud storage? Yes. Set storageType to aws, gcp, azure, or digitalocean and add your bucket credentials. The default is Apify's own key-value store.

What does the Pinterest Video Downloader return? For each public pin, the best-quality video or image URL, all media variants (including the HLS stream and 720p MP4), title, description, pinner, board, and engagement counts such as saves, comments, and video views.

Am I charged when a TikTok download fails? No. Only succeeded downloads are charged. Failed downloads, invalid URLs, private or deleted posts, photo-mode slideshows, and duplicates are free.

Why teams archive short-form video

TikTok (ByteDance short-video app) and Pinterest (visual discovery platform) host much of the short-form video that brands, agencies, and researchers need to keep. Common reasons:

TeamWhy they archive TikTok or Pinterest videos
Brands and agenciesKeep copies of their own posts and creator deliverables
Influencer marketersProof of delivery for sponsored posts before they can be deleted
Creative strategistsAn internal reference library of ad and UGC formats
Researchers and journalistsPreserve public posts as evidence, with metadata
AI and data teamsBuild video datasets for transcription or classification

Posts on both platforms get deleted, made private, or edited. A video that is a link in a spreadsheet today can be gone next month. Archiving keeps the file plus the metadata that proves where it came from.

Is it legal to download TikTok and Pinterest videos? Downloading a public video is technically simple, but the video remains its creator's copyrighted work. Archiving your own content, licensed creator deliverables, or material for internal research is common practice. Republishing someone else's video without permission is not. Check the platform terms and your local copyright rules.

How to bulk download TikTok videos

The TikTok Video Downloader takes a list of URLs in any common TikTok format:

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("parsebird/tiktok-video-downloader").call(run_input={
    "startUrls": [
        "https://www.tiktok.com/@example/video/7120985110991604993",
        "https://vt.tiktok.com/ZSDHmaujt/",
    ],
    "region": "US",
    "storageType": "apify",
})
videos = client.dataset(run["defaultDatasetId"]).list_items().items

Each input URL produces exactly one row with a status, so you can always reconcile the output against your list:

statusMeaningCharged
succeededMP4 saved, downloadUrl is setYes
failedDownload or upload failed, see errorNo
invalidUrlNot a TikTok post, or an expired short linkNo
unavailablePost deleted or privateNo
noVideoContentPhoto-mode slideshow with no videoNo
timedOutRun ended before this video was reachedNo

A succeeded row also includes postId, authorUsername, durationSeconds, width, height, fileSizeBytes, and downloadedAt.

Why does the region setting matter for TikTok downloads? TikTok serves videos from regional CDNs. Setting region to a two-letter country code downloads through an IP in that country, which helps with videos that are only served or only fast in certain locations.

Saving TikTok videos to S3, Google Cloud, Azure, or DigitalOcean

For archives that need to live in your own infrastructure, the downloader can upload each MP4 directly to your bucket:

{
  "startUrls": ["https://www.tiktok.com/@example/video/7120985110991604993"],
  "storageType": "aws",
  "s3AccessKeyId": "AKIA...",
  "s3SecretAccessKey": "...",
  "s3Region": "us-east-1",
  "s3Bucket": "brand-video-archive",
  "s3Path": "tiktok/2026-10/"
}

Use an access key scoped to that one bucket and path. Google Cloud (googleCloudServiceKeyJson), Azure (azureAccountKey), and DigitalOcean Spaces (with a private or public-read ACL) follow the same pattern. The Apify docs on input secrets explain how credentials in actor input are encrypted.

The actor can also send each result to Notion, Todoist, and other apps through Apify MCP connectors with outputConnector, which is useful for a review queue.

How to download Pinterest videos and images in bulk

The Pinterest Video Downloader takes pin URLs from any Pinterest domain, pin.it short links, or bare numeric pin IDs. Boards, profiles, and search pages are skipped.

run = client.actor("parsebird/pinterest-video-downloader").call(run_input={
    "pinterestTargets": [
        "https://www.pinterest.com/pin/39617671718303098/",
        "https://pin.it/example",
    ],
    "maxItems": 200,
    "mediaType": "videos",
    "rehostMediaToKvStore": True,
})

By default the actor returns links to Pinterest's own media files. With rehostMediaToKvStore on, it also saves the best file for each pin to the run's storage and adds downloadUrl, fileSizeBytes, and storageKey, which is what you want for a real archive, since Pinterest CDN links are not guaranteed to stay valid.

A trimmed, illustrative row:

{
  "pinId": "39617671718303098",
  "mediaType": "video",
  "bestMediaUrl": "https://v1.pinimg.com/videos/mc/720p/.../example.mp4",
  "video": { "width": 1080, "height": 1920, "durationSeconds": 8.2, "quality": "720p", "format": "mp4" },
  "pinner": { "username": "example", "followerCount": 169 },
  "board": { "name": "hair ideas", "pinCount": 895 },
  "engagement": { "saves": 1240, "comments": 3, "repins": 1240, "videoViews": 18000 }
}

Can I download Pinterest images too, or only videos? Both. Set mediaType to both, videos, or images. For image pins, images lists every resolution Pinterest offers. ParseBird also has a dedicated Pinterest Image Downloader for image-only metadata.

TikTok and Pinterest downloader pricing

ActorChargeApproximate price (free plan, at time of writing)
TikTok Video DownloaderPer successful video$2.99 per 1,000 videos
Pinterest Video DownloaderPer pin returned$2.29 per 1,000 pins
Pinterest Video DownloaderPer MB saved (only with rehosting on)$4.99 per 1,000 MB

Paid Apify plans get lower rates. Check each actor page for current pricing.

Building a video archive workflow

A practical end-to-end archive for a brand or agency:

  1. Collect URLs from a sheet of creator deliverables, or from discovery scrapers such as the TikTok Top Ads Scraper or Pinterest Search Scraper.
  2. Download with the actors above, writing to your own bucket under a dated path.
  3. Store metadata (post ID, author, duration, download date, source URL) in a database next to the file key.
  4. Transcribe if needed. The pipeline in how to turn YouTube videos into text works for any MP4.
  5. Schedule a weekly run with Apify schedules for new deliverables.

FAQ

Does the TikTok downloader work with TikTok photo slideshows? Photo-mode posts have no video, so they return status: "noVideoContent" and are not charged. The cover image URL is still included.

What happens if I submit the same TikTok URL twice? Duplicates are detected and not charged a second time.

Can I download a whole Pinterest board? Not directly. The Pinterest Video Downloader only accepts pin URLs. Collect a board's pin URLs first with a Pinterest scraper, then pass them in.

Do I need a TikTok or Pinterest account? No. Both actors work with public posts and need no login.

Browse the Videos category and the Social Media category for more download tools.