How to Scrape YouTube Videos, Channels, and Shorts Without an API Key

The YouTube Data API caps you at 10,000 quota units per day, forces you to register an OAuth app, and locks certain fields behind restricted access. This tutorial shows a different path: a pay-per-result scraper on Apify that returns video titles, views, likes, comments, tags, engagement rates, and full channel metadata with no API key, no quota ceiling, and no monthly subscription. A hundred videos costs about ten cents.

Apify dataset table showing scraped YouTube videos with columns for title, view count, duration, channel name, likes, and thumbnail
What you get: one row per video with title, views, likes, duration, channel, and thumbnail.
Difficulty: Beginner
Time: 5 minutes
Cost: $0.001 per search result, $0.003 per full video detail (free tier covers first $5)
Tools: Apify, NanoScrape YouTube Scraper
Open the YouTube Scraper on Apify Read pricing details below

In this tutorial

  1. What you get
  2. Prerequisites
  3. Step 1: Create a free Apify account
  4. Step 2: Open the YouTube Scraper
  5. Step 3: Choose a mode and configure inputs
  6. Step 4: Run the actor
  7. Step 5: Export your results
  8. The four scraping modes
  9. Getting full video details
  10. Field reference
  11. Schedule recurring runs
  12. What it costs
  13. FAQ

What you get

The NanoScrape YouTube Scraper runs on Apify and supports four independent modes: keyword search, channel upload lists, Shorts, and direct video lookup by URL or ID. All four return results to a downloadable dataset. There is no YouTube Data API key required and no OAuth app to register.

Enable includeDetails on any mode to add exact like count, comment count, engagement rate, full description, tags, and category. That requires a second page request per video, which adds $0.003 per video to the cost.

Prerequisites

STEP 1

Create a free Apify account

  1. Open the actor page on Apify and click Try for free.
  2. Sign up with Google or email. The form takes about a minute to fill in.
  3. You land on the actor's input form inside Apify Console. The free $5 credit is added automatically.
Already have an account? Just click the actor link above. You land directly on the input form.
STEP 2

Open the YouTube Scraper

After signing in, you are on the actor's page. Click Input in the left sidebar (or it may already be selected). You will see a form with a Mode dropdown at the top and fields for queries and URLs below it.

Apify Console showing the YouTube Scraper actor input form with the Mode dropdown and searchQueries field visible
The actor input form. Start by picking a mode from the dropdown.
STEP 3

Choose a mode and configure inputs

The Mode field controls everything else on the form. The most common starting point is search:

{
  "mode": "search",
  "searchQueries": [
    "web scraping tutorial",
    "python automation 2026"
  ],
  "maxResults": 100,
  "maxResultsPerQuery": 50,
  "sortBy": "relevance",
  "includeDetails": false
}

Key fields:

Apify Console YouTube Scraper input tab with search mode selected and two search queries typed in the searchQueries field
Search mode with two queries. Both run in parallel; duplicate videos between queries are deduplicated.
Want to use the JSON editor? Click JSON editor (top right of the input form) and paste the snippet above directly. This skips the form fields and is easier when you have many queries.
STEP 4

Run the actor

Click Save and Run at the bottom of the input form. Apify starts the actor and you see the live log in the Log tab. For a search run returning 100 videos, the actor finishes in roughly 20 to 40 seconds.

Apify Console run detail page showing a green SUCCEEDED status badge and the log showing 100 results scraped
A completed run. Green SUCCEEDED badge means all results are in the dataset.

If the run status shows FAILED, the most common causes are:

STEP 5

Export your results

Once the run succeeds, click Results (or the dataset link) in the run detail page. You see a table preview with thumbnails, titles, views, and all other fields.

Apify dataset page with the Export button expanded showing JSON, CSV, XML, Excel, HTML, and RSS format options
Export options on the dataset page. JSON and CSV are the most common choices.

Click Export and choose your format:

You can also hit the dataset via the Apify API or connect to it from n8n, Make, or Zapier using the dataset ID shown in the URL.

The four scraping modes

Mixing modes in one run: the actor supports only one mode per run. To combine, for example, a keyword search with a channel audit, run them as two separate actor invocations and merge the resulting datasets.

Getting full video details

By default, search and channel modes return only the data visible in the YouTube search results or channel listings: title, view count, duration, channel name, thumbnail, and approximate publish date. That is fast and costs $0.001 per video.

Set "includeDetails": true and the scraper opens each video's page as a second request. This adds:

{
  "mode": "search",
  "searchQueries": ["python web scraping"],
  "maxResults": 50,
  "includeDetails": true
}

With includeDetails: true, each video costs $0.001 (search result) plus $0.003 (detail page) = $0.004 total. Fifty videos comes to $0.20.

Tip: run without includeDetails first to see which videos are worth enriching, then pass those video URLs to a second video-mode run. This avoids paying $0.003 for detail pages on low-relevance results.

Field reference

Search results (default)

With includeDetails: true (additional)

Channel mode (additional)

Schedule recurring runs

From the actor page in Apify Console, click Schedules in the left sidebar and then Create schedule. Set a cron expression (for example, 0 6 * * 1 for every Monday at 6 AM UTC) and attach this actor with the same input JSON you tested manually.

Each scheduled run writes to a fresh dataset. To process the output automatically, connect a webhook in the schedule settings: Apify sends a POST request to your URL when the run finishes, with the dataset ID in the payload. From there you can pull the results into a database, a Google Sheet, or any other destination.

If you prefer a no-code automation layer, you can trigger the actor from n8n or Make using their Apify integrations. The n8n Apify node starts the actor and waits for the dataset in a single workflow step.

What it costs

Common scenarios:

The free Apify tier gives you $5 of credit every month automatically. You only need to add a payment method if your usage goes over that.

FAQ

Do I need a YouTube Data API key to use this scraper?

No. The scraper does not use the YouTube Data API at all. It scrapes YouTube the same way a browser would, so no API key, OAuth app, or quota to manage.

What is the daily or monthly video limit?

There is no hard monthly cap. Each run can return up to 10,000 results. For larger collections, run multiple instances with different queries or channel lists. Your effective limit is your Apify credit balance.

Can I scrape the actual comment text, not just the comment count?

The scraper extracts the total comment count per video. Full comment text extraction is not yet supported. The actor page lists open feature requests if you want to follow progress.

Can I search multiple keywords in one run?

Yes. Add multiple strings to the searchQueries array. All queries run in parallel and duplicate videos found by more than one query are returned only once. There is no per-query fee, just the per-result price for the videos returned.

How do I get exact like counts? The view count on the results page is approximate.

Set includeDetails: true. This opens each video page and extracts the exact like count, comment count, engagement rate, tags, full description, and exact ISO 8601 publish date. It adds $0.003 per video.

Does this work for YouTube Shorts?

Yes in two ways. Use shorts mode with a channel URL to pull all Shorts from a channel. Or use search or channel modes and filter results where is_short is true.

Is scraping YouTube legal?

Scraping publicly available data is generally permitted in most jurisdictions. The hiQ Labs v. LinkedIn ruling in the US confirmed that scraping public data does not violate the Computer Fraud and Abuse Act. YouTube's Terms of Service prohibit automated scraping, which creates civil risk (account suspension, cease-and-desist), but not criminal risk for public data. For GDPR purposes, any personal data (names, handles) in the output is subject to data protection rules. Consult a lawyer if you have specific compliance questions.

Can I connect the output directly to Google Sheets, Airtable, or a database?

Yes. Download the CSV from the dataset page and import it manually, or connect via the Apify API using the dataset ID. For automation, use an Apify webhook to trigger a downstream workflow in n8n, Make, or Zapier when the run finishes.

Related resources

Open the YouTube Scraper on Apify Browse all actors