Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Supadata MCP server

Vendor MCP
Open markdown

The Supadata MCP connector routes your AI agent's tool calls to Supadata's own MCP server through Scalekit. Each user signs in to Supadata once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 9 tools.

Tools
9
What they doRead · write · destructive
7 · 2 · 07 read2 write0 destructive
Users sign in with
OAuth app
Scalekit's or your own

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the Supadata MCP connection

    In AgentKit > Connections, create a Supadata MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for Supadata, so you don't need to register an OAuth app.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'supadatamcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Supadata MCP:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'supadatamcp_supadata_check_crawl_status',
    toolInput: { id: 'YOUR_ID' },
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • supadatamcp_supadata_check_crawl_statusCheck crawl job status and retrieve results.Read-only

    Supadata Check Crawl Status

    Check crawl job status and retrieve results. Returns status: scraping, completed, failed, or cancelled.

    Inputs

    idstringrequired
    The job ID returned by supadata_crawl when the crawl job was created.
  • supadatamcp_supadata_check_extract_statusCheck extract job status and retrieve results.Read-only

    Supadata Check Extract Status

    Check extract job status and retrieve results. Returns status: queued, active, completed, or failed.

    Inputs

    idstringrequired
    The job ID returned by supadata_extract when the extraction job was created.
  • supadatamcp_supadata_check_transcript_statusCheck transcript job status and retrieve results.Read-only

    Supadata Check Transcript Status

    Check transcript job status and retrieve results. Returns status: queued, active, completed, or failed.

    Inputs

    idstringrequired
    The job ID returned by supadata_transcript for a large file transcription job.
  • supadatamcp_supadata_mapDiscover URLs on a websiteRead-only

    Supadata Map Website

    Discover URLs on a website

    Inputs

    urlstringrequired
    The full URL of the website to map.
  • supadatamcp_supadata_metadataFetch metadata from a media URL (YouTube, TikTok, Instagram, Twitter).Read-only

    Supadata Get Media Metadata

    Fetch metadata from a media URL (YouTube, TikTok, Instagram, Twitter). Returns platform info, title, description, author details, engagement stats, media details, tags, and creation date.

    Inputs

    urlstringrequired
    The full URL of the media content to fetch metadata for.
  • supadatamcp_supadata_scrapeScrape a single web page and return its content.Read-only

    Supadata Scrape Page

    Scrape a single web page and return its content. Fetches and extracts the text content from the specified URL, with optional link removal and language filtering.

    Inputs

    urlstringrequired
    The full URL of the web page to scrape.
    langstring
    Language code to filter or request content in (e.g. 'en', 'fr'). Optional.
    noLinksboolean
    When true, strips all hyperlinks from the scraped content. Optional, defaults to false.
  • supadatamcp_supadata_transcriptExtract transcript from a video or file URL.Read-only

    Supadata Get Transcript

    Extract transcript from a video or file URL. For large files, returns a jobId instead of the transcript directly - use supadata_check_transcript_status with that jobId to poll for results.

    Inputs

    urlstringrequired
    URL of a single video or post on YouTube, TikTok, Instagram, X (Twitter) or Facebook, or a direct link to an audio or video file. Not for ordinary web pages (use supadata_scrape).
    chunkSizenumber
    Maximum characters per timestamped segment (at least 50). Ignored when text is true.
    langstring
    Preferred transcript language as an ISO 639-1 code, e.g. "en". Falls back to the first available language.
    modestring
    "native" only fetches an existing transcript, "generate" always transcribes with AI, "auto" (default) tries native first and falls back to generate.one of nativeautogenerate
    textboolean
    true returns the transcript as plain text; false (default) returns timestamped segments.
  • supadatamcp_supadata_crawlCreate a crawl job to extract content from all pages on a website.Write

    Supadata Crawl Website

    Create a crawl job to extract content from all pages on a website. Returns a jobId - use supadata_check_crawl_status with that jobId to poll for results.

    Inputs

    urlstringrequired
    Full URL to start crawling from, including https://.
    limitnumber
    Maximum number of pages to crawl (1-5000, default 100). Each page costs 1 credit.