We sent 37,000 test requests to 7 scraping APIs across 6,500 Facebook, Instagram, LinkedIn, TikTok and X pages to find the most reliable social media scraper.
Social media performance benchmark
Social media scrapers comparison by domain
Average metadata fields shows how many structured data fields a provider returns per successful page, such as follower count, post date or caption. JSON providers deliver these fields ready to use. HTML providers (Decodo, Oxylabs and Zyte) return the raw page instead, and we extracted the fields we needed with CSS selectors. Their value is therefore 0, which reflects the output format, not missing data.
Social media scrapers pricing
Social media scrapers domain coverage
- ✓ = supported, returns HTML
- ✅= supported, returns structured data
- ✕ = not supported
For platform-level results, including the fields each JSON provider returns, see our LinkedIn, X, Instagram, Facebook and TikTok scraper benchmarks.
Best social media scraping tools
Bright Data Bright Data provides social media data in two forms: the Web Scraper API, which collects a page when you send its URL, and pre-collected Datasets for bulk historical data. The Web Scraper API has a separate scraper for each platform and page type. We used 13 of them, from Instagram reels to LinkedIn company pages.
It returned JSON for 98.9% of our 6,500 pages, with 32.5 data fields per page on average, the most of any provider. Each request runs as a collection job, so a page took 58.0 s on average. Pay-as-you-go pricing is $1.50 per 1,000 records.
Oxylabs prices its Web Scraper API by target type. Social media pages fall under custom domain scraping with JavaScript rendering, which costs $1.50 per 1,000 results on the $30 Starter plan. We used the universal source, which accepts any URL and returns the rendered HTML.
- Every Instagram profile and reel, Facebook reel and TikTok profile succeeded.
- LinkedIn profiles (12.0%) and company pages (20.2%) pulled the overall rate down to 84.3%.
- Average time: 25.1 s.
Decodo succeeded on every Instagram and Facebook reel and on at least 99.6% of X pages, but only on 11.8% of LinkedIn profiles and 55.0% of LinkedIn company pages. Overall it reached 86.1%, at 26.9 s per page.
Decodo, formerly Smartproxy, renders pages in a headless browser when you ask for it. Rendered requests cost more: $1.50 per 1,000 against $1.00 without rendering, with premium proxies on the $19 plan. We sent every page to the generic endpoint, so all HTML providers handled the same kind of request.
SerpApi is best known for its Google search API, and it also offers Instagram Profile and Facebook Profile engines. One synchronous call returns the account as JSON, so SerpApi was the fastest provider in the test at 2.9 s on average. It succeeded on every Instagram profile and on 90.0% of Facebook profiles. SerpApi counts only successful searches against the plan, and plans start at $25 for 1,000 searches. It has no engines for posts, reels, TikTok, X or LinkedIn.
Zyte API returns browser-rendered HTML and puts every website in one of five price tiers by difficulty, so the cost depends on the site. All plans include browser actions such as clicks and form fills, CAPTCHA solving, session management and geolocation. Zyte refused LinkedIn URLs with HTTP 451.
On the other four platforms it succeeded on 4,982 of 5,000 pages (99.6%), at 12.5 s on average, the shortest time among the HTML providers.
Apify Store lists scrapers called actors, built by Apify and by outside developers. We used only the six that Apify and its Clockworks team maintain, covering Instagram, Facebook and TikTok.
Each actor has its own price per result, and the price drops on higher plans. Instagram profiles cost $2.30 per 1,000 on the $19 Starter plan and $1.60 on Business. Facebook pages cost $8.20 and $5.40.
The actors returned JSON for 98.9% of 3,500 pages, in 10.9 s on average. None of Apify’s own actors cover X or LinkedIn.
Nimble offers three ways to collect social media data. The Extract API renders any URL and returns HTML, at $1 per 1,000 requests on pay-as-you-go. Prebuilt agents return JSON for specific pages, and we used them for Instagram, TikTok and Facebook.
A separate Social API covers X and LinkedIn in JSON, but it needs its own activation, which our account did not have. That gap showed in the results: X succeeded on only 21.0% of profiles and 26.2% of posts. LinkedIn company pages reached 92.2%, the best result among HTML providers. Instagram posts came back in 4.2 s on average.
Social media scraping benchmark methodology
We tested 13 page types on five platforms: profiles, posts and reels on Instagram and Facebook; profiles and posts on TikTok and X; profiles, company pages and posts on LinkedIn. Each page type had 500 URLs, 6,500 in total.
- Profiles and company pages came from Wikidata, which links people and organizations to their social media accounts. Where Wikidata had a follower count, we drew one third of the accounts from each size group: over 1 million followers, 10,000 to 1 million, and under 10,000.
- Posts and reels came from the same accounts: at most two per account, published between three days and two years before the test. We took these links from the HTML copies of the profile pages, so no JSON provider received a post it had already returned and cached.
Test run
- Each URL went to all providers at the same time, between 23 and 27 October 2026. Apify and SerpApi received only the page types they offer a product for.
- For Apify, we used only actors that Apify maintains itself. Decodo, Oxylabs and Zyte rendered every page with JavaScript and returned HTML. Nimble used its prebuilt agents where it has one and returned rendered HTML elsewhere.
- A rate-limited request was retried up to three times, 30 seconds apart.
What counts as a success
A response had to pass three checks:
- Status: the provider returned a status from 200 to 399, or 404 for a deleted page.
- Content: the response had to contain the account or author name, the key field of the page type, and at least one more field of the correct type. The key field is the follower count for profiles, the text or date for posts and reels, and the industry or size for company pages. The same rule applied to JSON and HTML. We read the HTML pages with CSS selectors.
- Values: we compared every counter, such as followers or likes, with the median of all providers for the same URL. A counter that differed by more than 10% (minimum 2) was removed, and the response had to pass the content check without it. This check ran only when at least three providers returned the counter.
When at least two providers found that a page had been deleted, the other providers were not penalized for returning nothing from that page.
Metrics
- Completion time: the time from the first API call until the data arrived, including the wait for asynchronous jobs (Bright Data, Apify). We averaged it over successful responses and excluded time spent waiting out rate limits.
- Available metadata fields: the number of distinct fields in a successful JSON response. HTML responses count as 0.
- Confidence intervals: bootstrap with 10,000 resamples at 95% confidence.
- Cost: the monthly price of the cheapest plan that covers each volume, divided by that volume, taken from the vendors’ pricing pages on 2 November 2026. Zyte prices each website separately, so its line uses the average rate our account paid during the test.
Cite this benchmark
Pick the format that matches where you're publishing. Pasting the link version into your CMS preserves the backlink.
@misc{sipi2026,
author = {Şipi, Nazlı},
title = {{Best Social Media Scrapers: 37K Requests Tested}},
year = {2026},
month = aug,
howpublished = {\url{https://aimultiple.com/social-media-scraping}},
note = {AIMultiple. Retrieved August 13, 2026}
}Results and timestamps of 37.2 thousand data points. Download the summary data shown in this article's charts and tables as a ZIP file containing 6 CSV files and a README.
Want the granular data behind it? Join Premium
Changelog
17 updatesReplaced legal guidelines section with detailed 2024 Bright Data court rulings and EU AI Act requirements.
Removed the Key performance findings section covering Decodo, Bright Data, Nimble and Apify results.
Added the "Social media web Scraping with Python & APIs" section.
Comments 1
Share Your Thoughts
Your email address will not be published. All fields are required. Comments are left in their original language.
Hi Gulbahar, Thank you for this informative article. I was wondering if FB private group's scrapping is legal or not. Do we need to take permission for that? I am doing it for my thesis and obviously not planning to sell this data. Thank you already for answering.
Hi Bashir, this is not legal advice, please consult a lawyer regarding your specific case. It is important to respect privacy and adhere to legal guidelines when handling personal information, scraping personal information would likely be illegal in most jurisdictions.