diff --git a/sdk/src/video.js b/sdk/src/video.js
new file mode 100644
index 00000000..fea50eb3
--- /dev/null
+++ b/sdk/src/video.js
@@ -0,0 +1,39 @@
+
+const fetch = require("node-fetch"); 
+const xmltojson = require("xml2json")
+const url = require("../config.json")
+
+class videoFetchManager{
+ static async getVideoJsonByID(ID){
+    const player = await fetch(url.poketube_api + `/player?v=${ID}`)
+    var text = await player.text();var json = xmltojson.toJson(text);let parser = JSON.parse(json);
+    return parser
+} 
+  static async getEngagementByID(ID){
+        const engagement = await fetch(url.dislike_api + `${ID}`) 
+        const returner = {
+          likes:engagement.likes.toLocaleString(),
+          dislikes:engagement.dislikes.toLocaleString(),
+          viewCount:engagement.viewCount.toLocaleString()
+        }
+        return returner
+  }
+  static async downloadVideo(ID){
+    const player = await fetch(url.poketube_api + `/player?v=${ID}`)
+    var text = await player.text();
+    var json = xmltojson.toJson(text);
+    let parser = JSON.parse(json);
+    const fetching = parser
+    var j = fetching.Player.Formats.Format
+     if(j[1].URL){
+    var url = j[1].URL
+   } else if(j[1].URL){
+    var s = j.formats
+    const lastItem = s[s.length - 1];
+    var url = lastItem.URL
+   }
+    return url
+  }
+}
+
+module.exports = videoFetchManager