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
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. 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>Create the Supadata MCP connection
In AgentKit > Connections, create a Supadata MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Supadata, so you don't need to register an OAuth app.
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.actionsconst connector = 'supadatamcp'const identifier = 'user_123'// Generate an authorization link for the userconst { 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 callconst result = await actions.executeTool({connector,identifier,toolName: 'supadatamcp_supadata_check_crawl_status',toolInput: { id: 'YOUR_ID' },})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "supadatamcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Supadata MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={"id":"YOUR_ID"},tool_name="supadatamcp_supadata_check_crawl_status",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolsupadatamcp_supadata_check_crawl_statusCheck crawl job status and retrieve results.Read-onlySupadata 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-onlySupadata 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-onlySupadata 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-onlySupadata 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-onlySupadata 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-onlySupadata 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-onlySupadata 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.WriteSupadata 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.
supadatamcp_supadata_extractExtract structured data from a video URL using AI.WriteSupadata AI Extract from Video
Extract structured data from a video URL using AI. Provide a prompt for what to extract, a JSON Schema for the output format, or both. Returns a jobId for async processing.
Inputs
urlstringrequired- The full URL of the video to extract structured data from.
promptstring- Natural language prompt describing what to extract from the video. Optional if schema is provided.
schemaobject- JSON Schema defining the structure of the extracted output. Optional if prompt is provided.
No tools match.