Supadata
Overview
Section titled “Overview”Supadata is a web and video-to-text API that extracts transcripts from YouTube, TikTok, Instagram, Facebook, X (Twitter) and video files, retrieves social media metadata, and converts web content to Markdown for AI training and content analysis. With the Supadata integration in SquadOS, your agents can programmatically process video and web content for content analysis, AI training, and text-based automations.
- Official website: https://supadata.ai/
- Composio documentation: docs.composio.dev/toolkits/supadata
Authentication
Section titled “Authentication”This tool uses an API key (API_KEY) to connect.
You will need the following fields:
| Field | Required | Description |
|---|---|---|
api_key | Yes | API key automatically generated in the Supadata dashboard during the onboarding process. Must be sent in the x-api-key header on every request. |
How to get credentials
Section titled “How to get credentials”- Go to dash.supadata.ai and create an account.
- Complete the onboarding process — the API key is generated automatically at the end.
- In the dashboard, copy the API key displayed — this is the value to use in the
api_keyfield when connecting in SquadOS.
How to connect in SquadOS
Section titled “How to connect in SquadOS”- Go to Tools in the side menu (
/admin/tools). - Open the Available tab and search for
Supadata. - Click the card to open the details and hit Connect.
- You’re taken to the secure connection page hosted by Composio, where you enter the API key obtained above.
- Once done, you’re sent back to SquadOS with the account connected and the tool available to agents. (Connection-flow details in Organization Tools.)
Available actions
Section titled “Available actions”Get Account Information
Section titled “Get Account Information”SUPADATA_GET_ME
Retrieve organization details, plan information, and credit usage for the authenticated account. Use this to check account status, credit balance, and subscription plan.
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Get Video Transcript
Section titled “Get Video Transcript”SUPADATA_GET_TRANSCRIPT
Get transcript from a video on supported platforms or from a file URL. Use this tool when you need to retrieve transcripts from YouTube, TikTok, Twitter, Instagram, or Facebook videos, extract transcripts from video file URLs, get transcripts in specific languages, or choose between native captions or AI-generated transcripts. For large videos, the API returns a job ID — use the SUPADATA_GET_TRANSCRIPT_BY_JOB_ID action to retrieve the final result. For smaller videos, the transcript is returned immediately. The response varies based on the text parameter: text=true returns plain text; text=false returns a structured list of chunks with timestamps.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
url | string | Yes | Video URL from any supported platform (YouTube, TikTok, Twitter, Instagram, Facebook) or a file URL. Example: 'https://youtu.be/dQw4w9WgXcQ'. |
lang | string | No | Preferred language code of the transcript (ISO 639-1 format like 'en', 'es', 'fr'). If not provided, the first available language will be returned. If the requested language is unavailable, the API defaults to the first available language. |
mode | string ("native" | "auto" | "generate") | No | Transcript retrieval mode. |
text | boolean | No | When true, returns plain text transcript. When false, returns structured transcript with timestamps. Default is false. |
chunkSize | integer | No | Maximum characters per transcript chunk. Only applies when text=false (structured transcript mode). Use this to split long transcripts into manageable segments. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Get Transcript by Job ID
Section titled “Get Transcript by Job ID”SUPADATA_GET_TRANSCRIPT_BY_JOB_ID
Get results for a transcript job by job ID. Use this to retrieve results of asynchronous transcript processing. Check the status field to determine if the job is complete.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
job_id | string | Yes | The unique job ID of the transcript job, returned when you submit a transcript request. Example: '41060930-5273-4a89-80a2-9ba5ea5bc03f'. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Website URL Map
Section titled “Website URL Map”SUPADATA_GET_WEB_MAP
Crawl a website and extract all URLs/links found on it. Use this to create a sitemap, discover all pages of a website, or prepare for content scraping across multiple pages. Returns a list of all URLs discovered during the crawl.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
url | string | Yes | The URL of the website to crawl and extract all links from. Must be a valid HTTP/HTTPS URL. |
lang | string | No | Preferred language for the scraped content (ISO 639-1 code, e.g., 'en', 'de', 'fr'). Sets Accept-Language header to influence website language selection. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Scrape Web Page
Section titled “Scrape Web Page”SUPADATA_GET_WEB_SCRAPE
Extract content from any webpage and convert it to Markdown format. Use this tool when you need to read and extract text content from a web page, get metadata (title, description) from a webpage, discover links on a webpage, or get character counts of page content. One API credit is consumed per scrape request.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
url | string | Yes | The URL of the webpage to scrape. Must be a valid HTTP/HTTPS URL. |
lang | string | No | ISO 639-1 language code to request content in (e.g., 'en', 'es', 'fr'). Defaults to 'en'. |
no_links | boolean | No | If true, exclude Markdown links from the extracted content. Useful for cleaner text output. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Get YouTube Channel Metadata
Section titled “Get YouTube Channel Metadata”SUPADATA_GET_YOUTUBE_CHANNEL
Fetches metadata for a YouTube channel including name, description, subscriber count, video count, view count, and channel images. Accepts channel IDs, handles, or full YouTube URLs.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The YouTube channel identifier. Accepts multiple formats: channel ID (e.g., 'UC_x5XG1OV2P6uZZ5FSM9Ttw'), handle (e.g., '@GoogleDevelopers'), or full URL (e.g., 'https://youtube.com/@GoogleDevelopers'). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Get YouTube Channel Videos
Section titled “Get YouTube Channel Videos”SUPADATA_GET_YOUTUBE_CHANNEL_VIDEOS
Retrieve video IDs from a YouTube channel. Returns lists of regular video IDs, YouTube Shorts IDs, and live stream IDs. Videos are ordered latest first. Use this to get video IDs that can be passed to the Get YouTube Video endpoint for full metadata.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
channel_id | string | Yes | YouTube channel URL, handle (e.g., '@RickAstleyVEVO'), or channel ID (e.g., 'UC_x5XG1OV2P6uZZ5FSM9Ttw'). |
type | string ("all" | "video" | "short" | "live") | No | Type of videos to retrieve: 'all' (default) returns all types, 'video' for regular videos only, 'short' for YouTube Shorts only, 'live' for live streams only. |
limit | integer | No | Maximum number of videos to return. Default is 30, maximum is 5000. When type is 'all', limit applies to regular videos first, then shorts and live videos. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Get YouTube Playlist Metadata
Section titled “Get YouTube Playlist Metadata”SUPADATA_GET_YOUTUBE_PLAYLIST
Retrieve metadata for a YouTube playlist including title, description, video count, view count, last updated timestamp, and channel information. Use this when you need playlist-level information. For the list of videos in a playlist, use the SUPADATA_GET_YOUTUBE_PLAYLIST_VIDEOS action instead.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | YouTube playlist URL or ID. Supports various formats including full URLs (e.g., 'https://www.youtube.com/playlist?list=PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc') or just the playlist ID (e.g., 'PLlaN88a7y2_plecYoJxvRFTLHVbIVAOoc'). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Get YouTube Playlist Videos
Section titled “Get YouTube Playlist Videos”SUPADATA_GET_YOUTUBE_PLAYLIST_VIDEOS
Retrieve video IDs from a YouTube playlist. Returns lists of standard video IDs, YouTube Shorts IDs, and live stream IDs contained in the playlist.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
playlistId | string | Yes | YouTube playlist URL or ID to fetch video IDs from. Can be a full playlist URL like 'https://www.youtube.com/playlist?list=PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf' or just the playlist ID like 'PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf'. |
limit | integer | No | Maximum number of video IDs to return. Default is 100, maximum is 5000. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Get YouTube Video Metadata
Section titled “Get YouTube Video Metadata”SUPADATA_GET_YOUTUBE_VIDEO
Retrieve comprehensive metadata for a YouTube video by its ID. Use this tool when you need to get title, description, and tags, channel information, view and like counts, upload date and duration, live stream status, or available transcript languages. The video_id is the 11-character identifier found in YouTube URLs (e.g., 'dQw4w9WgXcQ' from 'https://youtube.com/watch?v=dQw4w9WgXcQ').
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
video_id | string | Yes | The YouTube video ID (11-character string found in YouTube URLs after 'v=' or '/watch?v='). Example: 'dQw4w9WgXcQ' from 'https://youtube.com/watch?v=dQw4w9WgXcQ'. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Search YouTube
Section titled “Search YouTube”SUPADATA_SEARCH_YOUTUBE
Search YouTube for videos, channels, or playlists by keyword. Returns matching content with metadata like titles, thumbnails, view counts, and channel information.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
query | string | Yes | The search query term to search on YouTube. Examples: 'python tutorial', 'cooking recipes', 'music videos'. |
type | string ("video" | "channel" | "playlist") | No | Type of resource to search for. If not specified, returns all types. Options: 'video', 'channel', 'playlist'. |
limit | integer | No | Maximum number of results to return. Default is 10, max is 5000. Note: Uses 1 credit per page (~20 results). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |