Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Bright Data

Scalekit connector
Open markdown

The Bright Data connector lets your AI agent act in each user's Bright Data account. Each user connects their own Bright Data access token once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 43 tools.

Tools
43
What they doRead · write · destructive
34 · 9 · 034 read9 write0 destructive
Users sign in with

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 Bright Data connection

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

  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 = 'brightdata'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Bright Data:', 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: 'brightdata_get_account_bandwidth',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user opens the link once and enters their Bright Data credentials there. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • brightdata_download_marketplace_snapshotDownload the records of a ready Bright Data Marketplace dataset snapshot.Read-only

    Download Marketplace Snapshot

    Download the records of a ready Bright Data Marketplace dataset snapshot. Returns the records (a JSON array, wrapped as array in JSON output, by default) or the data in the chosen format. Use this after brightdata_get_marketplace_snapshot reports ready. Use brightdata_download_snapshot for scraper job snapshots.

    Inputs

    snapshot_idstringrequired
    Marketplace snapshot ID returned by brightdata_filter_marketplace_dataset (starts with snap_). Example: snap_m2bxug4e2o352v1jv1
    batch_sizeinteger
    Split a large snapshot into batches of this many records (minimum 1000) and download one per call with part. Example: 1000
    formatstring
    Data format. json (the tool default) returns a JSON array; the server default jsonl and ndjson return one record per line; csv returns a CSV table.one of jsonndjsonjsonlcsvdefault json
    partinteger
    Which batch to download when batch_size is set, starting at 1. Example: 2
  • brightdata_download_snapshotDownload the records of a finished Bright Data scraper job (snapshot).Read-only

    Download Snapshot

    Download the records of a finished Bright Data scraper job (snapshot). Returns the collected records (a JSON array, wrapped as array in JSON output, by default) or the data in the chosen format; a not-ready snapshot returns a status message instead. Use this after brightdata_get_snapshot_progress reports ready. Use brightdata_download_marketplace_snapshot for Marketplace dataset snapshots (IDs starting with snap_).

    Inputs

    snapshot_idstringrequired
    Snapshot ID returned by brightdata_trigger_scrape, brightdata_scrape_sync (when it times out into async mode) or brightdata_list_snapshots. Starts with s_ or sd_. Example: s_m4x7enmven8djfqak
    batch_sizeinteger
    Split a large snapshot into batches of this many records (minimum 1000) and download one batch per call with part. Example: 1000
    formatstring
    Data format. json (the tool default) returns a JSON array; the server default ndjson and jsonl return one record per line; csv returns a CSV table.one of jsonndjsonjsonlcsvdefault json
    partinteger
    Which batch to download when batch_size is set, starting at 1. Example: 2
  • brightdata_get_account_bandwidthGet bandwidth statistics for every zone on the Bright Data account over a time range.Read-only

    Get Account Bandwidth

    Get bandwidth statistics for every zone on the Bright Data account over a time range. Returns per-zone bandwidth data with sums and last-update timestamps. Use this for an account-wide traffic view. Use brightdata_get_zone_bandwidth for a single zone.

    Inputs

    fromstring
    Start of the range, YYYY-MM-DDTHH:MM:SS. Example: 2026-07-01T00:00:00
    tostring
    End of the range, YYYY-MM-DDTHH:MM:SS. Example: 2026-07-31T00:00:00
  • brightdata_get_account_statusCheck whether the Bright Data account is active and can make requests.Read-only

    Get Account Status

    Check whether the Bright Data account is active and can make requests. Returns status, customer (account ID), can_make_requests, auth_fail_reason and the caller's ip. Use this to diagnose authentication or account problems. Use brightdata_get_balance for funds.

    Inputs

    This tool takes no inputs.

  • brightdata_get_balanceGet the Bright Data account balance.Read-only

    Get Balance

    Get the Bright Data account balance. Returns balance, credit, prepayment and pending_costs, all in USD. Use this before large jobs to confirm funds. Use brightdata_get_zone_cost for spend per zone. Requires an API key with Admin or Finance permission.

    Inputs

    This tool takes no inputs.

  • brightdata_get_browser_sessionGet the details of one Bright Data Browser API session.Read-only

    Get Browser Session

    Get the details of one Bright Data Browser API session. Returns session with session_id, api_name, status, URLs, timing and bandwidth. Use this for one session. Use brightdata_list_browser_sessions to find session IDs.

    Inputs

    session_idstringrequired
    Browser API session ID, from brightdata_list_browser_sessions or the Browser.getSessionId CDP command. Example: 2c3f1a7e9b0d4e6f
  • brightdata_get_dataset_metadataGet the field definitions of a Bright Data Marketplace dataset.Read-only

    Get Dataset Metadata

    Get the field definitions of a Bright Data Marketplace dataset. Returns id and a fields object describing each field's type, description and whether it is active or required. Use this to learn field names before building a filter for brightdata_search_marketplace_dataset or brightdata_filter_marketplace_dataset.

    Inputs

    dataset_idstringrequired
    Marketplace dataset ID (starts with gd_). Find it with brightdata_list_marketplace_datasets. Example: gd_l1viktl72bvl7bjuj0
  • brightdata_get_marketplace_snapshotGet the status and details of a Bright Data Marketplace dataset snapshot.Read-only

    Get Marketplace Snapshot

    Get the status and details of a Bright Data Marketplace dataset snapshot. Returns id, created, status (scheduled, building, ready or failed), dataset_id, dataset_size, file_size, cost and any error. Use this to poll a snapshot from brightdata_filter_marketplace_dataset. Use brightdata_get_snapshot_progress for scraper job snapshots (IDs starting with s_).

    Inputs

    snapshot_idstringrequired
    Marketplace snapshot ID returned by brightdata_filter_marketplace_dataset (starts with snap_). Example: snap_m2bxug4e2o352v1jv1