├── .gitignore ├── README.md ├── data.json ├── index.js ├── package-lock.json ├── package.json └── searchResult.json /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## YouTube downloader Api 2 | Api for https://github.com/Danssui2/youtube-downloader-react-tailwind 3 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const express = require("express"); 2 | const app = express(); 3 | 4 | const ytdl = require("ytdl-core"); 5 | const ytsr = require('ytsr'); 6 | 7 | const cors = require('cors'); 8 | 9 | app.use(cors()); 10 | 11 | app.get("/", (req, res) => { 12 | res.send("Api is active!"); 13 | }); 14 | 15 | app.get("/down", async (req, res) => { 16 | if (ytdl.validateURL(req.query.url)) { 17 | 18 | const metainfo = await ytdl.getBasicInfo(req.query.url); 19 | res.json({"info": metainfo.videoDetails, "link": metainfo.formats}); 20 | 21 | // Write metadata into storage 22 | //let data = JSON.stringify(metainfo, null, 2); 23 | //fs.writeFileSync('data.json', data); 24 | 25 | } else { 26 | const filters1 = await ytsr.getFilters('' + req.query.url); 27 | const filtered = filters1.get('Type').get('Video'); 28 | 29 | const searchRes = await ytsr('' + filtered.url, {limit: 8}); 30 | res.json({"searchres": searchRes.items}); 31 | } 32 | }); 33 | 34 | app.listen(5000, () => { 35 | console.log("Server is running on http://localhost:5000"); 36 | }); 37 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "YTDownload", 3 | "version": "1.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "YTDownload", 9 | "version": "1.0.0", 10 | "license": "ISC", 11 | "dependencies": { 12 | "cors": "^2.8.5", 13 | "express": "^4.18.1", 14 | "ytdl-core": "^4.11.2", 15 | "ytsr": "^3.8.0" 16 | } 17 | }, 18 | "node_modules/accepts": { 19 | "version": "1.3.8", 20 | "license": "MIT", 21 | "dependencies": { 22 | "mime-types": "~2.1.34", 23 | "negotiator": "0.6.3" 24 | }, 25 | "engines": { 26 | "node": ">= 0.6" 27 | } 28 | }, 29 | "node_modules/array-flatten": { 30 | "version": "1.1.1", 31 | "license": "MIT" 32 | }, 33 | "node_modules/body-parser": { 34 | "version": "1.20.0", 35 | "license": "MIT", 36 | "dependencies": { 37 | "bytes": "3.1.2", 38 | "content-type": "~1.0.4", 39 | "debug": "2.6.9", 40 | "depd": "2.0.0", 41 | "destroy": "1.2.0", 42 | "http-errors": "2.0.0", 43 | "iconv-lite": "0.4.24", 44 | "on-finished": "2.4.1", 45 | "qs": "6.10.3", 46 | "raw-body": "2.5.1", 47 | "type-is": "~1.6.18", 48 | "unpipe": "1.0.0" 49 | }, 50 | "engines": { 51 | "node": ">= 0.8", 52 | "npm": "1.2.8000 || >= 1.4.16" 53 | } 54 | }, 55 | "node_modules/bytes": { 56 | "version": "3.1.2", 57 | "license": "MIT", 58 | "engines": { 59 | "node": ">= 0.8" 60 | } 61 | }, 62 | "node_modules/call-bind": { 63 | "version": "1.0.2", 64 | "license": "MIT", 65 | "dependencies": { 66 | "function-bind": "^1.1.1", 67 | "get-intrinsic": "^1.0.2" 68 | }, 69 | "funding": { 70 | "url": "https://github.com/sponsors/ljharb" 71 | } 72 | }, 73 | "node_modules/content-disposition": { 74 | "version": "0.5.4", 75 | "license": "MIT", 76 | "dependencies": { 77 | "safe-buffer": "5.2.1" 78 | }, 79 | "engines": { 80 | "node": ">= 0.6" 81 | } 82 | }, 83 | "node_modules/content-type": { 84 | "version": "1.0.4", 85 | "license": "MIT", 86 | "engines": { 87 | "node": ">= 0.6" 88 | } 89 | }, 90 | "node_modules/cookie": { 91 | "version": "0.5.0", 92 | "license": "MIT", 93 | "engines": { 94 | "node": ">= 0.6" 95 | } 96 | }, 97 | "node_modules/cookie-signature": { 98 | "version": "1.0.6", 99 | "license": "MIT" 100 | }, 101 | "node_modules/cors": { 102 | "version": "2.8.5", 103 | "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", 104 | "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", 105 | "dependencies": { 106 | "object-assign": "^4", 107 | "vary": "^1" 108 | }, 109 | "engines": { 110 | "node": ">= 0.10" 111 | } 112 | }, 113 | "node_modules/debug": { 114 | "version": "2.6.9", 115 | "license": "MIT", 116 | "dependencies": { 117 | "ms": "2.0.0" 118 | } 119 | }, 120 | "node_modules/depd": { 121 | "version": "2.0.0", 122 | "license": "MIT", 123 | "engines": { 124 | "node": ">= 0.8" 125 | } 126 | }, 127 | "node_modules/destroy": { 128 | "version": "1.2.0", 129 | "license": "MIT", 130 | "engines": { 131 | "node": ">= 0.8", 132 | "npm": "1.2.8000 || >= 1.4.16" 133 | } 134 | }, 135 | "node_modules/ee-first": { 136 | "version": "1.1.1", 137 | "license": "MIT" 138 | }, 139 | "node_modules/encodeurl": { 140 | "version": "1.0.2", 141 | "license": "MIT", 142 | "engines": { 143 | "node": ">= 0.8" 144 | } 145 | }, 146 | "node_modules/escape-html": { 147 | "version": "1.0.3", 148 | "license": "MIT" 149 | }, 150 | "node_modules/etag": { 151 | "version": "1.8.1", 152 | "license": "MIT", 153 | "engines": { 154 | "node": ">= 0.6" 155 | } 156 | }, 157 | "node_modules/express": { 158 | "version": "4.18.1", 159 | "license": "MIT", 160 | "dependencies": { 161 | "accepts": "~1.3.8", 162 | "array-flatten": "1.1.1", 163 | "body-parser": "1.20.0", 164 | "content-disposition": "0.5.4", 165 | "content-type": "~1.0.4", 166 | "cookie": "0.5.0", 167 | "cookie-signature": "1.0.6", 168 | "debug": "2.6.9", 169 | "depd": "2.0.0", 170 | "encodeurl": "~1.0.2", 171 | "escape-html": "~1.0.3", 172 | "etag": "~1.8.1", 173 | "finalhandler": "1.2.0", 174 | "fresh": "0.5.2", 175 | "http-errors": "2.0.0", 176 | "merge-descriptors": "1.0.1", 177 | "methods": "~1.1.2", 178 | "on-finished": "2.4.1", 179 | "parseurl": "~1.3.3", 180 | "path-to-regexp": "0.1.7", 181 | "proxy-addr": "~2.0.7", 182 | "qs": "6.10.3", 183 | "range-parser": "~1.2.1", 184 | "safe-buffer": "5.2.1", 185 | "send": "0.18.0", 186 | "serve-static": "1.15.0", 187 | "setprototypeof": "1.2.0", 188 | "statuses": "2.0.1", 189 | "type-is": "~1.6.18", 190 | "utils-merge": "1.0.1", 191 | "vary": "~1.1.2" 192 | }, 193 | "engines": { 194 | "node": ">= 0.10.0" 195 | } 196 | }, 197 | "node_modules/finalhandler": { 198 | "version": "1.2.0", 199 | "license": "MIT", 200 | "dependencies": { 201 | "debug": "2.6.9", 202 | "encodeurl": "~1.0.2", 203 | "escape-html": "~1.0.3", 204 | "on-finished": "2.4.1", 205 | "parseurl": "~1.3.3", 206 | "statuses": "2.0.1", 207 | "unpipe": "~1.0.0" 208 | }, 209 | "engines": { 210 | "node": ">= 0.8" 211 | } 212 | }, 213 | "node_modules/forwarded": { 214 | "version": "0.2.0", 215 | "license": "MIT", 216 | "engines": { 217 | "node": ">= 0.6" 218 | } 219 | }, 220 | "node_modules/fresh": { 221 | "version": "0.5.2", 222 | "license": "MIT", 223 | "engines": { 224 | "node": ">= 0.6" 225 | } 226 | }, 227 | "node_modules/function-bind": { 228 | "version": "1.1.1", 229 | "license": "MIT" 230 | }, 231 | "node_modules/get-intrinsic": { 232 | "version": "1.1.2", 233 | "license": "MIT", 234 | "dependencies": { 235 | "function-bind": "^1.1.1", 236 | "has": "^1.0.3", 237 | "has-symbols": "^1.0.3" 238 | }, 239 | "funding": { 240 | "url": "https://github.com/sponsors/ljharb" 241 | } 242 | }, 243 | "node_modules/has": { 244 | "version": "1.0.3", 245 | "license": "MIT", 246 | "dependencies": { 247 | "function-bind": "^1.1.1" 248 | }, 249 | "engines": { 250 | "node": ">= 0.4.0" 251 | } 252 | }, 253 | "node_modules/has-symbols": { 254 | "version": "1.0.3", 255 | "license": "MIT", 256 | "engines": { 257 | "node": ">= 0.4" 258 | }, 259 | "funding": { 260 | "url": "https://github.com/sponsors/ljharb" 261 | } 262 | }, 263 | "node_modules/http-errors": { 264 | "version": "2.0.0", 265 | "license": "MIT", 266 | "dependencies": { 267 | "depd": "2.0.0", 268 | "inherits": "2.0.4", 269 | "setprototypeof": "1.2.0", 270 | "statuses": "2.0.1", 271 | "toidentifier": "1.0.1" 272 | }, 273 | "engines": { 274 | "node": ">= 0.8" 275 | } 276 | }, 277 | "node_modules/iconv-lite": { 278 | "version": "0.4.24", 279 | "license": "MIT", 280 | "dependencies": { 281 | "safer-buffer": ">= 2.1.2 < 3" 282 | }, 283 | "engines": { 284 | "node": ">=0.10.0" 285 | } 286 | }, 287 | "node_modules/inherits": { 288 | "version": "2.0.4", 289 | "license": "ISC" 290 | }, 291 | "node_modules/ipaddr.js": { 292 | "version": "1.9.1", 293 | "license": "MIT", 294 | "engines": { 295 | "node": ">= 0.10" 296 | } 297 | }, 298 | "node_modules/m3u8stream": { 299 | "version": "0.8.6", 300 | "license": "MIT", 301 | "dependencies": { 302 | "miniget": "^4.2.2", 303 | "sax": "^1.2.4" 304 | }, 305 | "engines": { 306 | "node": ">=12" 307 | } 308 | }, 309 | "node_modules/media-typer": { 310 | "version": "0.3.0", 311 | "license": "MIT", 312 | "engines": { 313 | "node": ">= 0.6" 314 | } 315 | }, 316 | "node_modules/merge-descriptors": { 317 | "version": "1.0.1", 318 | "license": "MIT" 319 | }, 320 | "node_modules/methods": { 321 | "version": "1.1.2", 322 | "license": "MIT", 323 | "engines": { 324 | "node": ">= 0.6" 325 | } 326 | }, 327 | "node_modules/mime": { 328 | "version": "1.6.0", 329 | "license": "MIT", 330 | "bin": { 331 | "mime": "cli.js" 332 | }, 333 | "engines": { 334 | "node": ">=4" 335 | } 336 | }, 337 | "node_modules/mime-db": { 338 | "version": "1.52.0", 339 | "license": "MIT", 340 | "engines": { 341 | "node": ">= 0.6" 342 | } 343 | }, 344 | "node_modules/mime-types": { 345 | "version": "2.1.35", 346 | "license": "MIT", 347 | "dependencies": { 348 | "mime-db": "1.52.0" 349 | }, 350 | "engines": { 351 | "node": ">= 0.6" 352 | } 353 | }, 354 | "node_modules/miniget": { 355 | "version": "4.2.2", 356 | "license": "MIT", 357 | "engines": { 358 | "node": ">=12" 359 | } 360 | }, 361 | "node_modules/ms": { 362 | "version": "2.0.0", 363 | "license": "MIT" 364 | }, 365 | "node_modules/negotiator": { 366 | "version": "0.6.3", 367 | "license": "MIT", 368 | "engines": { 369 | "node": ">= 0.6" 370 | } 371 | }, 372 | "node_modules/object-assign": { 373 | "version": "4.1.1", 374 | "license": "MIT", 375 | "engines": { 376 | "node": ">=0.10.0" 377 | } 378 | }, 379 | "node_modules/object-inspect": { 380 | "version": "1.12.2", 381 | "license": "MIT", 382 | "funding": { 383 | "url": "https://github.com/sponsors/ljharb" 384 | } 385 | }, 386 | "node_modules/on-finished": { 387 | "version": "2.4.1", 388 | "license": "MIT", 389 | "dependencies": { 390 | "ee-first": "1.1.1" 391 | }, 392 | "engines": { 393 | "node": ">= 0.8" 394 | } 395 | }, 396 | "node_modules/parseurl": { 397 | "version": "1.3.3", 398 | "license": "MIT", 399 | "engines": { 400 | "node": ">= 0.8" 401 | } 402 | }, 403 | "node_modules/path-to-regexp": { 404 | "version": "0.1.7", 405 | "license": "MIT" 406 | }, 407 | "node_modules/proxy-addr": { 408 | "version": "2.0.7", 409 | "license": "MIT", 410 | "dependencies": { 411 | "forwarded": "0.2.0", 412 | "ipaddr.js": "1.9.1" 413 | }, 414 | "engines": { 415 | "node": ">= 0.10" 416 | } 417 | }, 418 | "node_modules/qs": { 419 | "version": "6.10.3", 420 | "license": "BSD-3-Clause", 421 | "dependencies": { 422 | "side-channel": "^1.0.4" 423 | }, 424 | "engines": { 425 | "node": ">=0.6" 426 | }, 427 | "funding": { 428 | "url": "https://github.com/sponsors/ljharb" 429 | } 430 | }, 431 | "node_modules/range-parser": { 432 | "version": "1.2.1", 433 | "license": "MIT", 434 | "engines": { 435 | "node": ">= 0.6" 436 | } 437 | }, 438 | "node_modules/raw-body": { 439 | "version": "2.5.1", 440 | "license": "MIT", 441 | "dependencies": { 442 | "bytes": "3.1.2", 443 | "http-errors": "2.0.0", 444 | "iconv-lite": "0.4.24", 445 | "unpipe": "1.0.0" 446 | }, 447 | "engines": { 448 | "node": ">= 0.8" 449 | } 450 | }, 451 | "node_modules/safe-buffer": { 452 | "version": "5.2.1", 453 | "funding": [ 454 | { 455 | "type": "github", 456 | "url": "https://github.com/sponsors/feross" 457 | }, 458 | { 459 | "type": "patreon", 460 | "url": "https://www.patreon.com/feross" 461 | }, 462 | { 463 | "type": "consulting", 464 | "url": "https://feross.org/support" 465 | } 466 | ], 467 | "license": "MIT" 468 | }, 469 | "node_modules/safer-buffer": { 470 | "version": "2.1.2", 471 | "license": "MIT" 472 | }, 473 | "node_modules/sax": { 474 | "version": "1.2.4", 475 | "license": "ISC" 476 | }, 477 | "node_modules/send": { 478 | "version": "0.18.0", 479 | "license": "MIT", 480 | "dependencies": { 481 | "debug": "2.6.9", 482 | "depd": "2.0.0", 483 | "destroy": "1.2.0", 484 | "encodeurl": "~1.0.2", 485 | "escape-html": "~1.0.3", 486 | "etag": "~1.8.1", 487 | "fresh": "0.5.2", 488 | "http-errors": "2.0.0", 489 | "mime": "1.6.0", 490 | "ms": "2.1.3", 491 | "on-finished": "2.4.1", 492 | "range-parser": "~1.2.1", 493 | "statuses": "2.0.1" 494 | }, 495 | "engines": { 496 | "node": ">= 0.8.0" 497 | } 498 | }, 499 | "node_modules/send/node_modules/ms": { 500 | "version": "2.1.3", 501 | "license": "MIT" 502 | }, 503 | "node_modules/serve-static": { 504 | "version": "1.15.0", 505 | "license": "MIT", 506 | "dependencies": { 507 | "encodeurl": "~1.0.2", 508 | "escape-html": "~1.0.3", 509 | "parseurl": "~1.3.3", 510 | "send": "0.18.0" 511 | }, 512 | "engines": { 513 | "node": ">= 0.8.0" 514 | } 515 | }, 516 | "node_modules/setprototypeof": { 517 | "version": "1.2.0", 518 | "license": "ISC" 519 | }, 520 | "node_modules/side-channel": { 521 | "version": "1.0.4", 522 | "license": "MIT", 523 | "dependencies": { 524 | "call-bind": "^1.0.0", 525 | "get-intrinsic": "^1.0.2", 526 | "object-inspect": "^1.9.0" 527 | }, 528 | "funding": { 529 | "url": "https://github.com/sponsors/ljharb" 530 | } 531 | }, 532 | "node_modules/statuses": { 533 | "version": "2.0.1", 534 | "license": "MIT", 535 | "engines": { 536 | "node": ">= 0.8" 537 | } 538 | }, 539 | "node_modules/toidentifier": { 540 | "version": "1.0.1", 541 | "license": "MIT", 542 | "engines": { 543 | "node": ">=0.6" 544 | } 545 | }, 546 | "node_modules/type-is": { 547 | "version": "1.6.18", 548 | "license": "MIT", 549 | "dependencies": { 550 | "media-typer": "0.3.0", 551 | "mime-types": "~2.1.24" 552 | }, 553 | "engines": { 554 | "node": ">= 0.6" 555 | } 556 | }, 557 | "node_modules/unpipe": { 558 | "version": "1.0.0", 559 | "license": "MIT", 560 | "engines": { 561 | "node": ">= 0.8" 562 | } 563 | }, 564 | "node_modules/utils-merge": { 565 | "version": "1.0.1", 566 | "license": "MIT", 567 | "engines": { 568 | "node": ">= 0.4.0" 569 | } 570 | }, 571 | "node_modules/vary": { 572 | "version": "1.1.2", 573 | "license": "MIT", 574 | "engines": { 575 | "node": ">= 0.8" 576 | } 577 | }, 578 | "node_modules/ytdl-core": { 579 | "version": "4.11.2", 580 | "license": "MIT", 581 | "dependencies": { 582 | "m3u8stream": "^0.8.6", 583 | "miniget": "^4.2.2", 584 | "sax": "^1.1.3" 585 | }, 586 | "engines": { 587 | "node": ">=12" 588 | } 589 | }, 590 | "node_modules/ytsr": { 591 | "version": "3.8.0", 592 | "license": "MIT", 593 | "dependencies": { 594 | "miniget": "^4.2.2" 595 | }, 596 | "engines": { 597 | "node": ">=8" 598 | } 599 | } 600 | }, 601 | "dependencies": { 602 | "accepts": { 603 | "version": "1.3.8", 604 | "requires": { 605 | "mime-types": "~2.1.34", 606 | "negotiator": "0.6.3" 607 | } 608 | }, 609 | "array-flatten": { 610 | "version": "1.1.1" 611 | }, 612 | "body-parser": { 613 | "version": "1.20.0", 614 | "requires": { 615 | "bytes": "3.1.2", 616 | "content-type": "~1.0.4", 617 | "debug": "2.6.9", 618 | "depd": "2.0.0", 619 | "destroy": "1.2.0", 620 | "http-errors": "2.0.0", 621 | "iconv-lite": "0.4.24", 622 | "on-finished": "2.4.1", 623 | "qs": "6.10.3", 624 | "raw-body": "2.5.1", 625 | "type-is": "~1.6.18", 626 | "unpipe": "1.0.0" 627 | } 628 | }, 629 | "bytes": { 630 | "version": "3.1.2" 631 | }, 632 | "call-bind": { 633 | "version": "1.0.2", 634 | "requires": { 635 | "function-bind": "^1.1.1", 636 | "get-intrinsic": "^1.0.2" 637 | } 638 | }, 639 | "content-disposition": { 640 | "version": "0.5.4", 641 | "requires": { 642 | "safe-buffer": "5.2.1" 643 | } 644 | }, 645 | "content-type": { 646 | "version": "1.0.4" 647 | }, 648 | "cookie": { 649 | "version": "0.5.0" 650 | }, 651 | "cookie-signature": { 652 | "version": "1.0.6" 653 | }, 654 | "cors": { 655 | "version": "2.8.5", 656 | "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", 657 | "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", 658 | "requires": { 659 | "object-assign": "^4", 660 | "vary": "^1" 661 | } 662 | }, 663 | "debug": { 664 | "version": "2.6.9", 665 | "requires": { 666 | "ms": "2.0.0" 667 | } 668 | }, 669 | "depd": { 670 | "version": "2.0.0" 671 | }, 672 | "destroy": { 673 | "version": "1.2.0" 674 | }, 675 | "ee-first": { 676 | "version": "1.1.1" 677 | }, 678 | "encodeurl": { 679 | "version": "1.0.2" 680 | }, 681 | "escape-html": { 682 | "version": "1.0.3" 683 | }, 684 | "etag": { 685 | "version": "1.8.1" 686 | }, 687 | "express": { 688 | "version": "4.18.1", 689 | "requires": { 690 | "accepts": "~1.3.8", 691 | "array-flatten": "1.1.1", 692 | "body-parser": "1.20.0", 693 | "content-disposition": "0.5.4", 694 | "content-type": "~1.0.4", 695 | "cookie": "0.5.0", 696 | "cookie-signature": "1.0.6", 697 | "debug": "2.6.9", 698 | "depd": "2.0.0", 699 | "encodeurl": "~1.0.2", 700 | "escape-html": "~1.0.3", 701 | "etag": "~1.8.1", 702 | "finalhandler": "1.2.0", 703 | "fresh": "0.5.2", 704 | "http-errors": "2.0.0", 705 | "merge-descriptors": "1.0.1", 706 | "methods": "~1.1.2", 707 | "on-finished": "2.4.1", 708 | "parseurl": "~1.3.3", 709 | "path-to-regexp": "0.1.7", 710 | "proxy-addr": "~2.0.7", 711 | "qs": "6.10.3", 712 | "range-parser": "~1.2.1", 713 | "safe-buffer": "5.2.1", 714 | "send": "0.18.0", 715 | "serve-static": "1.15.0", 716 | "setprototypeof": "1.2.0", 717 | "statuses": "2.0.1", 718 | "type-is": "~1.6.18", 719 | "utils-merge": "1.0.1", 720 | "vary": "~1.1.2" 721 | } 722 | }, 723 | "finalhandler": { 724 | "version": "1.2.0", 725 | "requires": { 726 | "debug": "2.6.9", 727 | "encodeurl": "~1.0.2", 728 | "escape-html": "~1.0.3", 729 | "on-finished": "2.4.1", 730 | "parseurl": "~1.3.3", 731 | "statuses": "2.0.1", 732 | "unpipe": "~1.0.0" 733 | } 734 | }, 735 | "forwarded": { 736 | "version": "0.2.0" 737 | }, 738 | "fresh": { 739 | "version": "0.5.2" 740 | }, 741 | "function-bind": { 742 | "version": "1.1.1" 743 | }, 744 | "get-intrinsic": { 745 | "version": "1.1.2", 746 | "requires": { 747 | "function-bind": "^1.1.1", 748 | "has": "^1.0.3", 749 | "has-symbols": "^1.0.3" 750 | } 751 | }, 752 | "has": { 753 | "version": "1.0.3", 754 | "requires": { 755 | "function-bind": "^1.1.1" 756 | } 757 | }, 758 | "has-symbols": { 759 | "version": "1.0.3" 760 | }, 761 | "http-errors": { 762 | "version": "2.0.0", 763 | "requires": { 764 | "depd": "2.0.0", 765 | "inherits": "2.0.4", 766 | "setprototypeof": "1.2.0", 767 | "statuses": "2.0.1", 768 | "toidentifier": "1.0.1" 769 | } 770 | }, 771 | "iconv-lite": { 772 | "version": "0.4.24", 773 | "requires": { 774 | "safer-buffer": ">= 2.1.2 < 3" 775 | } 776 | }, 777 | "inherits": { 778 | "version": "2.0.4" 779 | }, 780 | "ipaddr.js": { 781 | "version": "1.9.1" 782 | }, 783 | "m3u8stream": { 784 | "version": "0.8.6", 785 | "requires": { 786 | "miniget": "^4.2.2", 787 | "sax": "^1.2.4" 788 | } 789 | }, 790 | "media-typer": { 791 | "version": "0.3.0" 792 | }, 793 | "merge-descriptors": { 794 | "version": "1.0.1" 795 | }, 796 | "methods": { 797 | "version": "1.1.2" 798 | }, 799 | "mime": { 800 | "version": "1.6.0" 801 | }, 802 | "mime-db": { 803 | "version": "1.52.0" 804 | }, 805 | "mime-types": { 806 | "version": "2.1.35", 807 | "requires": { 808 | "mime-db": "1.52.0" 809 | } 810 | }, 811 | "miniget": { 812 | "version": "4.2.2" 813 | }, 814 | "ms": { 815 | "version": "2.0.0" 816 | }, 817 | "negotiator": { 818 | "version": "0.6.3" 819 | }, 820 | "object-assign": { 821 | "version": "4.1.1" 822 | }, 823 | "object-inspect": { 824 | "version": "1.12.2" 825 | }, 826 | "on-finished": { 827 | "version": "2.4.1", 828 | "requires": { 829 | "ee-first": "1.1.1" 830 | } 831 | }, 832 | "parseurl": { 833 | "version": "1.3.3" 834 | }, 835 | "path-to-regexp": { 836 | "version": "0.1.7" 837 | }, 838 | "proxy-addr": { 839 | "version": "2.0.7", 840 | "requires": { 841 | "forwarded": "0.2.0", 842 | "ipaddr.js": "1.9.1" 843 | } 844 | }, 845 | "qs": { 846 | "version": "6.10.3", 847 | "requires": { 848 | "side-channel": "^1.0.4" 849 | } 850 | }, 851 | "range-parser": { 852 | "version": "1.2.1" 853 | }, 854 | "raw-body": { 855 | "version": "2.5.1", 856 | "requires": { 857 | "bytes": "3.1.2", 858 | "http-errors": "2.0.0", 859 | "iconv-lite": "0.4.24", 860 | "unpipe": "1.0.0" 861 | } 862 | }, 863 | "safe-buffer": { 864 | "version": "5.2.1" 865 | }, 866 | "safer-buffer": { 867 | "version": "2.1.2" 868 | }, 869 | "sax": { 870 | "version": "1.2.4" 871 | }, 872 | "send": { 873 | "version": "0.18.0", 874 | "requires": { 875 | "debug": "2.6.9", 876 | "depd": "2.0.0", 877 | "destroy": "1.2.0", 878 | "encodeurl": "~1.0.2", 879 | "escape-html": "~1.0.3", 880 | "etag": "~1.8.1", 881 | "fresh": "0.5.2", 882 | "http-errors": "2.0.0", 883 | "mime": "1.6.0", 884 | "ms": "2.1.3", 885 | "on-finished": "2.4.1", 886 | "range-parser": "~1.2.1", 887 | "statuses": "2.0.1" 888 | }, 889 | "dependencies": { 890 | "ms": { 891 | "version": "2.1.3" 892 | } 893 | } 894 | }, 895 | "serve-static": { 896 | "version": "1.15.0", 897 | "requires": { 898 | "encodeurl": "~1.0.2", 899 | "escape-html": "~1.0.3", 900 | "parseurl": "~1.3.3", 901 | "send": "0.18.0" 902 | } 903 | }, 904 | "setprototypeof": { 905 | "version": "1.2.0" 906 | }, 907 | "side-channel": { 908 | "version": "1.0.4", 909 | "requires": { 910 | "call-bind": "^1.0.0", 911 | "get-intrinsic": "^1.0.2", 912 | "object-inspect": "^1.9.0" 913 | } 914 | }, 915 | "statuses": { 916 | "version": "2.0.1" 917 | }, 918 | "toidentifier": { 919 | "version": "1.0.1" 920 | }, 921 | "type-is": { 922 | "version": "1.6.18", 923 | "requires": { 924 | "media-typer": "0.3.0", 925 | "mime-types": "~2.1.24" 926 | } 927 | }, 928 | "unpipe": { 929 | "version": "1.0.0" 930 | }, 931 | "utils-merge": { 932 | "version": "1.0.1" 933 | }, 934 | "vary": { 935 | "version": "1.1.2" 936 | }, 937 | "ytdl-core": { 938 | "version": "4.11.2", 939 | "requires": { 940 | "m3u8stream": "^0.8.6", 941 | "miniget": "^4.2.2", 942 | "sax": "^1.1.3" 943 | } 944 | }, 945 | "ytsr": { 946 | "version": "3.8.0", 947 | "requires": { 948 | "miniget": "^4.2.2" 949 | } 950 | } 951 | } 952 | } 953 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "YTDownload", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "DanssUI", 11 | "license": "ISC", 12 | "dependencies": { 13 | "cors": "^2.8.5", 14 | "express": "^4.18.1", 15 | "ytdl-core": "^4.11.2", 16 | "ytsr": "^3.8.0" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /searchResult.json: -------------------------------------------------------------------------------- 1 | { 2 | "originalQuery": "Ai", 3 | "correctedQuery": "Ai", 4 | "results": 1317251217, 5 | "activeFilters": [ 6 | { 7 | "name": "Relevance", 8 | "active": true, 9 | "url": null, 10 | "description": "Sort by relevance" 11 | } 12 | ], 13 | "refinements": [], 14 | "items": [ 15 | { 16 | "type": "video", 17 | "title": "Google Just Shut Down It's Artificial Intelligence After It Revealed This", 18 | "id": "w-Q9PWz_8sM", 19 | "url": "https://www.youtube.com/watch?v=w-Q9PWz_8sM", 20 | "bestThumbnail": { 21 | "url": "https://i.ytimg.com/vi/w-Q9PWz_8sM/hq720.jpg?sqp=-oaymwEXCNAFEJQDSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCLBqkuKIDphtyod6Hmam-OOCH17w", 22 | "width": 720, 23 | "height": 404 24 | }, 25 | "thumbnails": [ 26 | { 27 | "url": "https://i.ytimg.com/vi/w-Q9PWz_8sM/hq720.jpg?sqp=-oaymwEXCNAFEJQDSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCLBqkuKIDphtyod6Hmam-OOCH17w", 28 | "width": 720, 29 | "height": 404 30 | }, 31 | { 32 | "url": "https://i.ytimg.com/vi/w-Q9PWz_8sM/hq720.jpg?sqp=-oaymwEjCOgCEMoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLD_P5P0zTG0IAogLIfB8x1rutyp0g", 33 | "width": 360, 34 | "height": 202 35 | } 36 | ], 37 | "isUpcoming": false, 38 | "upcoming": null, 39 | "isLive": false, 40 | "badges": [ 41 | "New" 42 | ], 43 | "author": { 44 | "name": "Future Unity", 45 | "channelID": "UC2jAc3ifBNVT03iLjXSRPwQ", 46 | "url": "https://www.youtube.com/channel/UC2jAc3ifBNVT03iLjXSRPwQ", 47 | "bestAvatar": { 48 | "url": "https://yt3.ggpht.com/5UGheXeYe6w-lPMEWUjqtngTfGcPtxk_5B7qIBpe9ablZZLUWz7W8jDAcT5W7NnZIGfiffTj=s68-c-k-c0x00ffffff-no-rj", 49 | "width": 68, 50 | "height": 68 51 | }, 52 | "avatars": [ 53 | { 54 | "url": "https://yt3.ggpht.com/5UGheXeYe6w-lPMEWUjqtngTfGcPtxk_5B7qIBpe9ablZZLUWz7W8jDAcT5W7NnZIGfiffTj=s68-c-k-c0x00ffffff-no-rj", 55 | "width": 68, 56 | "height": 68 57 | } 58 | ], 59 | "ownerBadges": [], 60 | "verified": false 61 | }, 62 | "description": null, 63 | "views": 234879, 64 | "duration": "10:38", 65 | "uploadedAt": "12 hours ago" 66 | }, 67 | { 68 | "type": "video", 69 | "title": "Ai Khodijah Full Album Sholawat", 70 | "id": "ibgUTa7O6Xg", 71 | "url": "https://www.youtube.com/watch?v=ibgUTa7O6Xg", 72 | "bestThumbnail": { 73 | "url": "https://i.ytimg.com/vi/ibgUTa7O6Xg/hq720.jpg?sqp=-oaymwEXCNAFEJQDSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDF5VZfE9leWm_C_XSSJLKuZJ9JBg", 74 | "width": 720, 75 | "height": 404 76 | }, 77 | "thumbnails": [ 78 | { 79 | "url": "https://i.ytimg.com/vi/ibgUTa7O6Xg/hq720.jpg?sqp=-oaymwEXCNAFEJQDSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDF5VZfE9leWm_C_XSSJLKuZJ9JBg", 80 | "width": 720, 81 | "height": 404 82 | }, 83 | { 84 | "url": "https://i.ytimg.com/vi/ibgUTa7O6Xg/hq720.jpg?sqp=-oaymwEjCOgCEMoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCrVSTnIsKFPhorEnByqx_OYkYNmA", 85 | "width": 360, 86 | "height": 202 87 | } 88 | ], 89 | "isUpcoming": false, 90 | "upcoming": null, 91 | "isLive": false, 92 | "badges": [], 93 | "author": { 94 | "name": "Ceger Channel", 95 | "channelID": "UCggUoNVlh5p12nsqITTMQgQ", 96 | "url": "https://www.youtube.com/channel/UCggUoNVlh5p12nsqITTMQgQ", 97 | "bestAvatar": { 98 | "url": "https://yt3.ggpht.com/ytc/AMLnZu-r6lN8wLcCGsBquO98bVMS4mA3pA02gONAmWsnMw=s68-c-k-c0x00ffffff-no-rj", 99 | "width": 68, 100 | "height": 68 101 | }, 102 | "avatars": [ 103 | { 104 | "url": "https://yt3.ggpht.com/ytc/AMLnZu-r6lN8wLcCGsBquO98bVMS4mA3pA02gONAmWsnMw=s68-c-k-c0x00ffffff-no-rj", 105 | "width": 68, 106 | "height": 68 107 | } 108 | ], 109 | "ownerBadges": [], 110 | "verified": false 111 | }, 112 | "description": null, 113 | "views": 14118639, 114 | "duration": "1:02:31", 115 | "uploadedAt": "1 year ago" 116 | }, 117 | { 118 | "type": "video", 119 | "title": "TIKT0K PREMIUM LAWAK AI TEAM !!! SIAPAKAH JUARA…", 120 | "id": "8Q1g3nPnQ9M", 121 | "url": "https://www.youtube.com/watch?v=8Q1g3nPnQ9M", 122 | "bestThumbnail": { 123 | "url": "https://i.ytimg.com/vi/8Q1g3nPnQ9M/hq720.jpg?sqp=-oaymwEXCNAFEJQDSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLBmOxioiSMI1CpcTcsoXNjCPoIe7Q", 124 | "width": 720, 125 | "height": 404 126 | }, 127 | "thumbnails": [ 128 | { 129 | "url": "https://i.ytimg.com/vi/8Q1g3nPnQ9M/hq720.jpg?sqp=-oaymwEXCNAFEJQDSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLBmOxioiSMI1CpcTcsoXNjCPoIe7Q", 130 | "width": 720, 131 | "height": 404 132 | }, 133 | { 134 | "url": "https://i.ytimg.com/vi/8Q1g3nPnQ9M/hq720.jpg?sqp=-oaymwEjCOgCEMoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAImucNxc7fl6SEoaS5aeMqKc-a1Q", 135 | "width": 360, 136 | "height": 202 137 | } 138 | ], 139 | "isUpcoming": false, 140 | "upcoming": null, 141 | "isLive": false, 142 | "badges": [ 143 | "New" 144 | ], 145 | "author": { 146 | "name": "Alieff Irfan", 147 | "channelID": "UCKCK2lumiYpKfD1aEj4W5vg", 148 | "url": "https://www.youtube.com/c/TheAlieffIrfan", 149 | "bestAvatar": { 150 | "url": "https://yt3.ggpht.com/ytc/AMLnZu_K7u3l5R8wcUdui7Ros16SlvoB7I6mSoXqbescbQ=s68-c-k-c0x00ffffff-no-rj", 151 | "width": 68, 152 | "height": 68 153 | }, 154 | "avatars": [ 155 | { 156 | "url": "https://yt3.ggpht.com/ytc/AMLnZu_K7u3l5R8wcUdui7Ros16SlvoB7I6mSoXqbescbQ=s68-c-k-c0x00ffffff-no-rj", 157 | "width": 68, 158 | "height": 68 159 | } 160 | ], 161 | "ownerBadges": [ 162 | "Verified" 163 | ], 164 | "verified": true 165 | }, 166 | "description": null, 167 | "views": 259149, 168 | "duration": "20:47", 169 | "uploadedAt": "14 hours ago" 170 | }, 171 | { 172 | "type": "video", 173 | "title": "24 JAM MARAH FIERA DEPAN ANIQ !! ANIQ BACK UP SIAPA ?!!", 174 | "id": "dU75Dffm9iA", 175 | "url": "https://www.youtube.com/watch?v=dU75Dffm9iA", 176 | "bestThumbnail": { 177 | "url": "https://i.ytimg.com/vi/dU75Dffm9iA/hq720.jpg?sqp=-oaymwEXCNAFEJQDSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDoARAdkvt0HUCH6LNV3FJwo1wjng", 178 | "width": 720, 179 | "height": 404 180 | }, 181 | "thumbnails": [ 182 | { 183 | "url": "https://i.ytimg.com/vi/dU75Dffm9iA/hq720.jpg?sqp=-oaymwEXCNAFEJQDSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDoARAdkvt0HUCH6LNV3FJwo1wjng", 184 | "width": 720, 185 | "height": 404 186 | }, 187 | { 188 | "url": "https://i.ytimg.com/vi/dU75Dffm9iA/hq720.jpg?sqp=-oaymwEjCOgCEMoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDxJpQADKs4zpUB8-9shsvcGQGE7w", 189 | "width": 360, 190 | "height": 202 191 | } 192 | ], 193 | "isUpcoming": false, 194 | "upcoming": null, 195 | "isLive": false, 196 | "badges": [ 197 | "New" 198 | ], 199 | "author": { 200 | "name": "AI Laming", 201 | "channelID": "UCUkWeGOcCadV2Ohe8YQJh2Q", 202 | "url": "https://www.youtube.com/channel/UCUkWeGOcCadV2Ohe8YQJh2Q", 203 | "bestAvatar": { 204 | "url": "https://yt3.ggpht.com/1d8mvsmwBWWxbG4JJ_992i5Uej30Mac7NLTFrT5LoX_kVaKPXLL5jqpwTGhzi35NYUR045jbSw=s68-c-k-c0x00ffffff-no-rj", 205 | "width": 68, 206 | "height": 68 207 | }, 208 | "avatars": [ 209 | { 210 | "url": "https://yt3.ggpht.com/1d8mvsmwBWWxbG4JJ_992i5Uej30Mac7NLTFrT5LoX_kVaKPXLL5jqpwTGhzi35NYUR045jbSw=s68-c-k-c0x00ffffff-no-rj", 211 | "width": 68, 212 | "height": 68 213 | } 214 | ], 215 | "ownerBadges": [], 216 | "verified": false 217 | }, 218 | "description": null, 219 | "views": 251227, 220 | "duration": "12:47", 221 | "uploadedAt": "2 days ago" 222 | }, 223 | { 224 | "type": "video", 225 | "title": "Doel Sumbang - Ai (Official Music Video)", 226 | "id": "2QxJAeLWZy0", 227 | "url": "https://www.youtube.com/watch?v=2QxJAeLWZy0", 228 | "bestThumbnail": { 229 | "url": "https://i.ytimg.com/vi/2QxJAeLWZy0/hq720.jpg?sqp=-oaymwEXCNAFEJQDSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAlSqXkH6YnLPL2RQbdsSu19uZ7vA", 230 | "width": 720, 231 | "height": 404 232 | }, 233 | "thumbnails": [ 234 | { 235 | "url": "https://i.ytimg.com/vi/2QxJAeLWZy0/hq720.jpg?sqp=-oaymwEXCNAFEJQDSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAlSqXkH6YnLPL2RQbdsSu19uZ7vA", 236 | "width": 720, 237 | "height": 404 238 | }, 239 | { 240 | "url": "https://i.ytimg.com/vi/2QxJAeLWZy0/hq720.jpg?sqp=-oaymwEjCOgCEMoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDMNxxBdulRrv9H551EPt6UoilnAw", 241 | "width": 360, 242 | "height": 202 243 | } 244 | ], 245 | "isUpcoming": false, 246 | "upcoming": null, 247 | "isLive": false, 248 | "badges": [], 249 | "author": { 250 | "name": "GP Musikpedia", 251 | "channelID": "UCgEvVD4kpeOncMs7WPwB8kA", 252 | "url": "https://www.youtube.com/c/GPMusikpedia", 253 | "bestAvatar": { 254 | "url": "https://yt3.ggpht.com/ytc/AMLnZu-bhWpB2WP3b48D0HRLec6TFMN2kPuFBwQ1v0XNsg=s68-c-k-c0x00ffffff-no-rj", 255 | "width": 68, 256 | "height": 68 257 | }, 258 | "avatars": [ 259 | { 260 | "url": "https://yt3.ggpht.com/ytc/AMLnZu-bhWpB2WP3b48D0HRLec6TFMN2kPuFBwQ1v0XNsg=s68-c-k-c0x00ffffff-no-rj", 261 | "width": 68, 262 | "height": 68 263 | } 264 | ], 265 | "ownerBadges": [ 266 | "Verified" 267 | ], 268 | "verified": true 269 | }, 270 | "description": null, 271 | "views": 1452021, 272 | "duration": "3:56", 273 | "uploadedAt": "6 years ago" 274 | }, 275 | { 276 | "type": "video", 277 | "title": "AI Explains Why People Are Scared Of It (GPT-3)", 278 | "id": "IXK_a3zdnuc", 279 | "url": "https://www.youtube.com/watch?v=IXK_a3zdnuc", 280 | "bestThumbnail": { 281 | "url": "https://i.ytimg.com/vi/IXK_a3zdnuc/hq720.jpg?sqp=-oaymwEXCNAFEJQDSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAdyEaJt1Zo4z8a8G0Z9CZr_fNRfw", 282 | "width": 720, 283 | "height": 404 284 | }, 285 | "thumbnails": [ 286 | { 287 | "url": "https://i.ytimg.com/vi/IXK_a3zdnuc/hq720.jpg?sqp=-oaymwEXCNAFEJQDSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAdyEaJt1Zo4z8a8G0Z9CZr_fNRfw", 288 | "width": 720, 289 | "height": 404 290 | }, 291 | { 292 | "url": "https://i.ytimg.com/vi/IXK_a3zdnuc/hq720.jpg?sqp=-oaymwEjCOgCEMoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAPMefAgSys3cDKuVtl_2epteHULA", 293 | "width": 360, 294 | "height": 202 295 | } 296 | ], 297 | "isUpcoming": false, 298 | "upcoming": null, 299 | "isLive": false, 300 | "badges": [ 301 | "New", 302 | "CC" 303 | ], 304 | "author": { 305 | "name": "Talking To AI", 306 | "channelID": "UCzZ_vsqnKIpG1rIHo3O_S_Q", 307 | "url": "https://www.youtube.com/c/TalkingToAI", 308 | "bestAvatar": { 309 | "url": "https://yt3.ggpht.com/GEQxPnp1U2AfzwiZG1ouxR_XzUy92dJKRC7-znv_yuKu2wcJAzMDGTFudvGME-OSszofSBNf=s68-c-k-c0x00ffffff-no-rj", 310 | "width": 68, 311 | "height": 68 312 | }, 313 | "avatars": [ 314 | { 315 | "url": "https://yt3.ggpht.com/GEQxPnp1U2AfzwiZG1ouxR_XzUy92dJKRC7-znv_yuKu2wcJAzMDGTFudvGME-OSszofSBNf=s68-c-k-c0x00ffffff-no-rj", 316 | "width": 68, 317 | "height": 68 318 | } 319 | ], 320 | "ownerBadges": [], 321 | "verified": false 322 | }, 323 | "description": null, 324 | "views": 2242, 325 | "duration": "1:52", 326 | "uploadedAt": "1 day ago" 327 | }, 328 | { 329 | "type": "shelf", 330 | "title": "Popular today", 331 | "items": [ 332 | { 333 | "type": "video", 334 | "title": "M3GAN - official trailer", 335 | "id": "BRb4U99OU80", 336 | "url": "https://www.youtube.com/watch?v=BRb4U99OU80", 337 | "bestThumbnail": { 338 | "url": "https://i.ytimg.com/vi/BRb4U99OU80/hq720.jpg?sqp=-oaymwEXCNAFEJQDSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLBx38Msq1OXbWD5qF-hsDAPhIy3mg", 339 | "width": 720, 340 | "height": 404 341 | }, 342 | "thumbnails": [ 343 | { 344 | "url": "https://i.ytimg.com/vi/BRb4U99OU80/hq720.jpg?sqp=-oaymwEXCNAFEJQDSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLBx38Msq1OXbWD5qF-hsDAPhIy3mg", 345 | "width": 720, 346 | "height": 404 347 | }, 348 | { 349 | "url": "https://i.ytimg.com/vi/BRb4U99OU80/hq720.jpg?sqp=-oaymwEjCOgCEMoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDtU2hUbSJRVWUKKCPLU-NMtLz2Wg", 350 | "width": 360, 351 | "height": 202 352 | } 353 | ], 354 | "isUpcoming": false, 355 | "upcoming": null, 356 | "isLive": false, 357 | "badges": [ 358 | "New", 359 | "CC" 360 | ], 361 | "author": { 362 | "name": "Universal Pictures", 363 | "channelID": "UCq0OueAsdxH6b8nyAspwViw", 364 | "url": "https://www.youtube.com/c/UniversalPictures", 365 | "bestAvatar": { 366 | "url": "https://yt3.ggpht.com/_xmrueXlQyPmO379bSt2BjirLWXxNOUoQn1jV0DpOlxxeCGlx9Z2L9HxfoWMgdsdIyGFh17W1A=s68-c-k-c0x00ffffff-no-rj", 367 | "width": 68, 368 | "height": 68 369 | }, 370 | "avatars": [ 371 | { 372 | "url": "https://yt3.ggpht.com/_xmrueXlQyPmO379bSt2BjirLWXxNOUoQn1jV0DpOlxxeCGlx9Z2L9HxfoWMgdsdIyGFh17W1A=s68-c-k-c0x00ffffff-no-rj", 373 | "width": 68, 374 | "height": 68 375 | } 376 | ], 377 | "ownerBadges": [ 378 | "Verified" 379 | ], 380 | "verified": true 381 | }, 382 | "description": null, 383 | "views": 14524609, 384 | "duration": "2:28", 385 | "uploadedAt": "6 days ago" 386 | } 387 | ] 388 | }, 389 | { 390 | "type": "video", 391 | "title": "P4LAU TIYA SAMPAI TERASA! DAH MACAM TAK WUJUD !!", 392 | "id": "qL_pNIBkdLs", 393 | "url": "https://www.youtube.com/watch?v=qL_pNIBkdLs", 394 | "bestThumbnail": { 395 | "url": "https://i.ytimg.com/vi/qL_pNIBkdLs/hqdefault.jpg?sqp=-oaymwEjCOADEI4CSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCp23to1M9HGi4doNShmR5TKA8A1w", 396 | "width": 480, 397 | "height": 270 398 | }, 399 | "thumbnails": [ 400 | { 401 | "url": "https://i.ytimg.com/vi/qL_pNIBkdLs/hqdefault.jpg?sqp=-oaymwEjCOADEI4CSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCp23to1M9HGi4doNShmR5TKA8A1w", 402 | "width": 480, 403 | "height": 270 404 | } 405 | ], 406 | "isUpcoming": false, 407 | "upcoming": null, 408 | "isLive": false, 409 | "badges": [ 410 | "New" 411 | ], 412 | "author": { 413 | "name": "AI Isya", 414 | "channelID": "UCR-5Ewh_TUSv8PeyajXzBqQ", 415 | "url": "https://www.youtube.com/channel/UCR-5Ewh_TUSv8PeyajXzBqQ", 416 | "bestAvatar": { 417 | "url": "https://yt3.ggpht.com/MPJO4OCCjjEZQejPnJXN7E8qSvsYpL-xdYiPGvAo4nG5FwJYeMMrDtoyZPefY_GGUSWJl3u7LQ=s68-c-k-c0x00ffffff-no-rj", 418 | "width": 68, 419 | "height": 68 420 | }, 421 | "avatars": [ 422 | { 423 | "url": "https://yt3.ggpht.com/MPJO4OCCjjEZQejPnJXN7E8qSvsYpL-xdYiPGvAo4nG5FwJYeMMrDtoyZPefY_GGUSWJl3u7LQ=s68-c-k-c0x00ffffff-no-rj", 424 | "width": 68, 425 | "height": 68 426 | } 427 | ], 428 | "ownerBadges": [], 429 | "verified": false 430 | }, 431 | "description": null, 432 | "views": 90900, 433 | "duration": "8:33", 434 | "uploadedAt": "1 day ago" 435 | } 436 | ], 437 | "continuation": null 438 | } --------------------------------------------------------------------------------