YouTube Description Extractor avatar

YouTube Description Extractor

Pricing

$4.45 / 1,000 scraped descriptions

Go to Apify Store
YouTube Description Extractor

YouTube Description Extractor

Extract full public YouTube video descriptions from watch, youtu.be, and Shorts URLs. Export titles, thumbnails, links, hashtags, mentions, channel data, and publish dates in a clean dataset.

Pricing

$4.45 / 1,000 scraped descriptions

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

📝 YouTube description extractor for public videos

YouTube Description Extractor gets full public descriptions from YouTube videos. Add YouTube watch URLs, youtu.be links, or Shorts URLs, then export one clean row per accessible video with the video ID, title, thumbnail URL, channel details, publish date, full description, description links, hashtags, and mentions.

Use this YouTube description extractor for video SEO research, content audits, creator research, competitor reviews, link discovery, and repeatable metadata exports. You do not need YouTube cookies, a login, OAuth, or a YouTube API key. For a quick first run, keep the prefilled examples and open the dataset when the run finishes.

The Actor focuses on direct public video URLs. It does not search YouTube, crawl channels, scrape comments, extract transcripts, collect hidden tags, download videos, or rewrite descriptions with AI. It saves source-backed data only.

✅ What this Actor does

  • Extracts full public YouTube video descriptions.
  • Preserves description line breaks, links, hashtags, and mentions.
  • Accepts YouTube watch URLs, youtu.be links, and Shorts URLs.
  • Saves one dataset row per successfully resolved public video.
  • Adds source-backed metadata such as video ID, title, thumbnail URL, channel ID, channel name, and publish date when YouTube shows it.
  • Extracts URLs from the description into descriptionLinks in source order.
  • Extracts hashtags and at-mentions from the description text.
  • Deduplicates repeated input URLs by YouTube video ID during the run.
  • Skips invalid, private, removed, blocked, duplicate, or unresolved targets without saving misleading rows.
  • Works with Apify dataset exports, API access, schedules, webhooks, and integrations.

📦 YouTube descriptions and metadata you can export

Each output row represents one successfully extracted public YouTube video. Fields include:

  • videoId - stable YouTube video ID.
  • title - video title when available.
  • description - full public video description text.
  • thumbnailUrl - public YouTube thumbnail URL when available.
  • channelId - YouTube channel ID when available.
  • channelName - public channel name when available.
  • publishedAt - source-visible publish timestamp or date when available.
  • descriptionLinks - URLs found inside the description, in source order.
  • hashtags - hashtags found in the description.
  • mentions - at-mentions found in the description.

The output intentionally avoids fields you can derive yourself, such as a watch URL from videoId, row timestamps, joined link text, description length, or link count. This keeps the dataset compact and easier to join with your own tools.

🚀 Common use cases

  • Export YouTube video descriptions for SEO audits.
  • Collect description links from affiliate, social, product, or reference URLs.
  • Compare creator descriptions across competitor videos.
  • Build a spreadsheet of titles, thumbnails, channels, descriptions, hashtags, and mentions.
  • Archive public video descriptions for content reviews.
  • Feed source text into your own analysis, dashboard, or internal workflow.
  • Schedule repeat checks for a fixed list of public videos.

▶️ How to run it

  1. Open the Input tab.
  2. Paste one public YouTube video URL per row in YouTube video URLs.
  3. Keep the prefilled examples for a small first run, or replace them with your own targets.
  4. Start the Actor.
  5. Open the dataset and export the results as JSON, CSV, Excel, XML, RSS, or HTML.

Accepted input examples:

{
"startUrls": [
{
"url": "https://www.youtube.com/watch?v=HV23VDFWC3o"
},
{
"url": "https://youtu.be/dQw4w9WgXcQ"
},
{
"url": "https://www.youtube.com/shorts/aqz-KE-bpKQ"
}
]
}

🧾 Input

startUrls is the only required input. Add direct public YouTube video URLs. The Actor supports common video URL forms:

  • https://www.youtube.com/watch?v=HV23VDFWC3o
  • https://youtu.be/dQw4w9WgXcQ
  • https://www.youtube.com/shorts/aqz-KE-bpKQ

You do not need to add proxy settings, cookies, API keys, browser settings, or enrichment options. The Actor returns the useful source-backed fields automatically.

📤 Output example

{
"videoId": "HV23VDFWC3o",
"title": "6 Dinosaur Punch Box | T-Rex Mosasaurus Velociraptor Blue",
"description": "6 Dinosaur Punch Box | T-Rex Mosasaurus Velociraptor Blue\n\nSubscribe to Boys Playtime for more SURPRISES!\nhttps://www.youtube.com/c/BoysPlaytime\n\n#dinosaurs #tyrannosaurus #mosasaurus",
"thumbnailUrl": "https://i.ytimg.com/vi/HV23VDFWC3o/maxresdefault.jpg",
"channelId": "UCCrGfO9A8eLdSsB4bWbMhTg",
"channelName": "Boys Playtime",
"publishedAt": "2024-04-01T02:00:24-07:00",
"descriptionLinks": [
{
"url": "https://www.youtube.com/c/BoysPlaytime",
"text": "https://www.youtube.com/c/BoysPlaytime"
}
],
"hashtags": [
"#dinosaurs",
"#tyrannosaurus",
"#mosasaurus"
],
"mentions": []
}

Some metadata fields can be null when YouTube does not show them for a successful public video. Videos with no description are saved with an empty description. Link, hashtag, and mention arrays are empty when the description does not contain those items.

💳 Pricing

This Actor uses pay-per-event pricing. You are charged only for each successfully scraped video description row. Invalid, private, removed, blocked, duplicate, or unresolved targets are skipped and are not charged as successful description rows.

The planned price is $0.00445 per successfully scraped description, or $4.45 per 1,000 successful video description rows.

⚠️ Limits and caveats

  • The Actor works with direct public YouTube video URLs only.
  • It does not search YouTube or discover videos from channels, playlists, keywords, hashtags, recommendations, or trends.
  • It does not scrape comments, transcripts, captions, hidden tags, channel emails, or region restrictions.
  • It does not download video, audio, thumbnails, or other media files.
  • Private, deleted, age-restricted, blocked, or unavailable videos may be skipped.
  • Public YouTube pages can change or temporarily block access. The Actor retries recoverable source issues and continues with the rest of the batch.

❓ FAQ

🔑 Does this YouTube description extractor need a YouTube API key?

No. Add public YouTube video URLs and run the Actor. You do not need a YouTube API key, OAuth app, login, or cookies.

🎬 Can it extract descriptions from Shorts?

Yes, when the Shorts URL resolves to normal public video metadata. Shorts rows use the same output fields as watch-page videos.

🔗 Does the output include the YouTube video URL?

No. The dataset includes videoId instead. You can reconstruct the public watch URL as https://www.youtube.com/watch?v={videoId} when you need it.

⚠️ Why are some videos missing from the dataset?

The Actor emits rows only for successfully resolved public videos. Invalid, duplicate, private, removed, blocked, or unresolved targets are skipped so the dataset stays focused on usable description rows.

📊 Can I export the results to a spreadsheet or API?

Yes. Apify datasets can be exported as CSV, Excel, JSON, XML, RSS, or HTML. You can also read the dataset through the Apify API or connect runs to schedules, webhooks, and integrations.

📝 Changelog

  • 0.1: Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

🔗 Other actors

Made with ❤️ by Maxime Dupré