TikTok Slideshow Downloader
Pricing
from $2.49 / 1,000 tiktok slideshow photos
TikTok Slideshow Downloader
Download TikTok slideshow photos from photo-post links, short links, or post IDs. Saves every image as a file with a direct download link, plus caption, author, stats, and sound details.
Pricing
from $2.49 / 1,000 tiktok slideshow photos
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
11 hours ago
Last modified
Categories
Share
TikTok Slideshow Downloader
TikTok Slideshow Downloader saves every photo from public TikTok slideshow (photo mode) posts as image files, each with a direct download link and the post's caption, author, engagement counts, and sound details.
| Paste up to 500 TikTok photo-post links, short-share links, or post IDs and get one row per photo with a ready-to-use download link, image size and dimensions, custom file names, and 20+ post and sound fields. |
| ParseBird TikTok Suite • Video, story, LIVE & shop data | |||
|
TikTok Slideshow Downloader You are here |
TikTok Story Viewer Active stories, no-watermark video |
TikTok Live Search Scraper LIVE rooms by keyword |
TikTok Shop Reviews Scraper Product reviews and ratings |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Use Apify Actor parsebird/tiktok-slideshow-downloader to download all photos from public TikTok slideshow (photo mode) posts. Example with ApifyClient (Python): client.actor("parsebird/tiktok-slideshow-downloader").call(run_input={"slideshowUrls":[{"url":"https://www.tiktok.com/@anamiriamyepez/photo/7498924643227536645"}],"maxItems":3,"fileNamePattern":"{postId}-photo-{photoIndex}.{extension}"}). Inputs: slideshowUrls array of {url, userData?} objects, required, 1-500 items, url accepts a TikTok photo-post link, vm.tiktok.com / vt.tiktok.com / tiktok.com/t/ short link, or numeric post ID, userData is optional custom JSON copied to every photo row; maxItems integer optional, total photo limit, empty = all photos; fileNamePattern string optional default "{postId}-photo-{photoIndex}.{extension}" (1-200 chars). Output: one dataset row per saved photo with inputIndex, requestedUrl, sourceUrl, videoId, authorUsername, authorName, caption, photoIndex, photoCount, fileName, contentType, fileSizeBytes, imageWidth, imageHeight, sourceImageUrl, userData, post{playCount,likeCount,commentCount,shareCount,collectCount}, audio{id,title,authorName,original,durationSeconds}, downloadUrl (direct Apify key-value store link to the saved image). Video posts, private posts, and deleted posts are skipped and logged. API docs: https://docs.apify.com/api/client/python/ and https://docs.apify.com/api/client/js/. Token: https://console.apify.com/account/integrations.
What is TikTok Slideshow Downloader?
TikTok Slideshow Downloader is a TikTok photo downloader for slideshow posts, also called TikTok photo mode or carousel posts. Give it a link such as https://www.tiktok.com/@anamiriamyepez/photo/7498924643227536645 and it downloads every image in the slideshow, stores each one as a file in Apify storage, and returns a direct download link for each photo together with the post's public metadata.
It works as a lightweight TikTok slideshow API alternative: no TikTok account, no login, and no TikTok API key needed. The easiest way to try it is to open the actor, keep the prefilled link, and click Start.
What can TikTok Slideshow Downloader do?
- 🖼️ Download every slideshow photo as a real image file, not just a link that expires later.
- 🔗 Accept any link format: full
/photo/links,vm.tiktok.com/vt.tiktok.com/tiktok.com/t/short-share links,m.tiktok.com/v/{id}.htmllinks, and plain numeric post IDs. - 📦 Process up to 500 posts per run with a total photo limit (
maxItems) to control cost. - 🏷️ Name files your way with
{postId},{photoIndex}, and{extension}placeholders. - 📊 Add post context to each photo: caption, author, views, likes, comments, shares, saves, and the post's sound.
- 🧩 Attach your own data (
userData) to any link and get it back on every photo row from that post. - ⏱️ Schedule runs with Apify schedules, call it from the Apify API, and connect it to integrations such as Make, Zapier, Google Drive, and webhooks.
- 📁 Export the photo list as JSON, CSV, Excel, HTML, or XML from the dataset.
What data can you extract from TikTok slideshows?
| Field | Description |
|---|---|
downloadUrl | Direct link to the saved image in the run's Apify key-value store |
fileName | Stored file name, built from your fileNamePattern |
contentType | Image media type, for example image/jpeg |
fileSizeBytes | Saved image size in bytes |
imageWidth / imageHeight | Image dimensions in pixels, read from the saved file |
photoIndex / photoCount | Position of the photo in the slideshow and total photos in the post |
videoId | TikTok post ID |
sourceUrl | Canonical public TikTok photo-post link |
authorUsername / authorName | Creator handle and display name |
caption | Post caption including hashtags |
post.playCount, post.likeCount, post.commentCount, post.shareCount, post.collectCount | Public view, like, comment, share, and save counts |
audio.id, audio.title, audio.authorName, audio.original, audio.durationSeconds | Sound used in the slideshow |
sourceImageUrl | Original TikTok CDN image link (a signed link that expires, kept for reference) |
inputIndex / requestedUrl / userData | Which input the photo came from, and your custom data |
How to download TikTok slideshow photos
- Open TikTok Slideshow Downloader and click Try for free or Start.
- In TikTok slideshow links, add one
{"url": "..."}item per post. The url can be a photo-post link, a short-share link, or a numeric post ID. - Optionally set Max photos to cap the total number of photos saved in the run. Leave it empty to download every photo.
- Optionally change File name pattern, for example
{postId}_{photoIndex}.{extension}. - Click Start and wait for the run to finish. Small runs take a few seconds.
- Open the Output tab and click any
downloadUrlto open the image, or export the list as JSON, CSV, or Excel. - To get all files at once, open the run's Storage → Key-value store tab, or fetch the files through the key-value store API.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
slideshowUrls | array of objects | Yes | — | 1 to 500 items. Each item has url (photo-post link, short-share link, or numeric post ID) and optional userData (any JSON object). Plain strings are also accepted. |
slideshowUrls[].url | string | Yes | — | The TikTok reference to process. |
slideshowUrls[].userData | object | No | — | Custom data copied to every photo row from this reference. |
maxItems | integer | No | empty (all photos) | Total number of photos to save across all posts. The form pre-fills 3 for a quick test. |
fileNamePattern | string | No | {postId}-photo-{photoIndex}.{extension} | Stored file name. Supports {postId}, {photoIndex}, {extension}. 1–200 characters. Characters other than A-Z a-z 0-9 ! - _ . ' ( ) become _. |
proxyConfiguration | object | No | no proxy | Optional Apify Proxy or custom proxy settings. Not needed for normal runs. |
Input / Output
Example input:
{"slideshowUrls": [{ "url": "https://www.tiktok.com/@anamiriamyepez/photo/7498924643227536645" },{ "url": "7553302113757990166", "userData": { "campaign": "hull-city" } }],"maxItems": 3,"fileNamePattern": "{postId}-photo-{photoIndex}.{extension}"}
Example output (one row per saved photo):
{"inputIndex": 0,"requestedUrl": "https://www.tiktok.com/@anamiriamyepez/photo/7498924643227536645","sourceUrl": "https://www.tiktok.com/@anamiriamyepez/photo/7498924643227536645","videoId": "7498924643227536645","authorUsername": "anamiriamyepez","authorName": "Ana Miriam Yepez Arreola","caption": "¡Podemos tener más comunicación! 📣, escanea el código QR y contáctame. 👩🏻⚖️⚖️ 💚 💞 🇲🇽 #MiriamYépez #Vota20 #JusticiaConRostroHumano #EleccionesJudiciales2025 🗳️","photoIndex": 1,"photoCount": 3,"fileName": "7498924643227536645-photo-1.jpg","contentType": "image/jpeg","fileSizeBytes": 90286,"imageWidth": 1080,"imageHeight": 1080,"sourceImageUrl": "https://p16-common-sign.tiktokcdn.com/tos-maliva-i-photomode-us/4e11f114a249493eb708aa9977d014ca~tplv-photomode-image.jpeg?dr=14555&x-expires=1790766000&x-signature=...","post": {"playCount": 10700,"likeCount": 53,"commentCount": 33,"shareCount": 3,"collectCount": 0},"audio": {"id": "7210195541555169281","title": "Cyber Techno","authorName": "Ganger Baster","original": false,"durationSeconds": 179},"downloadUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/7498924643227536645-photo-1.jpg?signature=<signature>"}
Some fields can be null when TikTok does not publish them for a post. Download the photo list in JSON, CSV, Excel, HTML, or XML from the dataset. The image files themselves live in the run's key-value store.
Python API example
from apify_client import ApifyClientimport urllib.requestclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("parsebird/tiktok-slideshow-downloader").call(run_input={"slideshowUrls": [{"url": "https://www.tiktok.com/@anamiriamyepez/photo/7498924643227536645"}],"fileNamePattern": "{postId}-photo-{photoIndex}.{extension}",})for row in client.dataset(run["defaultDatasetId"]).iterate_items():urllib.request.urlretrieve(row["downloadUrl"], row["fileName"])print("saved", row["fileName"], row["imageWidth"], "x", row["imageHeight"])
JavaScript API example
import { ApifyClient } from 'apify-client';import { writeFile } from 'node:fs/promises';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('parsebird/tiktok-slideshow-downloader').call({slideshowUrls: [{ url: 'https://www.tiktok.com/@anamiriamyepez/photo/7498924643227536645' }],maxItems: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const row of items) {const res = await fetch(row.downloadUrl);await writeFile(row.fileName, Buffer.from(await res.arrayBuffer()));}
See the official Python client and JavaScript client docs for more options.
Use cases
- Content archiving: back up your own or your brand's TikTok slideshows as original image files.
- Creative and trend research: collect carousel designs, infographics, and photo dumps for moodboards.
- Social media reporting: pair each photo with its view, like, comment, share, and save counts.
- Repurposing: move slideshow images to Instagram carousels, Pinterest, or a CMS through integrations.
- Dataset building: gather image files with captions and hashtags for labeling or analysis.
- Monitoring: re-run on a schedule to track engagement on a fixed set of slideshow posts.
How it works
- The actor reads your links, resolves short-share links, and extracts the post ID.
- It loads the public TikTok post page and reads the slideshow photo list and post details.
- It downloads each photo, reads its real type, size, and dimensions, and saves it to the run's key-value store under your file name.
- It pushes one dataset row per photo with a direct
downloadUrl, stops at yourmaxItemslimit, and logs any skipped links with the reason.
How much does it cost to download TikTok slideshow photos?
What is the price per TikTok slideshow photo?
The actor uses pay-per-event pricing. You pay only for photos that are saved; platform usage is included.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
photo-downloaded | $0.00399 ($3.99 / 1,000) | $0.00349 ($3.49 / 1,000) | $0.00299 ($2.99 / 1,000) | $0.00249 ($2.49 / 1,000) |
One photo-downloaded event is one photo saved and returned in the dataset. The prefilled 3-photo test costs about $0.012 on the Free plan, and 1,000 photos cost $3.99. Skipped links (videos, private or deleted posts, invalid links) are not charged. Apify's free plan includes monthly platform credits you can use to try the actor.
Is it legal to download TikTok slideshow photos?
Is scraping TikTok photo posts legal?
This actor only accesses publicly available TikTok posts and does not log in or bypass privacy settings. Scraping public data is generally legal in many jurisdictions, but the photos themselves are usually protected by copyright and may contain personal data. Download only what you have a right to use, respect TikTok's Terms of Service and creators' rights, and consult your lawyer if unsure. Read more in Apify's guide: Is web scraping legal?
Other downloaders and related Actors
| Actor | Best for |
|---|---|
| Pinterest Image Downloader | Image URLs and size variants from Pinterest pins |
| YouTube Shorts Downloader | Downloading YouTube Shorts |
| YouTube Thumbnail Downloader | YouTube thumbnail images |
| Kick Video Downloader | Kick clips and VODs |
| Telegram Media Downloader | Media from public Telegram channels |
| Image Resizer API | Resizing the downloaded photos |
FAQ
What is a TikTok slideshow?
A slideshow (photo mode or carousel) is a TikTok post made of several still photos that viewers swipe through, usually with a sound. Its link contains /photo/ instead of /video/.
Which link formats are supported?
Full tiktok.com/@user/photo/{id} links (with or without query parameters), vm.tiktok.com, vt.tiktok.com, and tiktok.com/t/ short-share links, m.tiktok.com/v/{id}.html links, and numeric post IDs.
Can it download TikTok videos? No. Regular video posts are skipped and logged with the reason "regular video post", and you are not charged for them.
Do I need a TikTok account or API key? No. The actor only reads public posts. Private, deleted, and login-only posts are skipped.
How long do the download links work?
downloadUrl points to the run's Apify key-value store, so it works as long as that storage exists under your plan's data retention. sourceImageUrl is TikTok's signed CDN link and stops working after a while, so use downloadUrl for anything you keep.
Why is there no watermark removal or upscaling? The actor saves the photos exactly as TikTok serves them and does not edit images.
What does maxItems count?
Photos, not posts. With maxItems: 5 and two 16-photo slideshows, the run saves the first 5 photos and stops.
Why did a link return no photos? The run log lists every skipped link with a reason: a regular video post, a private or deleted post, an expired short link, or a link that is not from TikTok. Open the link in a browser to confirm it is a public photo post.
Can I schedule runs or use it in automations? Yes. Use schedules, the API, webhooks, or integrations like Make, Zapier, and Google Drive.
Where can I report issues or request features? Open the Issues tab on the actor page with your input and run ID. We usually reply quickly.