YouTube Search Data Scraper avatar

YouTube Search Data Scraper

Pricing

from $0.20 / 1,000 results

Go to Apify Store
YouTube Search Data Scraper

YouTube Search Data Scraper

Search YouTube by query and filter results by type, sort order, duration, upload date, content type, features, limit, and continuation token.

Pricing

from $0.20 / 1,000 results

Rating

0.0

(0)

Developer

Scrappa

Scrappa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

YouTube API Search Data

Search YouTube for videos, channels, playlists, movies, live streams, and filtered result sets. The Actor returns one dataset item per YouTube search result, so you can export results to JSON, CSV, Excel, or connect them to downstream Apify integrations.

What You Can Get

  • YouTube video, channel, playlist, movie, and mixed search results
  • Titles, descriptions, thumbnails, result IDs, durations, view counts, and publish times
  • Channel metadata including channel ID, name, URL, thumbnail, and verification status
  • Badges such as CC, New, 4K, or other labels returned by YouTube
  • Live, Shorts, and Premium flags when available
  • Chapter or extra result metadata when YouTube returns expandable result details

Input

FieldTypeRequiredDescription
qstringYesYouTube search query.
sortarrayNoSort order. One of relevance, rating, upload_date, or view_count. Defaults to relevance.
durationarrayNoVideo duration filter. One of short, medium, or long.
upload_datearrayNoUpload date filter. One of hour, today, week, month, or year. The actor maps this to Scrappa publishedAfter.
limitintegerNoMaximum results to return, from 1 to 20.
continuationstringNoContinuation token for the next page of results.
typearrayNoResult type. One of all, video, channel, playlist, or movie.

Apify select fields are arrays in JSON input. Use a single selected value in each array, for example "type": ["video"].

Example Inputs

Recent Tutorial Videos

{
"q": "javascript tutorial",
"type": ["video"],
"sort": ["upload_date"],
"upload_date": ["week"],
"duration": ["medium"],
"limit": 20
}

High-View Product Reviews

{
"q": "iphone 16 pro review",
"type": ["video"],
"sort": ["view_count"],
"limit": 20
}

AI News Videos

{
"q": "ai news live",
"type": ["video"],
"limit": 20
}

Channels Matching a Query

{
"q": "web development",
"type": ["channel"],
"sort": ["relevance"],
"limit": 20
}

Continue to the Next Page

{
"q": "javascript tutorial",
"type": ["video"],
"sort": ["relevance"],
"limit": 20,
"continuation": "PASTE_CONTINUATION_TOKEN_FROM_PREVIOUS_RUN"
}

When the API returns a next-page token, the Actor logs it as Continuation token available for next page: ....

Output

Each YouTube search result is saved as one dataset item. Fields vary by result type, but video results commonly include:

{
"type": "Video",
"id": "W6NZfCO5SIk",
"title": "JavaScript Course for Beginners - Your First Step to Web Development",
"description": "Learn JavaScript basics with this quick, beginner-friendly course...",
"thumbnail": "https://i.ytimg.com/vi/W6NZfCO5SIk/hq720.jpg",
"duration": "48:17",
"viewCount": "14,962,240 views",
"publishedTime": "8 years ago",
"channel": {
"id": "UCWv7vMbMWH4-V0ZXdmDpPBA",
"name": "Programming with Mosh",
"thumbnail": "https://yt3.ggpht.com/...",
"verified": true,
"isVerifiedArtist": false,
"url": "https://www.youtube.com/@programmingwithmosh"
},
"badges": ["CC"],
"isLive": false,
"isShort": false,
"isPremium": false,
"expandableMetadata": null
}

Dataset Columns

The default dataset view highlights the most useful columns for scanning and exporting search results:

ColumnDescription
typeResult type, such as Video, Channel, or Playlist.
idYouTube result ID, such as a video ID or channel ID.
titleResult title.
channel.nameChannel name for video results.
channel.urlChannel URL when provided by YouTube.
durationVideo duration when available.
viewCountDisplay view count text returned by YouTube.
publishedTimeRelative publish time returned by YouTube.
thumbnailResult thumbnail image URL.
badgesSearch result badges, labels, or availability markers.
isLiveWhether the result is live.
isShortWhether the result is a Short.
isPremiumWhether the result is marked as Premium.

Pricing

$0.30 per 1,000 results. No additional API keys required.

Support

For issues or questions, contact us through Apify.