TubeScoop API Documentation

Overview

🎥 TubeScoop API 📺 is a Node.js application leveraging the Express.js framework to offer a unique approach to fetching YouTube information without relying on the official YouTube API. Instead, it ingeniously "scrapes" public web pages to gather data, providing a novel solution for users and developers interested in YouTube content but looking to avoid the complexities and limitations of YouTube's official API.

Endpoints

POST /get_video

Retrieves information on the specified video URL.

curl -X POST /get_video -H "Content-Type: application/json" -d '{"url":"youtube_video_url"}'

Response

FullVideo

Description: Contains detailed information about the video, including video ID, title, description, and statistics.

POST /get_playlist

Retrieves information on the specified playlist, including videos.

curl -X POST /get_playlist -H "Content-Type: application/json" -d '{"url":"youtube_playlist_url"}'

Response

Playlist

Description: Contains details about the playlist and its videos, including video IDs, titles, and descriptions.

POST /get_channel

Retrieves information surrounding the specified channel.

curl -X POST /get_channel -H "Content-Type: application/json" -d '{"url":"youtube_channel_url"}'

Response

DepthChannel

Description: Contains detailed information about the channel, including channel ID, name, description, and statistics.

POST /get_channel_videos

Retrieves videos that the specified channel has uploaded.

curl -X POST /get_channel_videos -H "Content-Type: application/json" -d '{"channel_id":"youtube_channel_id"}'

Response

Array of ReducedVideo

Description: Contains basic information about the videos uploaded by the channel, including video IDs, titles, and thumbnails.

Authentication

API requests do not require authentication; to add this feature please submit a pull request to contribute.

Errors

The API returns standard HTTP status codes to indicate success or failure. Below are some common error responses:

  • 400 Bad Request: The request was invalid or cannot be otherwise served.
  • 401 Unauthorized: Authentication credentials are missing or invalid.
  • 404 Not Found: The requested resource could not be found.

Response Structure

ReducedVideo

Structure:

  • title: The title of the video.
  • thumbnail: URL of the video's thumbnail image.
  • url: The URL of the video.
  • channel: Channel details (ReducedChannel).
  • views: Number of views the video has.
  • length: Duration of the video.
  • released_relatively: The time since the video was released.
  • id: Unique identifier for the video.

FullVideo

Structure:

  • title: The title of the video.
  • views: Number of views the video has.
  • thumbnail: URL of the video's thumbnail image.
  • likecount: Number of likes the video has.
  • release_date: The release date of the video.
  • released_relatively: The time since the video was released.
  • description: Description of the video.
  • channel: Channel details (FullChannel).

Playlist

Structure:

  • title: The title of the playlist.
  • thumbnail: URL of the playlist's thumbnail image.
  • url: The URL of the playlist.
  • creator: Creator details (ReducedChannel).
  • description: Description of the playlist.
  • video_count: Number of videos in the playlist.
  • id: Unique identifier for the playlist.
  • videos: List of videos in the playlist (Array[ReducedVideo]).

ReducedChannel

Structure:

  • name: The name of the channel.
  • url: The URL of the channel.

FullChannel

  • name: The name of the channel.
  • subscribers: The number of subscribers the channel has.
  • verified: Indicates whether the channel is verified.
  • url: The URL of the channel.
  • profile_picture: URL to the channel's profile picture.

DepthChannel

Structure:

  • name: The name of the channel.
  • description: Description of the channel.
  • keywords: Keywords associated with the channel.
  • subscribers: Number of subscribers to the channel.
  • verified: Whether the channel is verified.
  • artist: Name of the artist if applicable.
  • url: The URL of the channel.
  • profile_picture: URL of the channel's profile picture.
  • banner: URL of the channel's banner image.
  • tv_banner: URL of the channel's TV banner image.
  • sfw: Whether the channel is marked safe for work.
  • availableIn: Availability in different regions.
  • rss_feed: URL of the channel's RSS feed.
  • video_count: Number of videos on the channel.
  • id: Unique identifier for the channel.