Geonode logo

Unlimited YouTube scraper for AI agents.

Video pages, channel pages, comment threads, search results, transcripts and Shorts shelves. Unlimited requests for one flat bill from $50/mo, no credits, and a blocked request is free.

Start 48-hour free trial

No card. Unlimited pages. 5 threads. Failed requests $0

Unlimited web scraper
01

Images

02

Title

  • Title
  • Condition
03

Price & bidding

  • Price
  • Bids
  • Time left
  • Watchers
04

Seller

  • Seller rating
  • Sold listings
05

Specifics & shipping

  • Item specifics
  • Shipping
  • Item location

JavaScript rendered, parsed to JSON or Markdown, and a fetch that fails after three retries is never billed

Call it on YouTube

curl -X POST "https://scraper.geonode.io/v1/extract" \
  -H "X-Api-Key: $GEONODE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
  "formats": [
    "json",
    "markdown"
  ],
  "render_js": true,
  "proxy": {
    "country": "US"
  }
}'

You came for an YouTube scraper. The key opens everything.

100% first-pass success

you’re here

Player and title block: Video title, View count, Upload date, Like count, Channel name, Subscriber count

Description box: Description text, Hashtags, Chapters with timestamps, Outbound links, Category, Licensed music credits

Comments: Comment count, Author handle, Comment text, Like count, Reply count, Creator heart / pinned flag

Channel page: Handle, Subscriber count, Video count, About text, Country, Join date

Search results: Rank position, Title, Channel, View count, Duration, Shorts / live badge

Transcript panel: Caption language, Auto-generated flag, Segment start time, Segment text, Available languages

One subscription, from $50 a month flat. Everything after the first line adds $0

The hard part is getting in. That's our part.

  • $50/moflat, priced by concurrency, not per request

  • 0credits, meters or per-page charges

  • $0for any YouTube request that still fails after 3 retries

  • 48 hfree trial on your own YouTube URLs

  • Cloudflare98%

  • Akamai97%

  • Imperva Incapsula97%

  • DataDome96%

  • PerimeterX / HUMAN95%

  • reCAPTCHA v395%

  • Kasada94%

  • hCaptcha93%

First-pass success by anti-bot vendor, measured by us over 30 days, so of course it flatters us. The 48-hour trial exists so you can count against your own URLs. Full benchmark

What unlimited changes for YouTube data

  • Sold-comps pricing

    Completed listings are the real price of anything. Pull them at scale and price with evidence.

  • Arbitrage sourcing

    Sweep categories for mispriced inventory continuously instead of when the credit budget allows

  • Demand research

    Bids, watchers and sell-through, across a whole category, on one flat bill

  • Collection tracking

    Every listing of the thing you care about, the moment it appears

Cheap is supposed to be the trade-off

  • Michael T.

    Switched from Bright Data. Same quality, fraction of the cost. Their wholesale model actually makes sense.

  • Kristina Halvorson

    Finally a proxy provider that actually feels built for developers

  • Edgar Weissnat

    We run multiple large-scale data collection pipelines across several regions, and proxy reliability has always been one of the biggest bottlenecks. After switching to Geonode we noticed two immediate improvements: connection stability and predictable pricing. Previously we had to constantly optimize traffic to avoid massive proxy bills. With Geonode’s wholesale pricing model we can focus on building products instead of worrying about proxy usage. Integration with our Python stack and Playwright automation was straightforward and took less than a day.

  • Gladys Paucek

    Best proxy infrastructure I've used. The MCP integration with our AI agents was seamless.

  • Gladys Paucek

    Finally something that doesn’t feel like enterprise sales software.

Pick your thread count. That's the only decision.

Nothing is metered. Plans price threads (how many requests run at once), and pages stay unlimited on every one. An YouTube page that needs an anti-bot bypass costs exactly what a plain page costs

Roughly what each plan clears in a month, by endpoint

Starter

2 threads

$50 /mo

~470K
~280K
~1.1M
~610K
~120K
~400K

Growth

5 threads

$100 /mo

Popular
~1.2M
~700K
~2.8M
~1.5M
~300K
~1M

Scale

25 threads

$400 /mo

~5.9M
~3.5M
~13.8M
~7.6M
~1.5M
~5M

Pro

100 threads

$1,250 /mo

~23.5M
~14M
~55M
~30M
~5.9M
~20M

Max

250 threads

$2,500 /mo

~59M
~35M
~137M
~76M
~15M
~50M

The 48-hour trial runs at five threads, no card. Custom terms past 250 threads.

Yeah, but...

We do not yet publish a benchmark number for www.youtube.com, so this page will not show a success rate until our YouTube scraper has enough 30-day data to report one honestly. Public watch pages and channel pages are the easiest surfaces for a YouTube scraper; the bot-check interstitial and age-gated videos are where failures concentrate, and we would rather describe that than invent a percentage. Billing does not depend on the outcome: a request that fails after three retries is never billed, on any plan, so a YouTube scraper request that ends on a consent or sign-in page costs nothing.

Watch pages with the exact view count, full description, chapters, like count and related rail; channel pages including the Videos, Shorts and About tabs with subscriber and video counts; comment threads with replies, sorted by top or newest; search results for any query with rank position; transcripts in every available caption language, with auto-generated tracks flagged; Shorts pages; and playlist pages with every entry in order. Pass a youtube.com, youtu.be or m.youtube.com URL and the YouTube scraper detects the surface. Private and unlisted videos, members-only content and anything behind a sign-in are outside what the YouTube scraper reads.

Yes, when a caption track exists. The YouTube scraper returns every available track as timestamped segments and tells you whether a track was uploaded by the creator or auto-generated, because the two differ a lot in punctuation and speaker accuracy. Auto-translated tracks are requested per language rather than returned by default, to keep payloads small when the YouTube scraper is running across thousands of videos. Videos with captions disabled return null for the transcript field instead of an error, and the request is still billed as a normal success because the page itself was read.

Two different mechanisms. In the EEA and UK, YouTube redirects any session without a SOCS consent cookie to consent.youtube.com, so a YouTube scraper run through a European IP has to accept the dialog before any watch page loads. Separately, sessions that look automated, meaning datacenter ranges, missing visitor_data or too many requests per session, get the sign-in interstitial regardless of region, and a YouTube scraper that retries the same session only digs the hole deeper. Our YouTube scraper handles consent per session, uses residential IPs in the country you choose, and retires each session well before the request count where the interstitial starts to appear, so the next YouTube scraper request begins clean.

No request credits and no per-page meter. Plans are priced by concurrency, which is the number of requests in flight at once, from $50 a month. Run as many requests through that concurrency as you can, around the clock, for the same bill. A request that fails after three retries is not counted against anything.

Yes. Pass a country code and the request routes through a residential IP there, so marketplaces return local prices and currency, search engines return local results, and geo-restricted pages open. City and ASN targeting are available on the residential pool where a site is sensitive to it.

Typed JSON with the field table on this page, clean Markdown for feeding an LLM context window, or raw rendered HTML if you run your own parser. For pages without a dedicated parser you can pass a JSON schema and get AI-extracted fields back in that shape.

48 hours. Your worst YouTube URLs.

Five threads, no card, and the clock starts at your first API call. If it doesn’t earn the switch, don’t switch.