Skip to content

cvaditya1/youtube_api

 
 

Repository files navigation

YouTube API (youtube_api)

pub package

A Flutter plugin for fetching interacting with YouTube Server to fetch data using API. Supports iOS and Android.

Features:

  • Search Video, Playlist, Channel on YouTube.
  • Get Trending Videos based on region code.

Usage

To use this plugin, add youtube_api as a dependency in your pubspec.yaml file.

Complete Example Code

Example

alt text

static String key = 'YOUR_API_KEY';
YoutubeAPI ytApi = new YoutubeAPI(key);
List<YT_API> ytResult = [];

To search for videos or Channels-

String query = "Flutter";
ytResult = await ytApi.search(query);
// data which are available in ytResult are shown below

To get Trending videos in your Country-

regionCode='YOUR_COUNTRY_REGION_CODE(apha-2)';
ytResult = await ytApi.getTrends(regionCode);
//make sure you assign alpha-2 region code

You can find your Country Region Code here

These data are stored in ytResult

[
  {
    "kind": "video",
    "id": "9vzd289Eedk",
    "channelTitle": "Java",
    "title": "WEBINAR - Programmatic Trading in Indian Markets using Python with Kite Connect API",
    "description": "For traders today, Python is the most preferred programming language for trading, as it provides great flexibility in terms of building and executing strategies.",
    "publishedAt": "2016-10-18T14:41:14.000Z",
    "channelId": "UC8kXgHG13XdgsigIPRmrIyA",
    "thumbnails": {
      "default": {
        "url": "https://i.ytimg.com/vi/9vzd289Eedk/default.jpg",
        "width": 120,
        "height": 90
      },
      "medium": {
        "url": "https://i.ytimg.com/vi/9vzd289Eedk/mqdefault.jpg",
        "width": 320,
        "height": 180
      },
      "high": {
        "url": "https://i.ytimg.com/vi/9vzd289Eedk/hqdefault.jpg",
        "width": 480,
        "height": 360
      }
    },
    "channelurl": "https://www.youtube.com/channel/UC8kXgHG13XdgsigIPRmrIyA",
    "url": "https://www.youtube.com/watch?v=9vzd289Eedk"
  },
  {
    "kind": "video"
    // Data for your next result in a similar way
  },
  {
    // Data for your next result in a similar way
    "url": "https://www.youtube.com/watch?v=9vzd289Eedk"
  }
]

Default per-page result is 10 .

If you want search any specif out i.e video or playlist or channel. For Channel only specify > Type : "channel"

For Video only specify > Type : "video"

For Playlist only specify > Type : "playlist"

maxResults(int) can be 1 - 50

int max = 25;

String type = "channel";

YoutubeAPI ytApi = new YoutubeAPI(key, maxResults: max, Type: type);

Feedback welcome and Pull Requests are most welcome!

About

This Plugin will help you in fetching data from Youtube. You just need YOUTUBE API KEY.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 75.2%
  • Ruby 12.6%
  • Objective-C 6.7%
  • Java 5.5%