Skip to content
Talk to an Engineer Dashboard

Connect with Supadata to extract transcripts, metadata, and structured content from YouTube, social media, and the web using AI.

Supadata logo

Supports authentication: API Key

Register your Scalekit environment with the Supadata connector so Scalekit can proxy API requests and inject your API key automatically. Unlike OAuth connectors, Supadata uses API key authentication — there is no redirect URI or OAuth flow.

  1. Get a Supadata API key

    Your Supadata API key is generated automatically when you create an account.

    • Go to dash.supadata.ai and sign up or sign in. No credit card is required for the free tier.
    • After signing in, click API Keys in the left sidebar.
    • Your auto-generated key is listed in the table. Click the key row to reveal or copy it.
    • To create a new dedicated key for this integration, click + New Key, give it a name (e.g., Agent Auth), and click Create.

    Supadata dashboard showing the API Keys page with existing keys and the New Key button

  2. Create a connection in Scalekit

    • In Scalekit dashboard, go to Agent AuthCreate Connection. Find Supadata and click Create.
    • Note the Connection name — you will use this as connection_name in your code (e.g., supadata).
    • Click Save.

    Scalekit connection configuration page for Supadata showing the connection name and API Key authentication type

  3. Add a connected account

    Connected accounts link a specific user identifier in your system to a Supadata API key. Add them via the dashboard for testing, or via the Scalekit API in production.

    Via dashboard (for testing)

    • Open the connection you created and click the Connected Accounts tab → Add account.

    • Fill in:

      • Your User’s ID — a unique identifier for this user in your system (e.g., user_123)
      • API Key — the Supadata API key you copied in step 1
    • Click Save.

    Add connected account form for Supadata in Scalekit dashboard showing User ID and API Key fields

    Via API (for production)

    // Never hard-code API keys — read from secure storage or user input
    const supadataApiKey = getUserSupadataKey(); // retrieve from your secure store
    await scalekit.actions.upsertConnectedAccount({
    connectionName: 'supadata',
    identifier: 'user_123', // your user's unique ID
    credentials: { api_key: supadataApiKey },
    });

Once a connected account is set up, make API calls through the Scalekit proxy. Scalekit injects the Supadata API key automatically as the x-api-key header — you never handle credentials in your application code.

You can interact with Supadata in two ways — via direct proxy API calls or via Scalekit optimized tool calls. Scroll down to see the list of available Scalekit tools.

Proxy API calls

import { ScalekitClient } from '@scalekit-sdk/node';
import 'dotenv/config';
const connectionName = 'supadata'; // connection name from your Scalekit dashboard
const identifier = 'user_123'; // your user's unique identifier
// Get your credentials from app.scalekit.com → Developers → Settings → API Credentials
const scalekit = new ScalekitClient(
process.env.SCALEKIT_ENV_URL,
process.env.SCALEKIT_CLIENT_ID,
process.env.SCALEKIT_CLIENT_SECRET
);
const actions = scalekit.actions;
// Get a YouTube transcript via Scalekit proxy — no API key needed here
const result = await actions.request({
connectionName,
identifier,
path: '/v1/youtube/transcript',
method: 'GET',
queryParams: { videoId: 'dQw4w9WgXcQ', text: 'true' },
});
console.log(result);

Scalekit tools

Supadata uses a credit-based billing model. The credit cost per call is noted on each tool below. All tools require a connected account with a valid Supadata API key — see the setup guide above.

Credit costTools
1 creditsupadata_metadata_get, supadata_web_map, supadata_web_scrape, supadata_youtube_channel_get, supadata_youtube_playlist_get, supadata_youtube_search, supadata_youtube_transcript_get, supadata_youtube_video_get
1 credit (native/auto mode) or 2 credits/minute (generate mode)supadata_transcript_get
1 credit + translation feesupadata_youtube_transcript_translate (base retrieval + AI translation)

Retrieve unified metadata for a video or media URL including title, description, author info, engagement stats, media details, and creation date. Supports YouTube, TikTok, Instagram, X (Twitter), Facebook, and more.

Cost: 1 credit per request.

NameTypeRequiredDescription
urlstringYesURL of the video or media to retrieve metadata for.

Extract transcripts from YouTube, TikTok, Instagram, X (Twitter), Facebook, or direct file URLs. Supports native captions, auto-generated captions, or AI-generated transcripts. Returns timestamped segments with speaker labels.

NameTypeRequiredDescription
chunkSizeintegerNoMaximum number of characters per transcript segment chunk.
langstringNoISO 639-1 language code for the transcript (e.g., en, fr, de). Defaults to the video’s original language.
modestringNoTranscript generation mode: native (use existing captions, 1 credit), auto (native with AI fallback), or generate (AI-generated, 2 credits/minute).
textbooleanNoReturn plain text instead of timestamped segments. Defaults to false.
urlstringYesURL of the video or media file to transcribe. Supports YouTube, TikTok, Instagram, X, Facebook, or direct video/audio file URLs.

Discover and return all URLs found on a website. Useful for site structure analysis, link auditing, and building crawl lists.

Cost: 1 credit per request.

NameTypeRequiredDescription
urlstringYesBase URL of the website to map.

Scrape a web page and return its content as clean Markdown. Ideal for extracting readable content from any URL while stripping away navigation and ads.

Cost: 1 credit per request.

NameTypeRequiredDescription
langstringNoISO 639-1 language code to request content in a specific language (e.g., en, fr, de).
noLinksbooleanNoStrip all hyperlinks from the Markdown output. Defaults to false.
urlstringYesURL of the web page to scrape.

Retrieve metadata for a YouTube channel including name, description, subscriber count, video count, and thumbnails.

Cost: 1 credit per request.

NameTypeRequiredDescription
channelIdstringYesYouTube channel ID, handle (@username), or full channel URL.

Retrieve metadata and video list for a YouTube playlist including title, description, video count, and individual video details.

Cost: 1 credit per request.

NameTypeRequiredDescription
playlistIdstringYesYouTube playlist ID or full playlist URL.

Search YouTube for videos, channels, or playlists. Returns results with titles, IDs, descriptions, thumbnails, and metadata.

Cost: 1 credit per request.

NameTypeRequiredDescription
langstringNoISO 639-1 language code to filter results by language (e.g., en, fr).
limitintegerNoMaximum number of results to return.
querystringYesSearch query string to find videos, channels, or playlists on YouTube.
typestringNoType of results to return: video, channel, or playlist.

Retrieve the transcript for a YouTube video by video ID or URL. Returns timestamped segments with text content. Falls back to auto-generated captions if manual captions are unavailable.

Cost: 1 credit per request.

NameTypeRequiredDescription
langstringNoISO 639-1 language code for the transcript (e.g., en, fr, de).
textbooleanNoReturn plain text instead of timestamped segments. Defaults to false.
videoIdstringYesYouTube video ID or full YouTube URL to retrieve the transcript for.

Retrieve and translate a YouTube video transcript into a target language. Returns translated timestamped segments.

NameTypeRequiredDescription
langstringYesISO 639-1 language code to translate the transcript into (e.g., en, fr, es).
textbooleanNoReturn plain text instead of timestamped segments. Defaults to false.
videoIdstringYesYouTube video ID or full YouTube URL to translate the transcript for.

Retrieve detailed metadata for a YouTube video including title, description, view count, like count, duration, tags, thumbnails, and channel info.

Cost: 1 credit per request.

NameTypeRequiredDescription
videoIdstringYesYouTube video ID or full YouTube URL.