Social media scraping API
Build a scraper, rent one on a marketplace, or call one API for public Instagram, TikTok, and X data. What each costs, and when each fits.
Checked September 2026 · public pricing pages · no affiliate links
Most people who search for a social media scraping API do not want a scraper. They want public profiles, posts, comments, and numbers, in a shape their code can use, without babysitting it. This page walks through the three ways to get there and what each one costs you.
Openhandle is the third option. We read public data when you ask for it and answer in one schema across Instagram, TikTok, and X. Nothing is crawled on its own, and nothing private is touched.
Openhandle reads public data on request and returns it in one schema. It is not a scraper you run. Read the public data notice for what we never do.
What people actually need
Strip the word "scraper" away and the job list is short. Almost every social data product needs the same handful of reads.
- —Profiles. Follower counts, bio, verification, and links, for a creator or a brand account.
- —Posts. Captions, media, timestamps, and engagement for a feed, a hashtag, or a single URL.
- —Comments. Comment threads and replies, with authors, for listening and moderation.
- —Search. Find accounts, posts, and hashtags by keyword before you read them.
- —Numbers you can trust. Likes, views, shares, and saves. And a clear signal when a number is hidden, not a zero.
Three ways to get it
- 01Build a scraper. You write parsers against the private web and app interfaces of each platform. You buy proxies. You handle logins, blocks, and captchas. It works on day one, and then the platform ships a change. Every fix is your fix, and the engineer who wrote it is now on call for it.
- 02Rent a scraper on a marketplace. You pick a listing on RapidAPI or a marketplace like Apify. It is fast to start and cheap for a prototype. In production you inherit the listing author's uptime, their update pace, and their billing tiers. Many listings share one backend, so several "alternatives" break together. We cover this on the RapidAPI vs direct providers page.
- 03Call one API. You call one endpoint per read and get one response shape back, on every platform. Openhandle has 86 endpoints across Instagram, TikTok, and X today. Platform changes are absorbed on our side. You pay per answered request, after use, with a hard cap you set.
What breaks with a scraper
The failures are the same whether you built the scraper or rented it. They show up in the data, not in an error log.
- —Silent zeros. A metric the platform hid comes back as 0. Every average you compute from it is quietly wrong.
- —Empty 200s. A private or deleted account returns a success with blank fields. You cannot tell it apart from a real profile.
- —Expiring media links. Image and video URLs die within days. You must copy every file or lose it.
- —A new shape per platform. Instagram, TikTok, and X each come back different. Your code carries three parsers and three sets of edge cases.
- —Blocks at the worst time. Proxies get flagged during a campaign, a launch, or a payout run. That is when your users are watching.
What Openhandle does instead
- —Reads on request only. A customer asks for a profile or a post. We read it and answer. We do not crawl platforms on our own.
- —One schema. One schema across Instagram, TikTok, X, and Reddit. A profile is a profile and a post is a post, on every platform.
- —Null means hidden. If a platform hides a number, you get null. We never fill in a zero or a guess.
- —Media that stays up. Requested media is served from our CDN. Your link keeps working after the platform link expires.
- —Failed requests are free. Failed requests are free. You pay only when Openhandle returns an answer.
- —Pay afterwards. $0.0025 per request, down to $0.002 at volume. 30-day cache hits are free. Balance never expires. Unused balance is refundable.
- —Hard caps. Set a spend cap per key and per month. A cap is a stop, not an auto top-up.
What we never do
Openhandle is read-only and public-only. We never like, follow, post, or message. We do not read private accounts, direct messages, or anything a logged-out visitor cannot see. Account owners can ask us to block their profile. The public data notice lists every limit.
Start in a minute
Sign up, create a key, and make your first call. You get 100 free live requests and no card is needed. The quickstart has a working request in cURL, TypeScript, Go, and Python. Per-platform detail is on the Instagram, TikTok, and X pages, and every rate is on the pricing page.
Costs and failure modes for self-built and marketplace scrapers come from public listing pages, public pricing tiers, and what customers told us when they moved. Openhandle figures come from our own pricing page and endpoint catalog and update with them.