← Back to Skills Marketplace
xuxizhen

GrabGrab

by xizhen · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
276
Downloads
1
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install grabgrab
Description
Use when the user wants to download a video or audio from a URL. Supports 20+ platforms including YouTube, X/Twitter, TikTok, Instagram, Facebook, Reddit, Bi...
README (SKILL.md)

GrabGrab - Video & Audio Downloader

Download videos and audio from 20+ platforms by URL. Powered by GrabGrab.

Supported Platforms (20+)

Platform Example URLs
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/\x3Cid>
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:

curl -s -X POST "https://grabgrab.fun/api/download" \
  -H "Content-Type: application/json" \
  -d '{"url": "\x3CVIDEO_URL>", "videoQuality": "\x3CQUALITY>"}'

Video quality options (ask user if not specified, default to 1080):

  • max - Best available quality
  • 2160 - 4K
  • 1440 - 2K
  • 1080 - Full HD (default)
  • 720 - HD
  • 480 - SD
  • 360 - Low
  • 144 - Minimum

Download mode options (default to auto):

  • auto - Video with audio (default)
  • audio - Audio only
  • mute - 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 \x3Cfilename> "\x3Curl>".

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:

curl -L -o "\x3Cfilename>" "\x3Cdownload_url>"

For tunnel/redirect URLs that need the proxy:

curl -L -o "\x3Cfilename>" "https://grabgrab.fun/api/proxy?url=\x3Cencoded_download_url>"

IMPORTANT: If the direct URL download fails or returns HTML instead of a video file, retry using the proxy endpoint:

curl -L -o "\x3Cfilename>" "https://grabgrab.fun/api/proxy?url=$(python3 -c 'import urllib.parse; print(urllib.parse.quote("\x3Cdownload_url>", safe=""))')"

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: 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"}'
  2. Parse response to get download URL and filename
  3. Download: curl -L -o "filename.mp4" "\x3Curl>"
  4. 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": 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"}'
  2. Parse and download the audio file
  3. Report the result

User: "/GrabGrab https://www.bilibili.com/video/BV1xx411c7mD"

Actions:

  1. Call API with default settings (1080p, auto mode)
  2. Download the video
  3. Report the result
Usage Guidance
This skill does what it says (downloads media) but uses an external service (https://grabgrab.fun) to fetch content. Before installing: 1) Understand privacy: any URL you give will be sent to that third party and may expose which pages or media you access. 2) Trust and provenance: the skill has no homepage/source and the domain is unfamiliar; verify the service's reputation and privacy policy if you care about confidentiality. 3) Tool availability: SKILL.md uses curl and python3 although the registry lists no required binaries — ensure those tools are available in your environment. 4) Legal/TOS: downloading some content may violate platform terms or copyright; confirm you have the right to download. 5) If you prefer not to send URLs to a third party, consider alternative approaches (self-hosted or local tools like yt-dlp) instead. If any of the above concerns matter to you, treat this skill as untrusted and avoid using it with sensitive URLs or in environments where privacy is required.
Capability Analysis
Type: OpenClaw Skill Name: grabgrab Version: 1.0.0 The GrabGrab skill is a media downloader that interfaces with the grabgrab.fun API to fetch video and audio from various social platforms. It uses standard curl commands and a small Python snippet for URL encoding to perform its tasks, with no evidence of data exfiltration, malicious execution, or unauthorized access beyond its stated purpose.
Capability Assessment
Purpose & Capability
The skill's name/description and runtime instructions align: it calls an external download API and then saves the returned file. However, SKILL.md assumes availability of curl and python3 (used for URL-encoding), while the registry metadata lists no required binaries — a minor incoherence in declared requirements.
Instruction Scope
Instructions direct the agent to POST user-supplied URLs to https://grabgrab.fun and to download returned URLs (including via a proxy endpoint). This is coherent for a downloader but means the third party will receive the original media URL (and potentially the downloaded content). There is no mention of user consent, privacy policy, or limitations (copyright/TOS), and the instructions suggest retrying with the proxy when direct downloads fail, increasing reliance on the external service.
Install Mechanism
No install spec and no code files — the skill is instruction-only, which minimizes on-disk risk. The runtime relies on existing system tools (curl, python3) rather than installing new software.
Credentials
The skill requests no environment variables or credentials, which is proportionate. Still, it relies on an external service (grabgrab.fun) that will see user-provided URLs and any proxied content; no credentials or policies are declared for that service.
Persistence & Privilege
always is false and the skill does not request persistent or elevated privileges. Normal autonomous invocation is allowed (default) but not, by itself, an additional red flag.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install grabgrab
  3. After installation, invoke the skill by name or use /grabgrab
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Initial release of GrabGrab: Download video and audio from 20+ platforms by URL. - Supports YouTube, Twitter/X, TikTok, Instagram, Facebook, Reddit, Bilibili, and more. - Handles user requests to download or save video/audio from supported platforms. - Allows choosing video quality and audio-only or video-only downloads. - Detects when multiple media items are available and prompts user selection. - Provides clear download status, file name, size, and location after completion. https://www.grabgrab.fun/
Metadata
Slug grabgrab
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is GrabGrab?

Use when the user wants to download a video or audio from a URL. Supports 20+ platforms including YouTube, X/Twitter, TikTok, Instagram, Facebook, Reddit, Bi... It is an AI Agent Skill for Claude Code / OpenClaw, with 276 downloads so far.

How do I install GrabGrab?

Run "/install grabgrab" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is GrabGrab free?

Yes, GrabGrab is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does GrabGrab support?

GrabGrab is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created GrabGrab?

It is built and maintained by xizhen (@xuxizhen); the current version is v1.0.0.

💬 Comments