Agent skill

Brightdata Proxy

by brightdata in brightdata/skills

Generate working code that routes HTTP requests through Bright Data proxy networks (Datacenter, ISP, Residential, Mobile) and help users decide which network and IP pool type to use (shared pool…

MITAuto-check passedTesting & QA

Install Brightdata Proxy

skills CLI
$ npx skills add brightdata/skills --skill brightdata-proxy -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install brightdata/skills brightdata-proxy --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/brightdata/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/proxy .claude/skills/brightdata-proxy && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
brightdata-proxy
GitHub stars
264
Token cost
~5.1k tokens
SKILL.md length
2,218 words
Files
5 (incl. scripts, references, assets)
Skills in repo
14
Repo updated
First seen
Licence
MIT

At a glance

Generate working code that routes HTTP requests through Bright Data proxy networks (Datacenter, ISP, Residential, Mobile) and help users decide which network and IP pool type to use (shared pool…

  • Works in 3 steps: Use the Bright Data CA certificate… → KYC verification. Submit identity… → Ignore SSL errors (last resort, not…
  • The user mentions Bright Data
  • SKILL.md covers Quick reference (canonical…, Bundled tools (in this skill), Decision 1: which proxy network? and Decision 2: which IP pool…, plus 8 more sections
  • Runs Shell scripts from its folder; calls curl; reaches geo.brdtest.com and brightdata.com; needs ZONE_PASSWORD and BD_PASSWORD

What it does

Brightdata Proxy is an agent skill from brightdata/skills. Generate working code that routes HTTP requests through Bright Data proxy networks (Datacenter, ISP, Residential, Mobile) and help users decide which network and IP pool type to use (shared pool, shared IPs, or dedicated IPs). Use this skill whenever the user mentions Bright Data, brightdata.com, BD proxies, brd.superproxy.io, geo.brdtest.com, a brd-customer- proxy username, a Bright Data zone, the superproxy host, or wants to scrape or route requests through Bright Data — including questions about proxy URL…

Its SKILL.md is about 5.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts, reference files and assets (for example `references/code-templates.md`, `references/troubleshooting.md` and `scripts/smoke_test.sh`).

It sits in Testing & QA, covering Browser testing and Web scraping. It works with Bright Data, Playwright, Puppeteer and Selenium. The licence is MIT.

When your agent uses it

  • The user mentions Bright Data
  • Brd.superproxy.io
  • Geo.brdtest.com
  • A brd-customer- proxy username

Example prompts

  • “/brightdata-proxy”

Requirements

  • Python 3
  • Node.js
  • A Bash shell

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Use the Bright Data CA certificate (preferred — what most users should do). The cert is already bundled in this skill at…
  2. KYC verification. Submit identity verification in the Bright Data control panel. After approval, the cert is no longer required for native…
  3. Ignore SSL errors (last resort, not recommended for production). In Python: requests.get(..., verify=False). In Node: rejectUnauthorized…

What it can do on your machine

Read from SKILL.md and the folder at commit 81f51af. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • geo.brdtest.com
    • brightdata.com
    • brd.superproxy.io

    Also links to:

    • docs.brightdata.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • ZONE_PASSWORD
    • BD_PASSWORD

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Brightdata Proxy loads about 5.1k tokens when it runs, and up to ~9.6k if it reads all its reference files. Until then it costs about 219 tokens; SKILL.md has 2,218 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~219
When it runs · the whole SKILL.md, loaded when a task matches
~5.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~9.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from brightdata/skills at commit 81f51af, republished under its MIT licence (© brightdata). 2,218 words, ~5,072 tokens.

Download SKILL.mdSave it as .claude/skills/brightdata-proxy/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
brightdata-proxy
description
Generate working code that routes HTTP requests through Bright Data proxy networks (Datacenter, ISP, Residential, Mobile) and help users decide which network and IP pool type to use (shared pool, shared IPs, or dedicated IPs). Use this skill whenever the user mentions Bright Data, brightdata.com, BD proxies, brd.superproxy.io, geo.brdtest.com, a brd-customer- proxy username, a Bright Data zone, the superproxy host, or wants to scrape or route requests through Bright Data — including questions about proxy URL format, country or session or IP or sticky-session targeting, SSL certificate setup for residential or mobile proxies, KYC verification, ignoring SSL errors, choosing between shared pool and shared IPs and dedicated IPs, or integrating Bright Data into Python requests/httpx/aiohttp, Node fetch/axios, Playwright, Puppeteer, Selenium, or Scrapy.

Bright Data Proxy

Generate working code and configuration for Bright Data's four proxy networks. This skill covers usage and integration — it does not walk users through control-panel UI setup. If the user hasn't created a zone yet, tell them to sign up at https://brightdata.com and use the in-app proxy creation helper (the control panel guides them through zone type, pool type, and credentials interactively — that's the right surface for setup, not this skill).

Quick reference (canonical facts)

These are the values to use in generated code. They are easy to hallucinate wrong, so anchor on them.

  • Proxy host: brd.superproxy.io
  • HTTP/HTTPS proxy port: 33335 (current, paired with the new SSL CA — expires Sept 2034)
    • Legacy port 22225 exists for the old CA (expires Sept 2026, deprecated). Use 33335 unless the user explicitly says otherwise.
  • SOCKS5 port: 22228
  • Username format: brd-customer-CUSTOMER_ID-zone-ZONE_NAME plus optional -key-value parameters appended (see Targeting below).
  • Password: the zone password from the control panel (not the account password).
  • Test endpoint (use in code samples, not against real targets): https://geo.brdtest.com/mygeo.json — returns exit IP, country, city, and ASN as JSON.
  • SSL CA: bundled with this skill at assets/brightdata_proxy_ca.crt (Bright Data Proxy Root CA, valid until Sept 2034). Generated code should reference this path, not tell the user to go download it. The public download is at https://brightdata.com/static/brightdata_proxy_ca.zip if they ever need to fetch it independently.

The line https://brightdata.com/cp/zones/proxy_examples in the control panel shows live, account-specific code samples for every framework — point the user there for ground truth when uncertain.

Bundled tools (in this skill)

  • assets/brightdata_proxy_ca.crt — the Bright Data Root CA. Use this in verify=, --cacert, ca:, or NODE_EXTRA_CA_CERTS instead of having the user download it.
  • scripts/smoke_test.sh — cURL-based credential smoke test. Run ./smoke_test.sh CUSTOMER_ID ZONE_NAME ZONE_PASSWORD [COUNTRY] [SESSION_ID] (or set BD_CUSTOMER_ID/BD_ZONE/BD_PASSWORD env vars). Auto-locates the bundled CA, returns parsed JSON geo, distinct exit codes for auth vs HTTP vs network failure. Recommend this as the first thing the user runs after creating a zone.
  • scripts/proxy_tester.html — single-file browser diagnostic. User configures their browser or OS proxy with the credentials, opens the file locally (or serves it from anywhere), and sees a live readout of their current exit IP/geo. Has a baseline-save feature so they can compare pre-proxy vs post-proxy exits visually. Credentials live in sessionStorage only — nothing is uploaded.

Decision 1: which proxy network?

If the user hasn't said which network they're on, ask once, then proceed. Quick rubric:

NetworkWhen to recommend
DatacenterCheapest, fastest. Use for unprotected targets (news sites, public APIs, light scraping, account management at low scale, geo-bypass on permissive sites).
ISPStatic IPs that look residential to the destination. Best for long-lived sessions, account management on protected platforms, anything where IP reputation matters but you want speed and stability.
ResidentialReal-user IPs from a 100M+ pool. Default choice when datacenter and ISP get blocked. Best success rate on hard targets. Pay-per-GB; slower. Requires SSL cert or KYC (see Residential/Mobile network access below).
Mobile3G/4G/5G mobile carrier IPs. Most expensive. Use only when the target is extreme (Instagram, TikTok, some banking). Same network-access requirements as Residential.

Default reach order when the user is unsure: Datacenter → Residential. ISP and Mobile are deliberate choices for specific needs.

Decision 2: which IP pool type? (Datacenter and ISP)

Bright Data sells Datacenter and ISP traffic in three IP-allocation modes. The user picks this when they create the zone in the control panel.

Pool typeWhat it isWhen to recommend
Shared pool (also called "pay-per-GB" or "unlimited")Pull random IPs from a huge shared pool. No fixed IPs allocated to you. Pay per GB of traffic.Default for high-volume rotating scraping. You don't care which IP you get, you just want a fresh one frequently.
Shared IPsA fixed set of N IPs leased to you, but shared with other Bright Data customers. Cheaper than dedicated.Mid-budget. You want some IP stability but not exclusivity. Useful when the target accepts moderately-warm IPs.
Dedicated IPsA fixed set of N IPs leased exclusively to you. No other customer uses them. Highest cost per IP.Account management on platforms that fingerprint IPs heavily, anything needing a clean reputation you control, anything where another customer's bad behavior on a shared IP would burn you.

For Residential and Mobile the equivalent of "dedicated" is dedicated gIPs (groups of IPs) selected via the -gip- parameter — not the same as DC/ISP dedicated. Don't confuse the two.


Proxy URL format & authentication

The username carries all per-request configuration. The general form:

brd-customer-CUSTOMER_ID-zone-ZONE_NAME[-param1-value1][-param2-value2]...

Composed into a proxy URL it looks like:

http://brd-customer-CUSTOMER_ID-zone-ZONE_NAME[-PARAMS]:ZONE_PASSWORD@brd.superproxy.io:33335

Notes:

  • The scheme is http:// even for HTTPS targets — that's the proxy's own scheme, not the destination's.
  • Always URL-encode the password if it contains special characters.
  • Parameters are appended to the username with hyphens — they are not query-string params on the URL.
  • Zone name cannot be changed after creation; the user has to make a new zone if they want a different name.

Username parameters (targeting, rotation, session)

ParameterApplies toWhat it doesExample suffix on username
-country-XXAll networksISO country code (2-letter, lowercase). eu = random EU country.-country-us
-state-XXResidential, Mobile onlyUS state, 2-letter, requires -country-us-country-us-state-ny
-city-NAMEResidential, Mobile onlyCity, no spaces (sanfrancisco), requires country-country-us-city-sanfrancisco
-zip-NNNNNResidential, Mobile onlyUS zip, 5 digits-country-us-zip-37501
-asn-NNNNNResidential, Mobile onlyTarget a specific ASN-asn-56386
-os-XResidential onlywindows, macos, android-os-windows
-carrier-XMobile onlySpecific carrier (e.g. -carrier-dt)-carrier-dt
-session-STRINGAllSticky session — same session ID returns the same exit IP for the session's lifetime. Use a random string per logical "user session" to implement rotation.-session-abc12345
-ip-A.B.C.DZones with dedicated IPs onlyPin to a specific allocated IP-ip-1.2.3.4
-gip-NAMEDedicated Residential or Mobile onlyPin to a specific gIP group-gip-us_7922_fl_hollywood_0
-dns-local / -dns-remoteAllremote = resolve DNS at the proxy peer (default for residential); local = resolve on super proxy-dns-remote
-constResidential, MobileBind to the same peer; if peer is unavailable, return 502 "no peer available" instead of switching-const
-directAllForce the request from the super proxy itself (skip peer routing). Rarely needed.-direct
-c_tag-VALUEAllCustom tag echoed back in response headers, for correlating req/resp at scale-c_tag-job42-row7

Critical constraint: Datacenter and ISP zones only support country targeting. State, city, zip, ASN, OS, and carrier targeting are Residential/Mobile-only. Don't generate code that puts -city- on a DC or ISP zone — it will silently fail or 400.

Session and rotation patterns

  • Want a fresh IP on every request? Omit -session-. The super proxy hands you a new peer each request.
  • Want to keep the same IP across a multi-step flow (login → action → action)? Generate a random session_id once and reuse it: -session-{session_id}. New value = new IP.
  • Idle session timeouts (lose the IP if idle too long, per Bright Data docs): Datacenter ~1 min, Residential ~5 min, ISP ~7 min, Mobile ~10 min. For longer-than-timeout flows, send a keep-alive request or accept that the IP will rotate.
  • Maximum control: dedicated IPs zone + -ip-A.B.C.D to pin every request to a specific allocated IP. No randomness.

Core code patterns

cURL (for testing/debugging)
bash
curl --proxy brd.superproxy.io:33335 \
  --proxy-user 'brd-customer-CUSTOMER_ID-zone-ZONE_NAME:ZONE_PASSWORD' \
  --cacert ./assets/brightdata_proxy_ca.crt \
  'https://geo.brdtest.com/mygeo.json'

(For Datacenter and ISP zones, the --cacert flag is optional. For Residential and Mobile it's required unless the user has system-installed the CA or completed KYC — see "Residential & Mobile network access" below.)

To bypass cert verification entirely (only OK if user has chosen the "ignore SSL errors" path):

bash
curl -k --proxy brd.superproxy.io:33335 \
  --proxy-user 'brd-customer-CUSTOMER_ID-zone-ZONE_NAME:ZONE_PASSWORD' \
  'https://geo.brdtest.com/mygeo.json'
Python — requests
python
import requests

CUSTOMER_ID = "your_customer_id"
ZONE_NAME = "your_zone_name"
ZONE_PASSWORD = "your_zone_password"

proxy_user = f"brd-customer-{CUSTOMER_ID}-zone-{ZONE_NAME}"
proxy_url = f"http://{proxy_user}:{ZONE_PASSWORD}@brd.superproxy.io:33335"

proxies = {"http": proxy_url, "https": proxy_url}

# Preferred: verify TLS using the bundled Bright Data CA
resp = requests.get(
    "https://geo.brdtest.com/mygeo.json",
    proxies=proxies,
    verify="./assets/brightdata_proxy_ca.crt",  # path to bundled cert
    timeout=30,
)
print(resp.json())

Country targeting:

python
proxy_user = f"brd-customer-{CUSTOMER_ID}-zone-{ZONE_NAME}-country-us"

Sticky session (rotate per logical user, same IP within a session):

python
import secrets
session_id = secrets.token_hex(8)
proxy_user = f"brd-customer-{CUSTOMER_ID}-zone-{ZONE_NAME}-country-us-session-{session_id}"

Rotation across many requests — give each request its own session ID:

python
import secrets, requests

def proxy_for_request():
    sid = secrets.token_hex(8)
    user = f"brd-customer-{CUSTOMER_ID}-zone-{ZONE_NAME}-session-{sid}"
    url = f"http://{user}:{ZONE_PASSWORD}@brd.superproxy.io:33335"
    return {"http": url, "https": url}

for target in targets:
    requests.get(target, proxies=proxy_for_request(), verify=CA_PATH, timeout=30)
Node.js — undici / fetch (Node 18+)
js
import { fetch, ProxyAgent } from 'undici';

const CUSTOMER_ID = 'your_customer_id';
const ZONE_NAME = 'your_zone_name';
const ZONE_PASSWORD = 'your_zone_password';

const proxyUser = `brd-customer-${CUSTOMER_ID}-zone-${ZONE_NAME}`;
const proxyUrl = `http://${proxyUser}:${ZONE_PASSWORD}@brd.superproxy.io:33335`;

const agent = new ProxyAgent(proxyUrl);

const res = await fetch('https://geo.brdtest.com/mygeo.json', { dispatcher: agent });
console.log(await res.json());

For CA verification on Node, set NODE_EXTRA_CA_CERTS=/path/to/brightdata_proxy_ca.crt in the environment, or pass a custom Agent with ca set. To bypass cert checks (last resort): NODE_TLS_REJECT_UNAUTHORIZED=0.

Node.js — axios with https-proxy-agent
js
import axios from 'axios';
import { HttpsProxyAgent } from 'https-proxy-agent';

const proxyUrl = `http://brd-customer-${CUSTOMER_ID}-zone-${ZONE_NAME}:${ZONE_PASSWORD}@brd.superproxy.io:33335`;
const agent = new HttpsProxyAgent(proxyUrl);

const res = await axios.get('https://geo.brdtest.com/mygeo.json', {
  httpAgent: agent,
  httpsAgent: agent,
  proxy: false, // important: tell axios to use our agent, not its own proxy logic
});
console.log(res.data);

For framework integrations (Playwright, Puppeteer, Selenium, Scrapy, httpx, aiohttp) and additional patterns, see references/code-templates.md.


Show full SKILL.md (928 more words)Show less

Residential & Mobile network access

Residential and Mobile have a network access policy that Datacenter and ISP don't. The user must pick one of these three before requests will succeed against arbitrary HTTPS targets:

  1. Use the Bright Data CA certificate (preferred — what most users should do). The cert is already bundled in this skill at assets/brightdata_proxy_ca.crt. Two ways to apply it:
    • Load it in code for each request (no system install needed). For Python requests: verify="./assets/brightdata_proxy_ca.crt". For cURL: --cacert ./assets/brightdata_proxy_ca.crt. For Node: set NODE_EXTRA_CA_CERTS=./assets/brightdata_proxy_ca.crt env var or pass a custom Agent with ca. This is the cleanest path and what we recommend by default in generated code.
    • System-install the cert (Windows / macOS Keychain / Linux update-ca-certificates / iOS / Android). Needed when using third-party tools that don't expose a CA-cert option. Copy the bundled assets/brightdata_proxy_ca.crt to the appropriate trust store, restart the app afterward. Public mirror at https://brightdata.com/static/brightdata_proxy_ca.zip if the user prefers to grab it independently.
  2. KYC verification. Submit identity verification in the Bright Data control panel. After approval, the cert is no longer required for native proxy access.
  3. Ignore SSL errors (last resort, not recommended for production). In Python: requests.get(..., verify=False). In Node: rejectUnauthorized: false or NODE_TLS_REJECT_UNAUTHORIZED=0. In cURL: -k. This works but loses end-to-end encryption guarantees against MITM — fine for throwaway testing, bad for anything handling credentials or PII.

Generated code for Residential/Mobile should default to path 1a (load CA in code) with the cert path as a placeholder the user fills in. Mention path 2 and 3 as alternatives, briefly.

For Datacenter and ISP, none of this is required — they don't enforce the network access policy.


Testing & debugging

Before scraping a real target, confirm the proxy works. Two bundled tools cover this end-to-end:

1. Command-line smoke test — scripts/smoke_test.sh:

bash
./scripts/smoke_test.sh CUSTOMER_ID ZONE_NAME ZONE_PASSWORD
# with optional country and sticky session:
./scripts/smoke_test.sh CUSTOMER_ID ZONE_NAME ZONE_PASSWORD us my-session-1

# or via env vars:
BD_CUSTOMER_ID=xxx BD_ZONE=yyy BD_PASSWORD=zzz ./scripts/smoke_test.sh

It hits geo.brdtest.com/mygeo.json through the zone and returns the parsed JSON (IP, country, city, ASN). Exit codes distinguish auth failure (2) from HTTP error (3), so it's also fine to script around.

2. Browser diagnostic — scripts/proxy_tester.html:

Open the file in a browser. It continuously polls the geo endpoint and displays exit IP/country/city/ASN. Fill in your zone credentials and it generates the exact proxy config string to paste into your browser or OS proxy settings. The "Save as baseline" button captures your pre-proxy IP so you can visually confirm the proxy is active (the status flips to green and shows the before→after change). Useful when explaining to teammates that the proxy is working, or for debugging "is my browser actually going through the proxy" questions.

For ad-hoc one-liners, the raw cURL works too:

bash
curl --proxy brd.superproxy.io:33335 \
  --proxy-user 'brd-customer-CUSTOMER_ID-zone-ZONE_NAME:ZONE_PASSWORD' \
  --cacert ./assets/brightdata_proxy_ca.crt \
  'https://geo.brdtest.com/mygeo.json'

Expected: JSON with ip, country, asn, geo. If you see this, auth and routing are working. Do not test against Google, Bing, or other search engines directly — Bright Data blocks direct search-engine access on the proxy networks. Use the SERP API for that.

Common errors and what they mean (high-signal subset):

  • 407 Proxy Authentication Required: wrong username structure or wrong zone password. Double-check brd-customer- prefix and -zone- segment. The customer ID is from the control panel, not your email.
  • 502 "no peer available": usually from -const or -ip- to an IP that's offline. Drop -const or pick a different IP.
  • 403 from the destination (not from Bright Data): the destination blocked the proxy IP. Try Residential, add a sticky session, slow down request rate, or use Web Unlocker API.
  • TLS / certificate errors on Residential/Mobile: you skipped the network-access setup. Install the cert (or load it in code), or fall back to verify=False for the moment.
  • Targeting silently ignored on DC/ISP: you used -city- or -state- on a DC/ISP zone. They only honor -country-.

For any specific Bright Data error code not covered above, look it up in the full catalog: https://docs.brightdata.com/proxy-networks/errorCatalog. Inspect the response headers for the precise code — Bright Data is transitioning from the legacy x-brd-err-code header to the RFC 9209 standard Proxy-Status header, so generated debugging code should check both. Codes follow a category_number shape that tells you which layer failed at a glance: client_* (auth or request shape, e.g. client_10000), policy_* (Bright Data policy block, e.g. policy_20050), target_* (destination-side failure, e.g. target_40011), and the like.


When the user hasn't set up a zone yet

Don't try to script the control-panel flow or call account-management APIs to create zones for them — those flows are interactive and account-specific. Instead, say:

Sign up at https://brightdata.com (new accounts get $2 trial credit for 7 days, plus a $5 bonus for 30 days after adding a payment method — note proxy products are billed separately and are not covered by the monthly free credits). Once you're in, click Proxies & Scraping → Add and the in-app helper will walk you through choosing the network, the pool type, and naming the zone. When it finishes, copy the customer ID, zone name, and zone password from the zone's overview page and paste them in here — I'll generate the code.

The control panel's proxy_examples page (https://brightdata.com/cp/zones/proxy_examples) also has live, account-specific snippets for many languages and frameworks — use it as a sanity check if anything in this skill seems out of date.


Reference files

  • references/code-templates.md — full working code for Playwright, Puppeteer, Selenium (modern auth-extension approach + SeleniumWire fallback), Scrapy, httpx, aiohttp, and a few language variants. Read this when the user asks about a specific framework that isn't covered above.
  • references/troubleshooting.md — extended error catalog and debugging recipes. Read when the user reports an error or unexpected behavior.
  • assets/brightdata_proxy_ca.crt — Bright Data Proxy Root CA (port 33335, expires Sept 2034). Reference this path in any generated code that uses Residential or Mobile zones.
  • scripts/smoke_test.sh — cURL credential smoke test (see Testing section).
  • scripts/proxy_tester.html — single-file browser diagnostic (see Testing section).

© brightdata, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (scripts, references, assets) in skills/proxy of brightdata/skills.

  • SKILL.md
  • assets/brightdata_proxy_ca.crt
  • references/code-templates.md
  • references/troubleshooting.md
  • scripts/smoke_test.sh

Open the folder on GitHubat commit 81f51af

Compare with similar skills

Brightdata Proxy next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Brightdata Proxy compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Brightdata Proxy this skillbrightdata/skills264—~5.1kAutomated safety check: PassMIT
Open BrowserJasonHonKL/Openbrowser114—~1.6kAutomated safety check: PassMIT
Browser Automationynulihao/AgentSkillOS617—~2.2kAutomated safety check: PassNone
RStudio Selenium to Playwright Migrationrstudio/rstudio5.1k—~3.6kAutomated safety check: PassCustom licence
Python Executorcortega26/chile-hub1132 repos~1.5kAutomated safety check: PassMIT
Playwright Stealth Verifyliarjsdev/liarjs-skills5181 repos~1.3kAutomated safety check: NotesMIT

Similar skills

  • Open Browser

    JasonHonKL/Openbrowser

    A skill your agent uses whenever the task involves browsing web pages, extracting page content, clicking forms, or completing web workflows.

    114 GitHub stars~1.6k tokensUpdated 5 mo ago
    Testing & QAAuto-check passed
  • Browser Automation

    ynulihao/AgentSkillOS

    Non-testing browser automation - web scraping, form filling, screenshot capture, PDF generation, workflow automation.

    617 GitHub stars~2.2k tokensUpdated 7 mo ago
    Productivity & AutomationAuto-check passed
  • Converts RStudio Python Selenium electron tests into TypeScript Playwright tests, checking each against a live RStudio before counting it as migrated.

    5.1k GitHub stars~3.6k tokensUpdated today
    Testing & QAAuto-check passed
  • Python Executor

    cortega26/chile-hub

    Execute Python code in a safe sandboxed environment via [inference.sh](https://inference.sh).

    113 GitHub starsUsed in 2 repos~1.5k tokens
    Data & AnalyticsAuto-check passed
  • Playwright Stealth Verify

    liarjsdev/liarjs-skills

    Check whether a Playwright, Puppeteer, Selenium or CDP-driven browser presents a coherent fingerprint, using liarjs as a library against a Page you already have - navigator.webdriver, HeadlessChrome…

    518 GitHub starsUsed in 1 repo~1.3k tokens
    Testing & QAAuto-check: notes
  • Anti Detect Browser

    antibrow/anti-detect-browser-skills

    Drive Chromium from standard Playwright APIs with a real-device fingerprint applied in the kernel, one persistent isolated profile per identity, and a per-profile proxy whose exit IP sets timezone…

    932 GitHub stars~9.8k tokensUpdated 1 mo ago
    Testing & QAAuto-check: warnings

More from brightdata/skills

All 14 skills in this repo
  • Design Mirror

    brightdata/skills

    Replicate the visual style of any website and apply it to your existing codebase.

    264 GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check passed
  • Bright Data MCP

    brightdata/skills

    Bright Data MCP handles ALL web data operations. An agent skill from brightdata/skills.

    264 GitHub starsUsed in 1 repo~3.7k tokens
    Auto-check passed
  • Live Research

    brightdata/skills

    Produce a deep, multi-source, cited research brief on a topic from live web data using Bright Data's Discover API (intent-ranked web search + parsed page content).

    264 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Brightdata SDK JS

    brightdata/skills

    Web data extraction and discovery using the Bright Data JavaScript/TypeScript SDK (@brightdata/sdk).

    264 GitHub stars~3k tokensUpdated yesterday
    Auto-check passed
  • Data Feeds

    brightdata/skills

    Extract structured data from 40+ supported platforms (Amazon, LinkedIn, Instagram, TikTok, Facebook, YouTube, Reddit, and more) via the Bright Data CLI (bdata pipelines).

    264 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Discover API

    brightdata/skills

    Use Bright Data's Discover API — intent-ranked, AI-relevance-scored web search at scale (not keyword SERP).

    264 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Brightdata Proxy

What does Brightdata Proxy do?

Generate working code that routes HTTP requests through Bright Data proxy networks (Datacenter, ISP, Residential, Mobile) and help users decide which network and IP pool type to use (shared pool…. Brightdata Proxy is an agent skill from brightdata/skills. Generate working code that routes HTTP requests through Bright Data proxy networks (Datacenter, ISP, Residential, Mobile) and help users decide which network and IP pool type to use (shared pool, shared IPs, or dedicated IPs).

When should I use Brightdata Proxy?

Brightdata Proxy fits situations like: the user mentions Bright Data; brd.superproxy.io; geo.brdtest.com; A brd-customer- proxy username.

How do I install Brightdata Proxy in Claude Code?

Run `npx skills add brightdata/skills --skill brightdata-proxy -a claude-code`. Or copy the skill folder (skills/proxy in brightdata/skills) into .claude/skills/brightdata-proxy in your project. Claude Code loads it when a task matches its description.

How do I install Brightdata Proxy in Codex?

Run `npx skills add brightdata/skills --skill brightdata-proxy -a codex`. Or copy the skill folder (skills/proxy in brightdata/skills) into .agents/skills/brightdata-proxy in your project. Codex loads it when a task matches its description.

Can I use Brightdata Proxy in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add brightdata/skills --skill brightdata-proxy -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/brightdata-proxy, .gemini/skills/brightdata-proxy, .github/skills/brightdata-proxy and .opencode/skills/brightdata-proxy in your project.

What does Brightdata Proxy need to run?

Going by SKILL.md and its folder, Brightdata Proxy needs a shell for the scripts in its folder, the command-line tools its instructions call (curl) and credentials named ZONE_PASSWORD and BD_PASSWORD. Our summary lists: Python 3; Node.js; A Bash shell.

Does Brightdata Proxy access the network?

SKILL.md names 4 domains. In commands or code: geo.brdtest.com, brightdata.com and brd.superproxy.io; the agent is likely to contact these when it follows the instructions. As links in the text: docs.brightdata.com. This is read from the text; nothing was executed.

Is Brightdata Proxy safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Brightdata Proxy use?

Brightdata Proxy is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Brightdata Proxy use?

About 5.1k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.5k tokens, read only when the agent opens those files.

What are the alternatives to Brightdata Proxy?

Skills that share tags, products or a category with Brightdata Proxy: Open Browser (JasonHonKL/Openbrowser, 114 stars), Browser Automation (ynulihao/AgentSkillOS, 617 stars), RStudio Selenium to Playwright Migration (rstudio/rstudio, 5.1k stars) and Python Executor (cortega26/chile-hub, 113 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Brightdata Proxy?

brightdata (a GitHub organization) maintains it in brightdata/skills, which has 264 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 7, 2026.

Source: brightdata/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.