# ScrapeLads — full site text > Social data APIs for creators, agencies and growth teams Canonical source: https://scrapelads.com. This file is generated from the same content as the HTML pages and is intended for language models and retrieval systems. --- Source: https://scrapelads.com/compare/best-tiktok-profile-scraper/ Comparison # Best TikTok profile scraper in 2026 Most tools that rank for this term return a video feed, not profiles. If your job is building a creator list with contact details, that mismatch is the whole ballgame. ## The distinction that matters Two different jobs hide behind the same phrase: - **Video scraping.** "Give me the last 100 videos for this hashtag." Output is a video table. Profile data appears as a side effect. - **Profile scraping.** "Give me these 500 creators with their follower counts and contact emails." Output is a creator table. Videos are irrelevant. A video scraper is a poor creator-list tool. It returns one row per video, so a creator with 300 posts appears 300 times, and contact details are usually missing entirely. Check what shape the output takes before you compare prices. ## How to judge one | Check | Why it separates the good from the rest | | --- | --- | | One row per creator | Deduplicated profiles. If you get one row per video, it is a video scraper. | | Contact details included | Email, Instagram, YouTube, WhatsApp. A separate email-finder step doubles the work and the cost. | | Works without login | Cookie-based tools break whenever a session expires, and you are handing over an account. | | Bulk handles, not one at a time | You should be able to paste 5,000 handles and walk away. | | Pay per result | Per-minute or per-credit billing punishes you for failures you did not cause. | | Handles breakage | Ask what happens when TikTok changes their page. If the answer is "you patch it", price that in. | ## The options, by category ### Apify actors Apify hosts hundreds of TikTok actors, including the well-known Clockworks set. The advantages are consistent: pay-per-result pricing, no account credentials, output to a dataset you can export or query, and the ability to schedule runs. The catch is that most of them are video scraper first. If you specifically need profiles with emails, check the output schema rather than the listing title — several actors advertise "profile" and return posts. Our own [TikTok Profile Scraper](/tiktok-profile-scraper/) is scoped to profiles only, at $1 per 1,000 profiles plus a half-cent per run, with contact links included in the same row. ### RapidAPI vendors Convenient if you already use RapidAPI for other endpoints. Two things to watch: the free tier is usually small enough that you will hit it during testing, and per-request pricing often stacks on top of a subscription fee. Response schemas vary vendor to vendor, so switching costs real work. ### Commercial creator-database tools Products aimed at influencer-marketing teams, with a search UI, saved lists and CRM integrations. They are the right buy if you want a human-reviewed database and do not care about pulling raw rows. They are the wrong buy if you need programmatic access to a specific list of handles, which most of them restrict on higher tiers. ### Rolling your own Playwright or Puppeteer against the public profile page is genuinely feasible — profile pages serve embedded JSON with the core fields. The work is not the first version. It is the proxy pool, the rate-limit handling, the login walls that appear on some profiles, and keeping up when the embedded JSON shape changes. Build it if profile scraping is your product. If it is a step in someone else's workflow, the maintenance usually costs more than a per-result fee. ## Where each option fits | If you need… | Reasonable pick | | --- | --- | | A creator list with emails, this week | Apify actor with contact details in the output | | Video metrics for a hashtag | Video scraper — profile scrapers are the wrong tool | | A searchable UI your marketing team can use | Commercial creator database | | Full control over the parser | DIY with a proxy pool; budget the maintenance | | Recurring daily refreshes of a creator set | Scheduled Apify actor; no server to keep alive | **Before you pay anyone:** run ten handles you already know the answers for. Compare the returned followers, bio and email against the live profiles. If the tool gets those wrong, the price does not matter. ## Test with ten handles you already know Paste profiles you can check by hand and see whether the emails and follower counts match. [Open the profile scraper](https://apify.com/scrape-lads/tiktok-profile-scraper?utm_source=scrapelads&utm_medium=site&utm_campaign=compare-best-tiktok-profile-scraper&utm_content=tiktok-profile-scraper) --- Source: https://scrapelads.com/ Social data, without the plumbing # Creator data your team can actually use Three focused APIs for the work that keeps coming up: finding creator emails on TikTok, finding channel emails on YouTube, and pulling transcripts from any short-form video. Clean JSON out, no scraping code to maintain. [TikTok creator emails](/tiktok-profile-scraper/) [Video transcripts](/video-transcript-api/) ## What we run [ ### TikTok Profile Scraper Creator profiles with emails, Instagram and YouTube links, follower counts and TikTok Shop status. Search by niche or paste a list of handles. $1 per 1,000 profiles](/tiktok-profile-scraper/) [ ### YouTube Channel Email Finder The email behind any YouTube channel or Short, plus views, likes, tags and exact publish dates. Falls back to the channel website when the About page is empty. $1.50 per 1,000 videos](/youtube-channel-email-finder/) [ ### Video Transcript API Transcripts for TikTok, Instagram Reels, YouTube and X. Native subtitles first, Whisper speech-to-text when a video has none. $2 per 1,000 transcripts](/video-transcript-api/) ## Why a hosted API instead of a script Every one of these jobs looks like a 50-line script until it meets production. Platforms rotate their internal endpoints, rate-limit datacenter IPs first, and change the shape of their embedded JSON without notice. You end up maintaining a scraper instead of using the data. These actors run on Apify, which handles the browser fleet, residential and datacenter proxy rotation and retries. You send input, you get a dataset back. When a platform changes something, we fix it — not you. - Pay per result, not per minute of compute - No API keys to register with TikTok, YouTube or Instagram - JSON or CSV output, exportable to Google Sheets, S3 and webhooks - Runnable without code from the Apify Console, or via the Apify API and SDKs ## Built for agencies and growth teams ### Influencer outreach Build a prospect list with contact details already attached, instead of copying handles into a separate email-finder tool. ### Competitor tracking Pull a creator set on a schedule and watch follower growth, posting cadence and engagement move week over week. ### Content research Turn a folder of short-form videos into searchable transcripts for briefs, repurposing, summaries or a RAG index. ## Start with a free run Every actor has a free tier on Apify. Paste a few handles or URLs, look at the output, and only pay once the data is worth using. [Browse the actors](https://apify.com/scrape-lads?utm_source=scrapelads&utm_medium=site&utm_campaign=home&utm_content=profile) --- Source: https://scrapelads.com/tiktok-profile-scraper/ TikTok lead generation # TikTok Profile Scraper Get TikTok creator profiles with contact details already attached: email, Instagram, YouTube and WhatsApp links, follower counts and TikTok Shop status. Search by niche or paste a list of handles. [Run it on Apify](https://apify.com/scrape-lads/tiktok-profile-scraper?utm_source=scrapelads&utm_medium=site&utm_campaign=tiktok-profile-scraper&utm_content=tiktok-profile-scraper) [See pricing](#pricing) ## What one row gives you This actor returns profiles, not videos. That distinction matters: most TikTok scrapers hand you a video feed and leave you to work out which accounts are worth contacting. This one is built for the opposite job — starting from a list of creators, or a niche, and ending with contactable leads. - Handle, display name, bio and avatar - Followers, following, total likes and video count - Contact email found in the bio or profile - Instagram, YouTube and WhatsApp links - Verified flag and TikTok Shop seller status - Direct profile URL for review Profiles that have no public contact details come back without them. You are not charged for inventing an email we could not find. ``` { "handle": "example.creator", "displayName": "Example Creator", "followers": 148300, "following": 412, "likes": 4210000, "videoCount": 318, "verified": false, "email": "collabs@example.com", "instagram": "example.creator", "youtube": null, "whatsapp": null, "tiktokShop": true, "profileUrl": "https://www.tiktok.com/@example.creator" } ``` ## How it works 1. **Give it handles or a niche.** Paste TikTok handles, profile URLs, or a search term like `skincare routine` to build the list from TikTok search. 2. **It reads the public profile.** No login, no cookies, no official API key. The actor loads each profile and extracts the fields from what the page serves publicly. 3. **You get a dataset.** Download CSV or JSON, open it in Apify's table view, or send it straight to Google Sheets, S3, a webhook or an n8n workflow. **Bulk runs are the point.** The actor is designed for hundreds to tens of thousands of profiles in one run, with results streamed to the dataset as they arrive — so you can start reviewing while it is still working. ## Pricing Pay-per-event. You are charged when a profile result is written, not while the actor is loading pages. | Event | When it is charged | Price | | --- | --- | --- | | Actor start | Once per run | $0.005 | | Profile result | Per profile written to the dataset | $0.001 | That works out to **$1.00 per 1,000 profiles**, plus a half-cent to start the run. Apify's free plan includes a monthly usage credit, so a few thousand profiles costs nothing to try. ## Common ways people use it ### Influencer outreach Build a niche creator list with emails attached, then load it straight into your outreach tool. ### Agency prospecting Scan a category for creators in the 10k–200k follower band where rates are still negotiable. ### Creator databases Refresh an existing creator list on a schedule to catch follower changes and new contact details. ## Questions **Do I need a TikTok login or cookies?** No. The actor works from public profile pages only. You do not supply an account, a session cookie or an API key. **Can it scrape videos or comments?** No — this actor is scoped to profiles and contact details. If you need video-level metrics or comments, use a dedicated TikTok video or comment scraper instead; mixing the two is why most all-in-one scrapers return half-populated rows. **What happens to private or deleted accounts?** Private profiles are skipped. Deleted or renamed handles are reported as unresolved rather than producing an empty row. **Can I search by niche instead of supplying handles?** Yes. Give the actor a keyword or phrase and it builds the creator list from TikTok search, then enriches each profile. **How do I get the data out?** Every run writes to an Apify dataset. Export CSV, JSON or Excel from the Console, pull it through the Apify API, or connect a Google Sheets, S3 or webhook integration. n8n workflows can call the actor directly. **Is scraping TikTok profiles allowed?** The actor reads publicly visible profile data. Whether you may store or contact those people depends on your jurisdiction and use case — GDPR and similar rules apply to personal data. Treat it as your responsibility, not the tool's. **What if TikTok changes their site and the actor breaks?** It gets fixed. That is the trade for a hosted tool: you are not maintaining the parser. Failed runs do not produce billable results, so a breakage costs you time, not money. ## Pull a creator list in the next ten minutes Paste a handful of handles, run it once, and check the output against what you would have found by hand. [Open the actor](https://apify.com/scrape-lads/tiktok-profile-scraper?utm_source=scrapelads&utm_medium=site&utm_campaign=tiktok-profile-scraper&utm_content=tiktok-profile-scraper) --- Source: https://scrapelads.com/video-transcript-api/ Transcription # Video Transcript API One endpoint for transcripts across TikTok, Instagram Reels, YouTube, YouTube Shorts and X. It uses the platform's own subtitles when they exist and falls back to Whisper speech-to-text when they do not. [Run it on Apify](https://apify.com/scrape-lads/video-transcript-scraper?utm_source=scrapelads&utm_medium=site&utm_campaign=video-transcript-api&utm_content=video-transcript-scraper) [See pricing](#pricing) ## Subtitles are free-ish. Missing subtitles are the problem. Every transcript tool handles YouTube well, because YouTube publishes caption tracks. The moment you add TikTok, Reels or X, half the videos have no captions at all — and a tool that returns "no transcript available" is not useful. This actor tries the native caption track first, which is fast and cheap. If there is none, it sends the audio to Whisper. You get a transcript either way, and you can see which method produced it. - TikTok videos, Instagram Reels and posts, YouTube videos and Shorts, X videos - Native subtitles first, Whisper only when needed - Timestamped segments with start and end times in seconds - Language selection by two-letter code, with the detected language returned - Profile mode: transcribe the latest N videos from a creator - Author, caption and video stats returned alongside the text ``` { "url": "https://www.tiktok.com/@user/video/...", "platform": "tiktok", "author": "@user", "language": "en", "method": "subtitles", "text": "Full transcript text...", "segments": [ {"start": 0.0, "end": 2.4, "text": "Here is how I plan a week"} ] } ``` ## How it works 1. **Send video URLs or a creator.** Paste individual video links, or give a TikTok, Instagram or YouTube profile and a count of latest videos. 2. **Pick a language and a policy.** Request a specific subtitle language track, and choose whether speech-to-text runs on every video or only when subtitles are missing. 3. **Read the dataset.** One row per video, with the full text, optional timestamped segments, the method used, and the video's own metadata. ### Segment output, if you want it Timestamped segments are what make transcripts useful for cutting clips, aligning captions or citing a moment. Turn them off to store a single text blob and halve the size of your dataset. ## Pricing You pay for transcripts, not for the time spent loading pages. Subtitle transcripts cost less than speech-to-text, because they cost us less to produce. | Event | When it is charged | Price | | --- | --- | --- | | Actor start | Once per run | $0.005 | | Subtitle transcript | A video whose captions were available | $0.002 | | Speech-to-text transcript | A video transcribed with Whisper | $0.005 | | Extra audio minute | Each started minute of speech-to-text beyond the first | $0.0025 | In practice: **$2 per 1,000** videos with usable captions, and $5 per 1,000 for videos that need Whisper — plus a quarter-cent per extra audio minute on long videos. ## What people build with it ### Content repurposing Turn a creator's back catalogue into blog posts, newsletters and scripts without rewatching it. ### Search and RAG Index video content so it can be searched or retrieved alongside your documents. Segments make chunking straightforward. ### Research and monitoring Track what a set of creators is saying, or scan a topic across platforms for mentions and claims. ## Questions **Do I need API keys for YouTube, TikTok or Instagram?** No. You do not register an application with any platform and there is no per-platform quota. Requests run through the Apify platform. **What happens when a video has no captions?** The audio goes through Whisper and you get a speech-to-text transcript instead. That event is billed at the speech-to-text rate, and the row records which method produced the text. **How accurate is the speech-to-text output?** Whisper handles clear speech and most accents well, including code-switching. Music, overlapping speakers and heavy background noise reduce accuracy. Captions, when present, are exact text rather than a transcription. **Which languages are supported?** Subtitle tracks are returned in whatever languages the platform publishes. Whisper detects the spoken language automatically across its supported set. You can request a specific two-letter code for subtitle selection. **Can I transcribe a creator's whole channel?** Yes. Give the actor a profile or channel URL and choose how many of the newest videos to transcribe. This is convenient but is the most expensive mode — cap the count. **Is there a rate limit?** Run concurrency is configurable, with a default that suits most workloads. Platform-level limits still apply, but there is no daily quota tied to a YouTube or X API key. ## Try ten videos before you commit Mix a TikTok, a Reel, a Short and a full YouTube video in one run and see how the output compares. [Open the actor](https://apify.com/scrape-lads/video-transcript-scraper?utm_source=scrapelads&utm_medium=site&utm_campaign=video-transcript-api&utm_content=video-transcript-scraper) --- Source: https://scrapelads.com/youtube-channel-email-finder/ YouTube lead generation # YouTube Channel Email Finder Get the contact email behind any YouTube channel, alongside its videos, Shorts, views, likes, tags and exact publish dates. No API key, no quota, no separate email-finder subscription. [Run it on Apify](https://apify.com/scrape-lads/youtube-scraper?utm_source=scrapelads&utm_medium=site&utm_campaign=youtube-channel-email-finder&utm_content=youtube-scraper) [See pricing](#pricing) ## Contacts and video data in one run Most email finders charge per contact and give you nothing else. This actor returns one **free contact row per channel** with the email from the channel description, the linked website and any social handles — and, in the same run, the channel's videos with their metrics. - One free contact row per channel — contacts do not cost extra - Email from the channel description, then the website or link hub as fallback - Social and website links found on the channel - Videos and Shorts: views, likes, comments, tags, full description, category - Exact publish dates, not relative ones - Channels, keyword search or individual video URLs as input **Why exact dates matter.** YouTube shows "3 months ago" to visitors. That is useless for reporting and impossible to sort. This actor resolves the real ISO date for each video. ``` { "type": "channel", "channelName": "Example Studio", "handle": "@examplestudio", "subscribers": 84200, "emails": ["hello@examplestudio.com"], "website": "https://examplestudio.com", "socials": { "instagram": "examplestudio", "x": "examplestudio" } } ``` ## How it works 1. **Point it at channels, a search term, or video URLs.**`@handle`, `/channel/UC…`, `/c/name`, a keyword search, or specific Shorts and watch URLs. 2. **Choose videos, Shorts, or both.** For channels, "both" reads the Videos and Shorts tabs separately so a Shorts-heavy creator does not look inactive. 3. **Turn on contact rows.** One free row per channel with emails and links. If the description has no email, the actor can open the linked website or link hub and look there. ### Useful inputs | Input | What it does | | --- | --- | | Only videos newer than | Keep just the last N days — good for daily monitoring runs. | | Include full video details | Adds likes, comment counts, tags, description, category and exact publish date. | | Read the channel website | Falls back to the linked site or link hub when the description has no email. | | Max results in total | A hard cap on rows, so a wide search cannot run past budget. | ## Pricing Pay per video result. Channel contact rows are free. | Event | When it is charged | Price | | --- | --- | --- | | Actor start | Once per run | $0.003 | | Video result | Per video or Short written to the dataset | $0.0015 | That is **$1.50 per 1,000 videos**. Apify's volume discounts apply automatically as your account tier rises. Scraping only contacts? Run the actor with a small per-channel video limit and you still get every channel's contact row — a 500-channel outreach list costs well under a dollar. ## Where people use it ### Creator outreach Sponsorship teams building a list of channels in a niche, with the contact email resolved before outreach starts. ### Lead generation Any team that treats YouTube as a directory: coaches, agencies, SaaS companies selling to creators. ### Competitor tracking Daily runs over a competitor set, filtered to the last seven days, keeping a record of views and upload cadence. ## Questions **Where do the email addresses come from?** From what the channel makes public: the "About" description first, then the linked website or link hub if the description has nothing. No guessing, no pattern-matching names into addresses. **Do contact rows cost extra?** No. One contact row per channel is included free with the run. You only pay for video results. **Do I need the YouTube Data API or an API key?** No. The actor does not use the YouTube Data API, so there is no key to register, no 10,000-unit daily quota and no per-project limit. **Does it work for Shorts?** Yes. Shorts are a first-class content type — you can scrape Shorts only, videos only, or both. **Can I search by keyword instead of listing channels?** Yes. Each search query behaves as its own source, and you can cap results per query and in total. **What if a channel has no public email?** The contact row comes back with whatever is public — website and social links — and no email, rather than a fabricated one. You are not charged for video rows you did not request. ## Resolve a hundred channel emails today Paste a list of handles or a search term and check the contact rows against your current list. [Open the actor](https://apify.com/scrape-lads/youtube-scraper?utm_source=scrapelads&utm_medium=site&utm_campaign=youtube-channel-email-finder&utm_content=youtube-scraper) --- Source: https://scrapelads.com/compare/youtube-transcript-api-alternatives/ Comparison # YouTube transcript API alternatives There is no official YouTube transcript API. Everything that works is a workaround, and the alternatives differ mainly in who owns the failure. ## Start with what you actually need "Get a transcript" covers four different jobs. Picking the tool before deciding the job is how people end up paying for something they do not need. - **One-off extraction** — a handful of videos, run by hand, today. - **Bulk YouTube only** — thousands of videos, one platform, on a schedule. - **Multi-platform** — TikTok, Reels, Shorts and X in the same pipeline. - **Videos without captions** — anything where subtitle tracks do not exist. The last two eliminate most cheap options immediately. ## The options ### Python library (`youtube-transcript-api`) The default choice, and a good one. It calls YouTube's internal caption endpoint and returns parsed snippets. Free, fast, no account. - **Good at:** YouTube only, small to medium volume, running from a residential connection. - **Fails at:** server IPs get blocked, there is no TikTok or Instagram support, and every change on YouTube's side is your problem to patch. It also has no speech-to-text path. If a video has captions disabled, it returns nothing. ### `yt-dlp` Extracts subtitle files alongside video metadata, and is excellent at the download side. Pair it with a proxy and it handles more edge cases than the plain library. - **Good at:** batch jobs where you also want thumbnails or metadata, and where you control the environment. - **Fails at:** it is a CLI built for downloading, not an API. You are writing the queue, the retries and the storage layer yourself, and IP reputation is still yours to manage. ### Hosted third-party APIs Services such as Supadata and a long tail of smaller vendors sell transcript retrieval per request, usually with a free tier. - **Good at:** getting text without touching infrastructure, often with one HTTP call. - **Fails at:** per-request pricing adds up on bulk jobs, free tiers are small, and you inherit someone else's uptime. Check whether the price includes videos with no captions — sometimes it does not, and you pay for the attempt. Worth reading the response schema carefully. Some return only plain text, with no timestamps and no detected language. ### Apify actors Similar benefits to hosted APIs, with a different billing model: pay per result rather than per call, and the output lands in a dataset you can export, query or schedule. The ecosystem is broader, but quality varies a lot between actors. Our [Video Transcript API](/video-transcript-api/) covers TikTok, Instagram, YouTube and X in one actor. Native subtitles are billed at $0.002 per transcript; videos that need Whisper are $0.005. Rows record which method produced the text, so a failed extraction is visible rather than silent. ### Official YouTube Data API Sanctioned and stable, with a documented quota — and it does not return transcript text. It is the right tool for metadata and the wrong tool for this job. Worth stating plainly because it is a frequent dead end. ## Side by side | Option | Cost model | Platforms | No captions | Who maintains it | | --- | --- | --- | --- | --- | | Python library | Free | YouTube | No | You | | yt-dlp | Free | YouTube mostly | No | You | | Hosted API | Per request | Varies | Often extra | Vendor | | Apify actor | Per result | Varies by actor | Varies by actor | Vendor | | YouTube Data API | Quota | YouTube | Not supported | Google | ## Which to pick | Situation | Pick | | --- | --- | | Ten videos, today, on your laptop | Python library or yt-dlp | | Nightly batch of thousands of YouTube videos | yt-dlp with rotating residential proxies, or a hosted actor | | TikTok, Reels and Shorts in one pipeline | Hosted actor — multi-platform coverage is the deciding factor | | Creators who never caption their posts | Anything with speech-to-text; a subtitle-only tool returns nothing | | Search over transcripts (RAG) | Look for timestamped segments, not a single text blob | **The test that settles it:** run ten TikTok or Reel URLs with no captions through any candidate. If the tool returns empty for all of them, it is a YouTube caption fetcher with a broad landing page. ## Run the uncaptioned test yourself Paste TikTok and Reel URLs that have no captions and see whether you get text or an empty row. [Open the transcript actor](https://apify.com/scrape-lads/video-transcript-scraper?utm_source=scrapelads&utm_medium=site&utm_campaign=compare-youtube-transcript-api-alternatives&utm_content=video-transcript-scraper) --- Source: https://scrapelads.com/blog/youtube-transcript-api-ip-blocked/ Troubleshooting # YouTube transcript API blocked or rate limited? It works on your laptop, then fails in production. Almost always the same cause, and it is not your code. ## Why it happens YouTube has no public API for transcripts. The captions you see in a video player come from an internal endpoint, and libraries like `youtube-transcript-api` call that endpoint directly. It is unauthenticated, undocumented and unsupported — which means it has no quota, no Terms of Service for automated access, and no obligation to answer you. YouTube's anti-abuse layer does the obvious thing: it scores the IP address making the request. A residential IP with a normal browsing history gets served. A datacenter IP making thousands of caption requests in an hour gets one of these: ``` # python >>> YouTubeTranscriptApi.get_transcript("dQw4w9WgXcQ") RequestBlocked: IP address is blocked by YouTube, or IpBlocked, or an empty transcript list. ``` The failure modes you will see, in rough order of frequency: - **429 Too Many Requests** — rate-limited, usually temporary. - **Empty caption track list** — the response succeeds but contains no tracks. Common from flagged IPs and for videos with captions disabled. - **RequestBlocked / IpBlocked** — the IP itself is refused. Rotating to a different IP usually clears it. - **Consent-page redirects** — EU/UK IPs hit a cookie-consent interstitial before the caption track. **The tell:** if it works locally and fails on a server, it is IP reputation. If it fails for specific videos everywhere, it is the video (no captions, private, region-locked, or music-only content). ## Four ways around it, honestly compared ### 1. Rotate residential proxies yourself Rotate the request IP through a residential proxy pool. This is what actually fixes the problem, because residential IPs are not pre-flagged the way datacenter ranges are. - **Upside:** full control, works with the library you already use. - **Downside:** residential bandwidth is billed per GB and is not cheap; you now need retry logic, rotation policy, consent-page handling and per-domain concurrency limits. Expect a week of work before it is stable. ### 2. Use the official YouTube Data API The Data API is stable, documented and quota-based — and it **does not return transcript text**. It returns metadata, and for some videos a caption track reference, but downloading the actual track still goes through the same blocked endpoint. - **Upside:** fully sanctioned for the metadata it does return. - **Downside:** not a transcript solution. Teams regularly migrate to it expecting transcripts and discover the gap after the work. ### 3. Run a headless browser with captions turned on Open the video in a browser, enable the caption panel and read the rendered cues from the DOM. This gets around the endpoint, but not around IP reputation, and it is slow and brittle. - **Upside:** works for videos where the direct endpoint fails. - **Downside:** a browser per video, minutes instead of seconds, and it breaks when the player UI changes. ### 4. Use a hosted actor and pay per transcript Someone else maintains the proxy pool, the retry policy and the parser. You send a URL and get text back. - **Upside:** no infrastructure, no library drift, and someone else absorbs the maintenance when YouTube changes something. - **Downside:** per-result pricing, and you depend on their uptime. ## Which one you should pick | Your situation | Reasonable choice | | --- | --- | | Hobby project, a few dozen videos | Library plus a delay and retries. Accept occasional failures. | | Production pipeline, steady volume | Residential proxy rotation, or a hosted actor if you would rather not own it. | | Metadata only | Official YouTube Data API. | | Multi-platform (TikTok, Reels, X too) | Hosted actor. Each platform has a different failure mode; maintaining all of them is a job. | | One-off research, hundreds of videos | Hosted actor. Proxy setup will cost more than the run. | ## How our actor handles it The [Video Transcript API](/video-transcript-api/) runs on Apify's proxy infrastructure and reads the native caption track when one exists. When a video has no captions at all — common on TikTok, Instagram and X — it sends the audio through Whisper instead of failing. That last part matters more than it sounds. A blocked caption endpoint and a video with no captions look the same from the outside: you get no text. Only one of them is fixed by rotating an IP. ### What it will not fix - Private, deleted or region-locked videos - Videos where captions are disabled and the audio is music only - Live streams Those come back as unresolved rows rather than billable results, so a bad batch costs you time instead of money. ## Test it on the videos that are failing for you Paste the URLs that return empty tracks in your current setup and compare the output. [Open the transcript actor](https://apify.com/scrape-lads/video-transcript-scraper?utm_source=scrapelads&utm_medium=site&utm_campaign=blog-youtube-transcript-api-ip-blocked&utm_content=video-transcript-scraper)