GrabGrab - Video & Audio Downloader
Download videos and audio from 20+ platforms by URL. Powered by GrabGrab.
Supported Platforms (20+)
| Platform | Example URLs |
|---|
| YouTube | INLINECODE0 , youtu.be/, youtube.com/shorts/, INLINECODE3 |
| X / Twitter |
x.com/.../status/,
twitter.com/.../status/ |
| TikTok |
tiktok.com/@.../video/,
vm.tiktok.com/ |
| Instagram |
instagram.com/p/,
instagram.com/reel/,
instagram.com/stories/ |
| Facebook |
facebook.com/.../videos/,
fb.watch/ |
| Reddit |
reddit.com/r/.../comments/ |
| Bilibili |
bilibili.com/video/,
b23.tv/ |
| Vimeo |
vimeo.com/<id> |
| Dailymotion |
dailymotion.com/video/ |
| SoundCloud |
soundcloud.com/ |
| Twitch |
twitch.tv/,
clips.twitch.tv/ |
| Pinterest |
pinterest.com/pin/ |
| Snapchat |
snapchat.com/ |
| Bluesky |
bsky.app/ |
| VK |
vk.com/video,
vk.com/clip |
| OK.ru |
ok.ru/video/ |
| Rutube |
rutube.ru/video/ |
| Streamable |
streamable.com/ |
| Loom |
loom.com/share/ |
| Tumblr |
tumblr.com/ |
| Newgrounds |
newgrounds.com/ |
| Xiaohongshu |
xiaohongshu.com/,
xhslink.com/ |
Workflow
Step 1: Call the GrabGrab API
Use curl via the Bash tool to call the API:
CODEBLOCK0
Video quality options (ask user if not specified, default to 1080):
- -
max - Best available quality - INLINECODE37 - 4K
- INLINECODE38 - 2K
- INLINECODE39 - Full HD (default)
- INLINECODE40 - HD
- INLINECODE41 - SD
- INLINECODE42 - Low
- INLINECODE43 - Minimum
Download mode options (default to auto):
- -
auto - Video with audio (default) - INLINECODE46 - Audio only
- INLINECODE47 - Video without audio
Step 2: Parse the API Response
The API returns JSON. Handle each response type:
Direct download (type: "direct"):
{
"success": true,
"type": "direct",
"url": "https://...",
"filename": "video.mp4"
}
Action: Download the file using
curl -L -o <filename> "<url>".
Picker (type: "picker") — multiple items found (e.g., Instagram carousel):
{
"success": true,
"type": "picker",
"items": [
{"type": "video", "url": "https://..."},
{"type": "photo", "url": "https://..."}
]
}
Action: Show the user the list of items and ask which ones to download, or download all videos.
Error:
{
"success": false,
"error": "Error message here"
}
Action: Show the error message to the user.
Step 3: Download the File
For direct downloads:
CODEBLOCK4
For tunnel/redirect URLs that need the proxy:
CODEBLOCK5
IMPORTANT: If the direct URL download fails or returns HTML instead of a video file, retry using the proxy endpoint:
CODEBLOCK6
Step 4: Confirm to User
After download completes:
- - Report the filename and file size
- Report the download location (current working directory or user-specified path)
Important Notes
- - The API has a rate limit of 30 requests per minute. If you get a 429 error, wait and retry.
- Always use
-L flag with curl to follow redirects. - If the user asks for audio only, set
downloadMode to "audio". - If the user wants the best quality, set
videoQuality to "max". - Default download location is the current working directory unless the user specifies otherwise.
- The API automatically detects the platform from the URL — no need to specify the platform manually.
Examples
User: "Download this YouTube video: https://www.youtube.com/watch?v=dQw4w9WgXcQ"
Actions:
- 1. Call API: INLINECODE56
- Parse response to get download URL and filename
- Download: INLINECODE57
- Report: "Downloaded filename.mp4 (15.2 MB) to current directory."
User: "Save the audio from this TikTok: https://www.tiktok.com/@user/video/123"
Actions:
- 1. Call API with
downloadMode: "audio": INLINECODE59 - Parse and download the audio file
- Report the result
User: "/GrabGrab https://www.bilibili.com/video/BV1xx411c7mD"
Actions:
- 1. Call API with default settings (1080p, auto mode)
- Download the video
- Report the result
GrabGrab - 视频与音频下载工具
通过链接从20多个平台下载视频和音频。由 GrabGrab 提供技术支持。
支持的平台(20+)
| 平台 | 示例链接 |
|---|
| YouTube | youtube.com/watch、youtu.be/、youtube.com/shorts/、music.youtube.com |
| X / Twitter |
x.com/.../status/、twitter.com/.../status/ |
| TikTok | tiktok.com/@.../video/、vm.tiktok.com/ |
| Instagram | instagram.com/p/、instagram.com/reel/、instagram.com/stories/ |
| Facebook | facebook.com/.../videos/、fb.watch/ |
| Reddit | reddit.com/r/.../comments/ |
| Bilibili | bilibili.com/video/、b23.tv/ |
| Vimeo | vimeo.com/
|
| Dailymotion | dailymotion.com/video/ |
| SoundCloud | soundcloud.com/ |
| Twitch | twitch.tv/、clips.twitch.tv/ |
| Pinterest | pinterest.com/pin/ |
| Snapchat | snapchat.com/ |
| Bluesky | bsky.app/ |
| VK | vk.com/video、vk.com/clip |
| OK.ru | ok.ru/video/ |
| Rutube | rutube.ru/video/ |
| Streamable | streamable.com/ |
| Loom | loom.com/share/ |
| Tumblr | tumblr.com/ |
| Newgrounds | newgrounds.com/ |
| 小红书 | xiaohongshu.com/、xhslink.com/ |
工作流程
第一步:调用 GrabGrab API
通过 Bash 工具使用 curl 调用 API:
bash
curl -s -X POST https://grabgrab.fun/api/download \
-H Content-Type: application/json \
-d {url: , videoQuality: }
视频质量选项(如用户未指定则询问,默认为 1080):
- - max - 最佳可用质量
- 2160 - 4K
- 1440 - 2K
- 1080 - 全高清(默认)
- 720 - 高清
- 480 - 标清
- 360 - 低清
- 144 - 最低清
下载模式选项(默认为 auto):
- - auto - 视频含音频(默认)
- audio - 仅音频
- mute - 视频无音频
第二步:解析 API 响应
API 返回 JSON 格式数据。处理每种响应类型:
直接下载(type: direct):
json
{
success: true,
type: direct,
url: https://...,
filename: video.mp4
}
操作:使用 curl -L -o 下载文件。
选择器(type: picker)— 找到多个项目(例如 Instagram 轮播):
json
{
success: true,
type: picker,
items: [
{type: video, url: https://...},
{type: photo, url: https://...}
]
}
操作:向用户展示项目列表,询问需要下载哪些,或下载所有视频。
错误:
json
{
success: false,
error: 错误信息
}
操作:向用户显示错误信息。
第三步:下载文件
对于直接下载:
bash
curl -L -o
对于需要通过代理的隧道/重定向链接:
bash
curl -L -o https://grabgrab.fun/api/proxy?url=downloadurl>
重要提示:如果直接链接下载失败或返回 HTML 而非视频文件,请使用代理端点重试:
bash
curl -L -o https://grabgrab.fun/api/proxy?url=$(python3 -c import urllib.parse; print(urllib.parse.quote(, safe=)))
第四步:向用户确认
下载完成后:
- - 报告文件名和文件大小
- 报告下载位置(当前工作目录或用户指定路径)
重要说明
- - API 的速率限制为每分钟 30 次请求。如果收到 429 错误,请等待后重试。
- 始终使用 -L 参数配合 curl 以跟随重定向。
- 如果用户要求仅音频,将 downloadMode 设置为 audio。
- 如果用户想要最佳质量,将 videoQuality 设置为 max。
- 除非用户另有指定,默认下载位置为当前工作目录。
- API 会自动从链接中检测平台 — 无需手动指定平台。
示例
用户:下载这个 YouTube 视频:https://www.youtube.com/watch?v=dQw4w9WgXcQ
操作:
- 1. 调用 API:curl -s -X POST https://grabgrab.fun/api/download -H Content-Type: application/json -d {url: https://www.youtube.com/watch?v=dQw4w9WgXcQ, videoQuality: 1080}
- 解析响应获取下载链接和文件名
- 下载:curl -L -o filename.mp4
- 报告:已下载 filename.mp4(15.2 MB)到当前目录。
用户:保存这个 TikTok 的音频:https://www.tiktok.com/@user/video/123
操作:
- 1. 使用 downloadMode: audio 调用 API:curl -s -X POST https://grabgrab.fun/api/download -H Content-Type: application/json -d {url: https://www.tiktok.com/@user/video/123, downloadMode: audio}
- 解析并下载音频文件
- 报告结果
用户:/GrabGrab https://www.bilibili.com/video/BV1xx411c7mD
操作:
- 1. 使用默认设置(1080p,自动模式)调用 API
- 下载视频
- 报告结果