A lightweight TypeScript/JavaScript library for downloading media from social media platforms
- Version
- 6.0.21
- License
- MIT
- See
- GitHub Repository for contributions and issue reporting.
Methods
(async, inner) aio(url) → {Promise.<Object>}
Downloads media from a given URL across supported platforms.
| Name | Type | Description |
|---|---|---|
url | string | The URL of the media to download (e.g., Instagram, TikTok, etc.). |
If the URL is invalid or the media is not accessible.
- Type
- Error
A JSON object containing the media data.
- Type:
- Promise.<Object>
ESM
import { aio } from 'btch-downloader';
aio('https://www.instagram.com/p/ByxKbUSnubS/?utm_source=ig_web_copy_link')
.then(data => console.log(data))
.catch(err => console.error(err));
// JSONCJS
const { aio } = require('btch-downloader');
aio('https://www.instagram.com/p/ByxKbUSnubS/?utm_source=ig_web_copy_link')
.then(data => console.log(data))
.catch(err => console.error(err));
// JSON(async, inner) capcut(url) → {Promise.<Object>}
Downloads media from Capcut.
| Name | Type | Description |
|---|---|---|
url | string | The Capcut media URL. |
If the URL is invalid or the media is not accessible.
- Type
- Error
A JSON object containing the media data.
- Type:
- Promise.<Object>
ESM
import { capcut } from 'btch-downloader';
capcut('https://www.capcut.com/template-detail/7299286607478181121?template_id=7299286607478181121&share_token=80302b19-8026-4101-81df-2fd9a9cecb9c&enter_from=template_detail®ion=ID&language=in&platform=copy_link&is_copy_link=1')
.then(data => console.log(data))
.catch(err => console.error(err));
// JSONCJS
const { capcut } = require('btch-downloader');
capcut('https://www.capcut.com/template-detail/7299286607478181121?template_id=7299286607478181121&share_token=80302b19-8026-4101-81df-2fd9a9cecb9c&enter_from=template_detail®ion=ID&language=in&platform=copy_link&is_copy_link=1')
.then(data => console.log(data))
.catch(err => console.error(err));
// JSON(async, inner) cocofun(url) → {Promise.<Promise.<Object>>}
Downloads media from Cocofun.
| Name | Type | Description |
|---|---|---|
url | string | The Cocofun post URL. |
If the URL is invalid or the media is not accessible.
- Type
- Error
A JSON object containing the media data.
- Type:
- Promise.<Promise.<Object>>
ESM
import { cocofun } from 'btch-downloader';
const url = 'https://www.icocofun.com/share/post/379250110809?lang=id&pkg=id&share_to=copy_link&m=81638cf44ba27b2ffa708f3410a4e6c2&d=63cd2733d8d258facd28d44fde5198d4cea826e89af7efc4238ada620140eea3&nt=1';
cocofun(url).then(data => console.log(data)).catch(err => console.error(err));
// JSONCJS
const { cocofun } = require('btch-downloader');
const url = 'https://www.icocofun.com/share/post/379250110809?lang=id&pkg=id&share_to=copy_link&m=81638cf44ba27b2ffa708f3410a4e6c2&d=63cd2733d8d258facd28d44fde5198d4cea826e89af7efc4238ada620140eea3&nt=1';
cocofun(url).then(data => console.log(data)).catch(err => console.error(err));
// JSON(async, inner) douyin(url) → {Promise.<Object>}
Downloads media from Douyin.
| Name | Type | Description |
|---|---|---|
url | string | The Douyin media URL. |
If the URL is invalid or the media is not accessible.
- Type
- Error
A JSON object containing the media data.
- Type:
- Promise.<Object>
ESM
import { douyin } from 'btch-downloader';
const url = 'https://v.douyin.com/ikq8axJ/';
douyin(url).then(data => console.log(data)).catch(err => console.error(err));
// JSONCJS
const { douyin } = require('btch-downloader');
const url = 'https://v.douyin.com/ikq8axJ/';
douyin(url).then(data => console.log(data)).catch(err => console.error(err));
// JSON(async, inner) fbdown(url) → {Promise.<Object>}
Downloads media from Facebook.
| Name | Type | Description |
|---|---|---|
url | string | The Facebook media URL. |
If the URL is invalid or the media is not accessible.
- Type
- Error
A JSON object containing the media data.
- Type:
- Promise.<Object>
ESM
import { fbdown } from 'btch-downloader';
fbdown('https://www.facebook.com/watch/?v=1393572814172251')
.then(data => console.log(data))
.catch(err => console.error(err));
// JSONCJS
const { fbdown } = require('btch-downloader');
fbdown('https://www.facebook.com/watch/?v=1393572814172251')
.then(data => console.log(data))
.catch(err => console.error(err));
// JSON(async, inner) gdrive(url) → {Promise.<Object>}
Downloads media from Google Drive.
| Name | Type | Description |
|---|---|---|
url | string | The Google Drive media URL. |
If the URL is invalid or the media is not accessible.
- Type
- Error
A JSON object containing the media data.
- Type:
- Promise.<Object>
ESM
import { gdrive } from 'btch-downloader';
gdrive('https://drive.google.com/file/d/1thDYWcS5p5FFhzTpTev7RUv0VFnNQyZ4/view?usp=drivesdk')
.then(data => console.log(data))
.catch(err => console.error(err));
// JSONCJS
const { gdrive } = require('btch-downloader');
gdrive('https://drive.google.com/file/d/1thDYWcS5p5FFhzTpTev7RUv0VFnNQyZ4/view?usp=drivesdk')
.then(data => console.log(data))
.catch(err => console.error(err));
// JSON(async, inner) igdl(url) → {Promise.<(Array.<Object>|Object)>}
Downloads media from Instagram.
| Name | Type | Description |
|---|---|---|
url | string | The Instagram media URL. |
If the URL is invalid or the media is not accessible.
- Type
- Error
An array of JSON objects or an error object.
- Type:
- Promise.<(Array.<Object>|Object)>
ESM
import { igdl } from 'btch-downloader';
igdl('https://www.instagram.com/p/ByxKbUSnubS/?utm_source=ig_web_copy_link')
.then(data => console.log(data))
.catch(err => console.error(err));
// JSONCJS
const { igdl } = require('btch-downloader');
igdl('https://www.instagram.com/p/ByxKbUSnubS/?utm_source=ig_web_copy_link')
.then(data => console.log(data))
.catch(err => console.error(err));
// JSON(async, inner) mediafire(url) → {Promise.<Object>}
Downloads media from MediaFire.
| Name | Type | Description |
|---|---|---|
url | string | The MediaFire media URL. |
If the URL is invalid or the media is not accessible.
- Type
- Error
A JSON object containing the media data.
- Type:
- Promise.<Object>
ESM
import { mediafire } from 'btch-downloader';
mediafire('https://www.mediafire.com/file/941xczxhn27qbby/GBWA_V12.25FF-By.SamMods-.apk/file')
.then(data => console.log(data))
.catch(err => console.error(err));
// JSONCJS
const { mediafire } = require('btch-downloader');
mediafire('https://www.mediafire.com/file/941xczxhn27qbby/GBWA_V12.25FF-By.SamMods-.apk/file')
.then(data => console.log(data))
.catch(err => console.error(err));
// JSON(async, inner) pinterest(input) → {Promise.<Object>}
Downloads or searches media from Pinterest using a URL or text query.
| Name | Type | Description |
|---|---|---|
input | string | The Pinterest media URL or a search query. |
If the input is invalid or the media is not accessible.
- Type
- Error
A JSON object containing the media data.
- Type:
- Promise.<Object>
ESM
import { pinterest } from 'btch-downloader';
// Using a URL
pinterest('https://pin.it/4CVodSq')
.then(data => console.log(data))
.catch(err => console.error(err));// Using a search query
pinterest('Zhao Lusi')
.then(data => console.log(data))
.catch(err => console.error(err));CJS
const { pinterest } = require('btch-downloader');
// Using a URL
pinterest('https://pin.it/4CVodSq')
.then(data => console.log(data))
.catch(err => console.error(err));// Using a search query
pinterest('Zhao Lusi')
.then(data => console.log(data))
.catch(err => console.error(err));(async, inner) soundcloud(url) → {Promise.<Object>}
Downloads media from SoundCloud.
| Name | Type | Description |
|---|---|---|
url | string | The SoundCloud track URL. |
If the URL is invalid or the media is not accessible.
- Type
- Error
A JSON object containing the media data.
- Type:
- Promise.<Object>
ESM
import { soundcloud } from 'btch-downloader';
const url = 'https://soundcloud.com/issabella-marchelina/sisa-rasa-mahalini-official-audio?utm_source=clipboard&utm_medium=text&utm_campaign=social_sharing';
soundcloud(url)
.then(data => console.log(data))
.catch(err => console.error(err));
// JSONCJS
const { soundcloud } = require('btch-downloader');
const url = 'https://soundcloud.com/issabella-marchelina/sisa-rasa-mahalini-official-audio?utm_source=clipboard&utm_medium=text&utm_campaign=social_sharing';
soundcloud(url)
.then(data => console.log(data))
.catch(err => console.error(err));
// JSON(async, inner) spotify(url) → {Promise.<Object>}
Downloads media from Spotify.
| Name | Type | Description |
|---|---|---|
url | string | The Spotify track URL. |
If the URL is invalid or the media is not accessible.
- Type
- Error
A JSON object containing the media data.
- Type:
- Promise.<Object>
ESM
import { spotify } from 'btch-downloader';
const url = 'https://open.spotify.com/track/3zakx7RAwdkUQlOoQ7SJRt';
spotify(url)
.then(data => console.log(data))
.catch(err => console.error(err));
// JSONCJS
const { spotify } = require('btch-downloader');
const url = 'https://open.spotify.com/track/3zakx7RAwdkUQlOoQ7SJRt';
spotify(url)
.then(data => console.log(data))
.catch(err => console.error(err));
// JSON(async, inner) threads(url) → {Promise.<Object>}
Downloads media from Threads.
| Name | Type | Description |
|---|---|---|
url | string | The Threads post URL. |
If the URL is invalid or the media is not accessible.
- Type
- Error
A JSON object containing the media data.
- Type:
- Promise.<Object>
ESM
import { threads } from 'btch-downloader';
const url = 'https://www.threads.net/@cindyyuvia/post/C_Nqx3khgkI/?xmt=AQGzpsCvidh8IwIqOvq4Ov05Zd5raANiVdvCujM_pjBa1Q';
threads(url)
.then(data => console.log(data))
.catch(err => console.error(err));
// JSONCJS
const { threads } = require('btch-downloader');
const url = 'https://www.threads.net/@cindyyuvia/post/C_Nqx3khgkI/?xmt=AQGzpsCvidh8IwIqOvq4Ov05Zd5raANiVdvCujM_pjBa1Q';
threads(url)
.then(data => console.log(data))
.catch(err => console.error(err));
// JSON(async, inner) ttdl(url) → {Promise.<Object>}
Downloads media from TikTok.
| Name | Type | Description |
|---|---|---|
url | string | The TikTok media URL. |
If the URL is invalid or the media is not accessible.
- Type
- Error
A JSON object containing the media data.
- Type:
- Promise.<Object>
ESM
import { ttdl } from 'btch-downloader';
ttdl('https://www.tiktok.com/@omagadsus/video/7025456384175017243')
.then(data => console.log(data))
.catch(err => console.error(err));
// JSONCJS
const { ttdl } = require('btch-downloader');
ttdl('https://www.tiktok.com/@omagadsus/video/7025456384175017243')
.then(data => console.log(data))
.catch(err => console.error(err));
// JSON(async, inner) twitter(url) → {Promise.<Object>}
Downloads media from Twitter.
| Name | Type | Description |
|---|---|---|
url | string | The Twitter media URL. |
If the URL is invalid or the media is not accessible.
- Type
- Error
A JSON object containing the media data.
- Type:
- Promise.<Object>
ESM
import { twitter } from 'btch-downloader';
twitter('https://twitter.com/gofoodindonesia/status/1229369819511709697')
.then(data => console.log(data))
.catch(err => console.error(err));
// JSONCJS
const { twitter } = require('btch-downloader');
twitter('https://twitter.com/gofoodindonesia/status/1229369819511709697')
.then(data => console.log(data))
.catch(err => console.error(err));
// JSON(async, inner) xiaohongshu(url) → {Promise.<Object>}
Downloads media from Xiaohongshu.
| Name | Type | Description |
|---|---|---|
url | string | The Xiaohongshu media URL. |
If the URL is invalid or the media is not accessible.
- Type
- Error
A JSON object containing the media data.
- Type:
- Promise.<Object>
ESM
import { xiaohongshu } from 'btch-downloader';
const url = 'http://xhslink.com/o/2jqifpr7GJ5f';
xiaohongshu(url).then(data => console.log(data)).catch(err => console.error(err));
// JSONCJS
const { xiaohongshu } = require('btch-downloader');
const url = 'http://xhslink.com/o/2jqifpr7GJ5f';
xiaohongshu(url).then(data => console.log(data)).catch(err => console.error(err));
// JSON(async, inner) youtube(url) → {Promise.<Object>}
Downloads media from YouTube.
| Name | Type | Description |
|---|---|---|
url | string | The YouTube media URL. |
If the URL is invalid or the media is not accessible.
- Type
- Error
A JSON object containing the media data.
- Type:
- Promise.<Object>
ESM
import { youtube } from 'btch-downloader';
youtube('https://youtube.com/watch?v=C8mJ8943X80')
.then(data => console.log(data))
.catch(err => console.error(err));
// JSONCJS
const { youtube } = require('btch-downloader');
youtube('https://youtube.com/watch?v=C8mJ8943X80')
.then(data => console.log(data))
.catch(err => console.error(err));
// JSON(async, inner) yts(query) → {Promise.<Object>}
YouTube search function.
| Name | Type | Description |
|---|---|---|
query | string | The YouTube search query. |
If the query is invalid or the request fails.
- Type
- Error
A JSON object containing search results.
- Type:
- Promise.<Object>
ESM
import { yts } from 'btch-downloader';
const query = 'Somewhere Only We Know';
yts(query)
.then(data => console.log(data))
.catch(err => console.error(err));CJS
const { yts } = require('btch-downloader');
const query = 'Somewhere Only We Know';
yts(query)
.then(data => console.log(data))
.catch(err => console.error(err));