YouTube Search Scraper avatar

YouTube Search Scraper

Pricing

from $0.20 / 1,000 results

Go to Apify Store
YouTube Search Scraper

YouTube Search Scraper

Search YouTube videos by phrase with titles, descriptions and channel details. Search a video topic and use the listed duration, type, upload-date and sort filters.

Pricing

from $0.20 / 1,000 results

Rating

0.0

(0)

Developer

Scrappa

Scrappa

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

3 days ago

Last modified

Share

Search YouTube videos by phrase with titles, descriptions and channel details. Search a video topic and use the listed duration, type, upload-date and sort filters.

What data can you extract?

Titles, publication details and engagement counts reflect public YouTube pages; some fields are hidden or unavailable for a video.

FieldTypeDescription
typestringCategory assigned to the YouTube video by YouTube; null when YouTube does not provide the value.
idstringsource ID for the YouTube video, assigned by YouTube; null when the source does not expose it.
titlestringTitle of the YouTube video, as shown by YouTube; null when no title is published.
descriptionstringDescription text from YouTube for this YouTube video; null when the source has no text to show.
thumbnailstringThumbnail url shown for the YouTube video by YouTube, in the format used by the source; null when it is omitted.
durationstringDuration of this YouTube video, in the duration format shown by the source; null when YouTube provides no timing information.
viewCountstringNumber of video views shown by YouTube, as a number or digit string; zero is possible, and null means no count was reported.
publishedTimestringPublication age displayed by YouTube, such as “2 days ago”; null when YouTube does not show it.
channelobjectYouTube channel details with channel ID, title, URL, thumbnail and subscriber count; null when the source provides no details.
badgesarraySource labels attached to this video, such as live or premium status from YouTube; an empty list when no entries are available.
isLivebooleanWhether the video is a livestream; false is a reported value, while null means YouTube provided no flag.
isShortbooleanWhether YouTube classifies the video as a Short; false is a reported value, while null means YouTube provided no flag.
isPremiumbooleanWhether YouTube marks the video as premium; false is a reported value, while null means YouTube provided no flag.
expandableMetadataobjectVideo search metadata with source labels and related search details from YouTube; null when the source provides no details.

Use cases

  • Video researchers can collect public titles and channel details for a topic or video list.
  • Creators can compare publishing details before planning follow-up content.
  • Content teams can build a searchable catalog from YouTube videos.

How to use

  1. Open the Actor’s Input tab and start with the JSON below.
  2. Set q to the search term or source identifier you want to look up, then use the optional filters listed below.
  3. Start the run and open its default dataset to inspect or download the rows.
{
"q": "Javascript tutorial",
"sort": [
"relevance"
],
"duration": [
"short"
],
"upload_date": [
"hour"
],
"limit": 10,
"type": [
"all"
]
}

The run dataset can be downloaded as JSON, CSV, Excel or another format offered by Apify.

Input

FieldTypeRequiredDescription
qstringYesSearch query
sortarray of stringNoSort by: relevance, rating, upload_date, view_count
durationarray of stringNoVideo duration: short, medium, long
upload_datearray of stringNoUpload date filter. Mapped to Scrappa publishedAfter.
limitintegerNoMaximum number of results to return Constraints: minimum 1; maximum 20.
continuationstringNoPagination token for next page
typearray of stringNoFilter by result type

Output example

The record below is synthetic. Names and links are examples, and private contact fields are omitted.

{
"type": "Video",
"id": "aB3dE5fG7hJ",
"title": "Building a Compact Balcony Herb Garden",
"description": "A practical walkthrough of light, containers and watering for a compact balcony garden.",
"thumbnail": "https://images.example.com/video/market-morning-thumb.jpg",
"duration": "4:18",
"viewCount": "18400",
"channel": {
"id": "UCaBcdEFghIJKlMNopQRSTuv",
"name": "Harborlight Studio",
"url": "https://www.youtube.com/@HarborlightStudio",
"thumbnail": "https://images.example.com/channels/harborlight-studio.jpg",
"subscriberCount": 18600
}
}

Pricing

Current live price: Apify Free tier: $0.30 per 1,000 results; Bronze: $0.25 per 1,000 results; Silver: $0.22 per 1,000 results; Gold, Platinum, and Diamond: $0.20 per 1,000 results.

Each saved video, post or comment record counts as one result.

FAQ

This Actor is for information visible on the public source pages it reads. You are responsible for checking the source terms, privacy and copyright rules, and the laws that apply to your use.

How many records will a run return?

The result count depends on the input limits, pagination settings and what the source makes available. A small query or unavailable page can return fewer records, including none.

Can I call it through the API or connect it to other tools?

Yes. Send the same JSON input to POST https://api.apify.com/v2/acts/thescrappa~youtube-api-search-data/runs, then read the run’s default dataset. Make, Zapier and n8n can start runs and pass dataset rows to the next step; Google Sheets can receive rows through those workflows or a dataset export.

What happens when a request fails?

Check the run log for the source or input error, correct the input and retry after a temporary source issue. A run can contain rows saved before a later request failed.

Which filters can narrow YouTube Search results?

Search with a phrase in q, then use the listed type, duration, upload_date, sort or limit options. A continuation value can request a later page.