Agent skill
supadata
Supadata API for YouTube/web data. Use when user mentions "Supadata", "YouTube data", "channel stats", or web scraping data.
Install this agent skill to your Project
npx add-skill https://github.com/vm0-ai/vm0-skills/tree/main/supadata
SKILL.md
Supadata API
Use the Supadata API via direct curl calls to extract video transcripts and scrape web content for AI applications.
Official docs:
https://docs.supadata.ai/
When to Use
Use this skill when you need to:
- Extract transcripts from YouTube, TikTok, Instagram, X (Twitter), Facebook videos
- Scrape web pages to markdown format for AI processing
- Get video/channel metadata from social platforms
- Crawl websites to extract content from multiple pages
Prerequisites
- Sign up at Supadata Dashboard
- API key is automatically generated on signup (no credit card required)
- Store your API key in environment variable
export SUPADATA_TOKEN="your-api-key"
Pricing
- Transcript fetch (existing): 1 credit
- Transcript generation (AI): 2 credits/minute
- Free tier available
How to Use
All examples below assume you have SUPADATA_TOKEN set.
The base URL for the API is:
https://api.supadata.ai/v1
Authentication uses the x-api-key header.
1. Get YouTube Video Transcript
Extract transcript from a YouTube video:
Write to /tmp/supadata_url.txt:
https://www.youtube.com/watch?v=dQw4w9WgXcQ
curl -s "https://api.supadata.ai/v1/transcript" -H "x-api-key: $(printenv SUPADATA_TOKEN)" -G --data-urlencode "url@/tmp/supadata_url.txt" -d "text=true"
Parameters:
url: Video URL (required)text: Return plain text (true) or timestamped chunks (false, default)lang: Preferred language (ISO 639-1 code, e.g.,en,zh)mode:native(existing only),generate(AI),auto(default)
2. Get Transcript with Timestamps
Get transcript with timing information:
curl -s "https://api.supadata.ai/v1/transcript" -H "x-api-key: $(printenv SUPADATA_TOKEN)" -G --data-urlencode "url@/tmp/supadata_url.txt" -d "text=false" | jq '.content[:3]'
Response format:
{
"content": [
{"text": "Hello", "offset": 0, "duration": 1500, "lang": "en"}
],
"lang": "en",
"availableLangs": ["en", "es", "zh"]
}
3. Get TikTok/Instagram/X Transcript
Extract transcript from other platforms:
# TikTok
curl -s "https://api.supadata.ai/v1/transcript" -H "x-api-key: $(printenv SUPADATA_TOKEN)" -G --data-urlencode "url@/tmp/supadata_url.txt" -d "text=true"
# Instagram Reel
curl -s "https://api.supadata.ai/v1/transcript" -H "x-api-key: $(printenv SUPADATA_TOKEN)" -G --data-urlencode "url@/tmp/supadata_url.txt" -d "text=true"
Supported platforms: YouTube, TikTok, Instagram, X (Twitter), Facebook
4. Native Transcript Only (Save Credits)
Fetch only existing transcripts without AI generation:
curl -s "https://api.supadata.ai/v1/transcript" -H "x-api-key: $(printenv SUPADATA_TOKEN)" -G --data-urlencode "url@/tmp/supadata_url.txt" -d "text=true" -d "mode=native"
Use mode=native to avoid AI generation costs (1 credit vs 2 credits/min).
5. Get YouTube Channel Metadata
Get channel information:
curl -s "https://api.supadata.ai/v1/youtube/channel" -H "x-api-key: $(printenv SUPADATA_TOKEN)" -G --data-urlencode "id=@mkbhd" | jq '{name, subscriberCount, videoCount}
Accepts channel URL, channel ID, or handle (e.g., @mkbhd).
6. Get YouTube Video Metadata
Get video information:
curl -s "https://api.supadata.ai/v1/youtube/video" -H "x-api-key: $(printenv SUPADATA_TOKEN)" -G --data-urlencode "url@/tmp/supadata_url.txt" | jq '{title, viewCount, likeCount, duration}
7. Get Social Media Metadata
Get metadata from any supported platform:
curl -s "https://api.supadata.ai/v1/metadata" -H "x-api-key: $(printenv SUPADATA_TOKEN)" -G --data-urlencode "url@/tmp/supadata_url.txt"
Works with YouTube, TikTok, Instagram, X, Facebook posts.
8. Scrape Web Page to Markdown
Extract web page content:
curl -s "https://api.supadata.ai/v1/web/scrape" -H "x-api-key: $(printenv SUPADATA_TOKEN)" -G --data-urlencode "url@/tmp/supadata_url.txt"
Returns page content in Markdown format, ideal for AI processing.
9. Map Website Links
Get all links from a website:
curl -s "https://api.supadata.ai/v1/web/map" -H "x-api-key: $(printenv SUPADATA_TOKEN)" -G --data-urlencode "url@/tmp/supadata_url.txt" | jq '.urls[:10]'
10. Crawl Website (Async)
Start a crawl job for multiple pages.
Write to /tmp/supadata_request.json:
{
"url": "https://example.com",
"maxPages": 10
}
Then run:
# Start crawl
JOB_ID="$(curl -s "https://api.supadata.ai/v1/web/crawl" -X POST -H "x-api-key: $(printenv SUPADATA_TOKEN)" -H "Content-Type: application/json" -d @/tmp/supadata_request.json | jq -r '.jobId')"
echo "Job ID: ${JOB_ID}"
# Check status
curl -s "https://api.supadata.ai/v1/web/crawl/<your-job-id>" -H "x-api-key: $(printenv SUPADATA_TOKEN)" | jq '{status, pagesCompleted}'
Status values: queued, active, completed, failed
11. Translate Transcript
Translate a YouTube transcript to another language:
curl -s "https://api.supadata.ai/v1/youtube/transcript/translate" -H "x-api-key: $(printenv SUPADATA_TOKEN)" -G --data-urlencode "url@/tmp/supadata_url.txt" -d "lang=zh" -d "text=true"
Response Handling
Synchronous (HTTP 200): Direct result returned.
Asynchronous (HTTP 202): Returns jobId for polling:
{"jobId": "abc123"}
Poll the job endpoint until status is completed.
Guidelines
- Use
mode=nativeto save credits: Only fetches existing transcripts - URL encode parameters: Use
--data-urlencodefor URLs - Check available languages: Response includes
availableLangsarray - Handle async responses: Some requests return job IDs for polling
- Max file size: 1GB for direct file URLs
- Supported formats: MP4, WEBM, MP3, FLAC, MPEG, M4A, OGG, WAV
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
brave-search
Brave Search API for web search. Use when user says "search web", "Brave search", or asks to "find on web" without specifying Google.
roadmap-planning
Build and prioritize product roadmaps using scoring models like RICE, ICE, and value-effort matrices. Activate when creating a product roadmap, prioritizing features, sequencing initiatives, mapping dependencies, balancing team capacity, choosing between Now/Next/Later or quarterly planning, or communicating roadmap tradeoffs to executives and stakeholders.
qdrant
Qdrant API for vector search. Use when user mentions "Qdrant", "vector database", "semantic search", or embeddings storage.
calendly
Calendly scheduling API. Use when user mentions "Calendly", "calendly.com", "schedule a meeting", "booking link", "event types", or asks about interview scheduling.
stripe
Stripe API for payments. Use when user mentions "Stripe", "payment", "subscription", "billing", "invoice", or asks about payment processing.
customer-io
Customer.io behavioral email and messaging platform. Use when user mentions "Customer.io", "behavioral emails", "lifecycle emails", "triggered messages", or asks about event-based email automation.
Didn't find tool you were looking for?