0.0.2 • Published 4 months ago

api-youtube v0.0.2

Weekly downloads
-
License
ISC
Repository
github
Last release
4 months ago

API YouTube

Description:

API YouTube is a YouTube scraping tool designed to make it easy to collect key details and information from YouTube videos and searches. This package provides a simple interface to access data such as titles, descriptions, views, thumbnails, and more, directly from the YouTube platform.

In addition to gathering data, the package includes two essential functions:

  • Validate YouTube Video ID: Allows you to validate if a YouTube video ID is correct and corresponds to a valid YouTube URL.

  • Extract YouTube Video ID: Extracts the unique video ID from any YouTube video URL, making it easier to process and analyze.

With API YouTube, developers can easily integrate YouTube scraping and analysis capabilities into their applications.

Features:

  • Gather detailed information from YouTube videos: title, description, views, thumbnails, etc.
  • Function to validate YouTube video ID.
  • Function to extract video ID from any YouTube URL.
  • Support for fetching YouTube search results.

Timings

TypeFetch TimeProcessing TimeLink Results
Search485.63 ms2.546 msLink
Details545.64 ms2.546 msLink

Install

npm install api-youtube

Example Code

Validate YouTube Video ID

import { isValidYouTubeId } from 'api-youtube'

const idValid = isValidYouTubeId('QCZZwZQ4qNs');
console.log(idValid); // TRUE

const idNoValid = isValidYouTubeId('xxx');
console.log(idNoValid); // FALSE

Extract ID From YouTube URL

import { isValidYouTubeId } from 'api-youtube'

const idValid = isValidYouTubeId('https://www.youtube.com/watch?v=QCZZwZQ4qNs');
console.log(idValid); // QCZZwZQ4qNs

const idValid2 = isValidYouTubeId('http://youtu.be/QCZZwZQ4qNs');
console.log(idValid2); // QCZZwZQ4qNs

Get YouTube Search Results Info

Option 1
import { YoutubeSearchExtractor } from 'api-youtube';

const getInfo = async (query) => {
  try {
	const youtube = new YouTubeInfoExtractor();
    const info = await youtube.search(query);
    console.log(info);
  } catch (error) {
    console.error('Error:', error);
  }
}

getInfo('karol g');
Option 2
import { YouTubeSearch } from 'api-youtube';

const getInfo = async (query) => {
  try {
    const info = await YouTubeSearch(query);
    console.log(info);
  } catch (error) {
    console.error('Error:', error);
  }
}

getInfo('karol g');

Example Options

import { youtube } from 'scrape-youtube';

const options = {
  type: 'video',  // video, channel, playlist, movie, live, any
  request: {
    proxy: 'http://your.proxy.host:8080', //proxy url
    headers: {
      Cookie: 'PREF=f2=8000000',
      'Accept-Language': 'de'  // en, es, fr, in, etc
    }
  }
};

const getVideoInfo = async (query) => {
  try {
    const results = await youtube.search(query, options);
    console.log(results);
  } catch (error) {
    console.error('Error:', error);
  }
};

getVideoInfo('karol g');

Get Info YouTube URL

Option 1
import { YouTubeInfoExtractor } from 'api-youtube';

const getInfo = async (url) => {
  try {
	const youtube = new YouTubeInfoExtractor();
    const info = await youtube.getInfo(url);
    console.log(info);
  } catch (error) {
    console.error('Error:', error);
  }
}

getInfo('https://www.youtube.com/watch?v=QCZZwZQ4qNs');
Option 2
import { getYouTubeInfo } from 'api-youtube';

const getInfo = async (url) => {
  try {
    const info = await getYouTubeInfo(url);
    console.log(info);
  } catch (error) {
    console.error('Error:', error);
  }
}

getInfo('https://www.youtube.com/watch?v=QCZZwZQ4qNs');