TikTok vs Instagram Scraping Benchmark: We Tested 200 Posts (2026)
We ran TikTok and Instagram hashtag scrapers on 200 requested posts each, measuring success rate, speed, cost per 1,000 rows, and free-tier limits in detail.
9 min read
As an Apify affiliate, we may earn a commission from qualifying purchases made through our links, at no extra cost to you. We only recommend tools we believe in.
We set out to answer a simple question with real numbers: if you point a TikTok scraper and an Instagram scraper at the same topic, what actually comes back? On the morning of 2026-09-09 we ran clockworks/free-tiktok-scraper and apify/instagram-hashtag-scraper at the hashtag #travel — two runs each requesting 100 posts to form a 200-post benchmark sample per platform, plus a third identical replication run. Every number below comes from those six runs’ datasets, run records, and logs. Nothing is estimated, and nothing is borrowed from marketing pages.
The headline result: TikTok returned all 300 requested videos across three runs (100% success), while Instagram returned 72 of 300 requested posts (24%) — not because of blocking, but because the free tier caps hashtag scraping at one page of results per run. Neither platform blocked a single request.
Methodology
Sample. One hashtag, #travel, on both platforms — a large, evergreen topic where feed exhaustion is never a risk. Each actor ran three times with near-default inputs: runs 1 and 2 form the 200-post benchmark sample, and run 3 replicates the test with full timing and logging. All six runs started within minutes of each other on the same morning, on a free Apify account.
Actors. TikTok: clockworks/free-tiktok-scraper at 4,096 MB of memory. Instagram: apify/instagram-hashtag-scraper at 128 MB of memory. Both ran at their default latest builds through the standard run pipeline — the exact experience a new user gets.
Inputs. Minimal inputs so the test reflects out-of-the-box behavior:
{ "hashtags": ["travel"], "resultsPerPage": 100 }
{ "hashtags": ["travel"], "resultsLimit": 100, "resultsType": "posts" }
Metrics. For each run we recorded rows returned (dataset item count), ID uniqueness (deduplication check), wall-clock run time from the run record, request-level success and failure counts from the run log, and billed cost from the run’s usage record. Per-row list prices were cross-checked against the pricing schedules published in the Apify API on the test date: $0.003 per TikTok result and $0.0026 per Instagram result on the FREE tier — and both matched our billed usage exactly (100 × $0.003 = $0.30; 24 × $0.0026 = $0.0624). For independent verification, our run IDs are HJ60sblqpDMRru0J0, uomg0M3iL3kn2mF4s, w58is15ZyrxpY4n0D (TikTok) and qLaMzWXffcHhuC6Vb, adKf8vzk4TEmD99d4, VdIRcwk3sbVBYVmdK (Instagram).
Results
| Actor | Requested | Rows returned (3 runs) | Success rate | Median run time | Failed requests | Billed cost |
|---|---|---|---|---|---|---|
| clockworks/free-tiktok-scraper | 100 Ă— 3 | 100, 100, 100 | 100% | ~20 s per 100-row run | 0 of 38 | $0.30 per run, $3.00 per 1k |
| apify/instagram-hashtag-scraper | 100 Ă— 3 | 24, 24, 24 | 24% of target | ~2 s per capped run | 0 of 3 | ~$0.06 per run, $2.60 per 1k |
The timed runs anchor the table. TikTok’s three runs finished in 20.2, 16.2, and 19.9 seconds of run time (median 19.9 seconds), each delivering exactly 100 videos with 100 unique IDs. Instagram’s three runs finished in 1.7, 1.9, and 1.8 seconds (median about 2 seconds), each delivering exactly 24 posts with 24 unique IDs. All six runs exited with success status, and the per-run pattern was strikingly consistent: TikTok always fulfilled the full request, Instagram always stopped at the same page size.
Data completeness was strong wherever rows were returned. Every one of the TikTok videos carried engagement counts (diggCount), captions, author metadata, and music metadata. Every Instagram post carried a caption, hashtags, the owner username, likesCount, commentsCount, a timestamp, and a post URL, with zero duplicate IDs; the content mix was 14 single images and 10 carousels, a realistic cross-section of a hashtag feed.
Total benchmark spend was about $1.09 in billed usage (3 × $0.30 for TikTok plus 3 × $0.0624 for Instagram) — comfortably inside the $5 monthly free Apify credit.
What the numbers mean
Finding 1: TikTok fulfills the full pull; the Instagram free tier stops at one page. The most important number in the table is not a speed — it is Instagram’s 24%. The run log explains it in plain text: Scraped 24 results. 24/100 followed by Hashtag scraper is limited to one page for free users, finishing. All three Instagram runs show the identical signature (24, 24, 24 rows, one request each, zero failures), which is the fingerprint of a deliberate pagination cap, not flaky blocking. If your design assumes 100+ Instagram hashtag rows per run on the free tier, redesign now: budget one page per run, or move to a paid plan where pagination continues past the first page.
Finding 2: Instagram wins the sprint, TikTok wins on volume per run. An Instagram run finishes in about 2 seconds — roughly 10× faster wall-clock than TikTok’s 20-second median. Per delivered row Instagram is faster too: about 0.08 seconds per post against TikTok’s 0.20 seconds per video. But rows per run is where TikTok dominates, delivering 100 rows against Instagram’s capped 24 — more than 4× the data per run. For a one-off sample of a couple dozen posts, Instagram feels instant. For building a dataset of thousands of rows, TikTok’s sustained throughput of roughly 300 rows per minute wins, and Instagram’s per-run cap means you pay the startup overhead again on every single page.
Finding 3: Neither platform blocked us, and the free credit covers real work. Zero failed requests across all six runs is the quiet success of this test: no CAPTCHAs, no IP bans, no session burn — the managed proxy and retry layers absorbed everything, including two transient TikTok errors that were retried automatically without losing a row. On cost, the list-rate math favors Instagram slightly per row ($2.60 versus $3.00 per 1k), and both fit easily in the free tier: $5 covers roughly 1,600 TikTok rows or 1,900 Instagram rows per month. The practical cost lesson is different: on the free tier your Instagram budget buys capped pages, so measure cost per usable row for your target, not per requested row.
Which should you use
- Use the TikTok Data Extractor when you need bulk hashtag video datasets (100+ rows per run), engagement metrics with author and music metadata, or video URLs for content analysis. It fulfilled every requested row in our test.
- Use the Instagram Hashtag Scraper when you need a fast sample of about 24 recent posts per hashtag for trend checks, caption research, or creator discovery — and you accept one page per run on the free tier.
- Upgrade to a paid Apify plan when you need multi-page Instagram hashtag pagination, scheduled recurring pulls, or higher throughput. Per-row rates also drop on paid tiers for both actors.
- Use the Instagram Scraper instead when your target is profiles, full post histories, or comments rather than hashtag feeds — it is the general-purpose actor for those data types. We did not run it in this test.
- Use the TikTok Scraper instead when you need profile sections, music-track pages, or deeper per-video options beyond the free extractor’s hashtag and profile inputs. We did not run it in this test.
Reproduce this test
You need a free Apify account — sign up at apify.com, which includes $5 of monthly platform credit. Install the CLI (npm install -g apify-cli), log in with apify login, then run:
apify call clockworks/free-tiktok-scraper \
-i '{"hashtags":["travel"],"resultsPerPage":100}' -o > tiktok.json
apify call apify/instagram-hashtag-scraper \
-i '{"hashtags":["travel"],"resultsLimit":100,"resultsType":"posts"}' -o > instagram.json
The same test via the API, using the apify-client package:
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
// TikTok: 100 videos for one hashtag
const tiktokRun = await client
.actor('clockworks/free-tiktok-scraper')
.call({ hashtags: ['travel'], resultsPerPage: 100 });
// Instagram: up to 100 recent posts for one hashtag
const igRun = await client
.actor('apify/instagram-hashtag-scraper')
.call({ hashtags: ['travel'], resultsLimit: 100, resultsType: 'posts' });
for (const run of [tiktokRun, igRun]) {
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(run.actId, 'rows:', items.length);
}
Compare your row counts, run times, and the Scraped X results lines in the run logs against our table. If TikTok returns all 100 rows and Instagram stops at roughly one page of 24 posts on a free account, you have reproduced our central finding exactly. Rerun monthly: pagination caps, prices, and anti-bot behavior all drift, and this page will be updated as they do.
Frequently Asked Questions
What does it cost to scrape 1,000 TikTok or Instagram posts?
Which scraper is faster, TikTok or Instagram?
Will TikTok or Instagram block my scraper?
Can I run this benchmark on Apify's free tier?
🛠️ Recommended Tools
Instagram Hashtag Scraper
Extract Instagram hashtag posts, reels, and engagement data for trend analysis and content research. Export to Excel, CSV, or JSON.
Instagram Scraper
Extract Instagram profiles, posts, hashtags, and engagement metrics. Ideal for influencer research and social media analytics.
TikTok Data Extractor
Extract TikTok videos, profiles, and engagement metrics to analyze trends and content performance. Export viral-video datasets to Excel or JSON.
TikTok Scraper
Extract TikTok videos, user profiles, hashtags, and music data. Crucial for understanding short-form video trends and viral content.
Tags
ParseFlow
Web Scraping & Automation Studio
Years of hands-on experience building and maintaining web scrapers. We publish real, actively-used tools on the Apify Store under the Website Harvester brand — including our Articles Extractor actor — alongside curating and reviewing the broader Apify ecosystem here on ParseFlow.
Related Articles
Apify MCP Server: Give Your AI Agent Access to 70,000+ Web Scrapers
How to connect Claude, GPT-4, and other AI agents to Apify's MCP server and give them access to 70,000+ real-time web scrapers — in under 10 minutes.
Apify Pricing Explained 2026: Cost, Compute Units & Is It Free?
A complete guide to Apify's 2026 pricing model. Understand Compute Units (CUs), proxy costs, and how to start scraping the web for free.
Apify vs Bright Data: Which Web Scraper is Better in 2026?
An honest comparison between Apify and Bright Data. Which platform offers better scraping capabilities, proxies, and pricing?