Scrapecreators API
ScrapeCreators/social-media-research-skills
Scrape and extract public data from 27+ social media platforms using the ScrapeCreators REST API.
Web data extraction and discovery using the Bright Data Python SDK.
$ npx skills add brightdata/skills --skill brightdata-sdk -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install brightdata/skills brightdata-sdk --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/brightdata/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/python-sdk-best-practices .claude/skills/brightdata-sdk && rm -rf skills-srcUse ~/.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/
Install the "brightdata-sdk" agent skill from https://github.com/brightdata/skills/tree/main/skills/python-sdk-best-practices into .claude/skills/brightdata-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brightdata-sdk", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/brightdata/skills/tree/main/skills/python-sdk-best-practicesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add brightdata/skills --skill brightdata-sdk -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install brightdata/skills brightdata-sdk --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/brightdata/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/python-sdk-best-practices .agents/skills/brightdata-sdk && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "brightdata-sdk" agent skill from https://github.com/brightdata/skills/tree/main/skills/python-sdk-best-practices into .agents/skills/brightdata-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brightdata-sdk", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add brightdata/skills --skill brightdata-sdk -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install brightdata/skills brightdata-sdk --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/brightdata/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/python-sdk-best-practices .cursor/skills/brightdata-sdk && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "brightdata-sdk" agent skill from https://github.com/brightdata/skills/tree/main/skills/python-sdk-best-practices into .cursor/skills/brightdata-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brightdata-sdk", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/brightdata/skills.git --path skills/python-sdk-best-practices--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add brightdata/skills --skill brightdata-sdk -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install brightdata/skills brightdata-sdk --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/brightdata/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/python-sdk-best-practices .gemini/skills/brightdata-sdk && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "brightdata-sdk" agent skill from https://github.com/brightdata/skills/tree/main/skills/python-sdk-best-practices into .gemini/skills/brightdata-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brightdata-sdk", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install brightdata/skills brightdata-sdkInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add brightdata/skills --skill brightdata-sdk -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/brightdata/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/python-sdk-best-practices .github/skills/brightdata-sdk && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "brightdata-sdk" agent skill from https://github.com/brightdata/skills/tree/main/skills/python-sdk-best-practices into .github/skills/brightdata-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brightdata-sdk", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add brightdata/skills --skill brightdata-sdk -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install brightdata/skills brightdata-sdk --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/brightdata/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/python-sdk-best-practices .opencode/skills/brightdata-sdk && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "brightdata-sdk" agent skill from https://github.com/brightdata/skills/tree/main/skills/python-sdk-best-practices into .opencode/skills/brightdata-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brightdata-sdk", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
brightdata-sdkWeb data extraction and discovery using the Bright Data Python SDK.
Brightdata SDK is an agent skill from brightdata/skills. Web data extraction and discovery using the Bright Data Python SDK. Use when user asks to "scrape", "get data from", "extract", "search for", or "find" information from websites. Also use when user mentions specific platforms like Amazon, LinkedIn, Instagram, Facebook, TikTok, YouTube, Reddit, Pinterest, Zillow, Crunchbase, or DigiKey, or asks for "bulk data", "historical data", or "dataset". Covers scraping, searching, datasets, and browser automation.
Its SKILL.md is about 5.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/advanced.md`, `references/datasets-overview.md` and `references/scrapers.md`).
It sits in Data & Analytics, covering Web scraping and Browser automation. It works with Bright Data, Python, Pinterest and LinkedIn. The licence is MIT.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 81f51af. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
amazon.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Brightdata SDK loads about 5.2k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 118 tokens; SKILL.md has 2,240 words of instructions outside code blocks.
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.
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); files beside SKILL.md are not scanned.
The full file from brightdata/skills at commit 81f51af, republished under its MIT licence (© brightdata). 2,240 words, ~5,226 tokens.
.claude/skills/brightdata-sdk/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Access web data through a unified Python SDK. One client, eight service categories: platform scraping, platform search, web search (SERP), AI-powered discovery, datasets, web unlocking, browser automation, and scraper studio.
Always use the client as a context manager. In synchronous environments (scripts, notebooks, Claude Code), use SyncBrightDataClient. In async environments, use BrightDataClient. Both use the same method names — the sync client wraps calls automatically. Note: the sync client currently has limited platform coverage — see the sync compatibility note in references/scrapers.md for details. For unsupported platforms or the datasets API, use the async client (BrightDataClient).
Use this decision tree to pick the right service BEFORE reaching for any specific method. Most routing failures come from skipping this step and pattern-matching on user keywords instead.
Have a URL?
├── On a supported platform (Amazon, LinkedIn, Facebook, Instagram, YouTube,
│ TikTok, Reddit, ChatGPT, Perplexity, Pinterest, DigiKey)?
│ → Platform scraping: client.scrape.<platform>.<method>(url=...)
│
├── Generic page (not on any supported platform)?
│ → Web unlocker: client.scrape_url(url=...)
│
└── Need login / JavaScript / click-scroll-fill / CAPTCHA / multi-step navigation?
→ Browser API: client.browser.get_connect_url() (then connect with Playwright)
No URL?
├── Want entities matching natural-language criteria
│ ("find AI startups in Berlin", "competitors of Acme Corp", "people who worked at X")?
│ → Discover: client.discover(query=..., intent=...)
│
├── Want web pages / articles / search-result links
│ ("search Google for X", "find pages about Y")?
│ → SERP: client.search.google(query=...) [or .bing / .yandex]
│
├── Want to search WITHIN a specific platform
│ ("find products on Amazon", "TikTok videos by hashtag", "Pinterest pins about recipes")?
│ → Platform search: client.search.<platform>.<method>(...)
│
└── Want bulk historical data at scale
("all LinkedIn companies in tech", "historical Amazon prices", "every Zillow listing in Texas")?
→ Datasets: client.datasets.<name>(filter=...) (then .download(snapshot_id))Edge cases:
client.scrape_url() (web unlocker).Before claiming any platform method exists, doesn't exist, or asserting a platform isn't supported, you MUST consult references/scrapers.md first. Past evals show the model has hallucinated method names (e.g., client.scrape.linkedin.people — does NOT exist; use .profiles) and falsely claimed platforms unsupported (e.g., Pinterest is supported via both client.scrape.pinterest and client.search.pinterest).
Rule: load references/scrapers.md before naming any specific platform method. The reference file lists every platform, every method signature, and the sync/async availability matrix. Verify, don't assume. If you've already loaded references/scrapers.md in this session, consult what's in context — no need to reload.
Known hallucinations (these names do NOT exist in the SDK — the model has invented them in past evals):
| Hallucinated | Correct replacement |
|---|---|
client.scrape.linkedin.people(...) | client.scrape.linkedin.profiles(url=...) |
client.scrape.instagram.users(...) | client.scrape.instagram.profiles(url=...) |
client.list_datasets() | client.datasets.list() |
asyncio.gather(*[client.scrape.X.<quick>(...) for ...]) | Trigger pattern — see Batch gotcha |
This list grows as new hallucinations are observed in evals. If you're tempted to write a method name that "feels right" but you haven't seen in references/scrapers.md, treat it as a likely hallucination — load the reference and verify.
Methods that don't belong to any specific workflow — easy to overlook because they're not tied to a platform or a routing decision. The model has hallucinated some of these (client.list_datasets() instead of client.datasets.list()); use the canonical names below.
| Method | What it does |
|---|---|
client.datasets.list() | List all 310+ datasets at runtime. Do NOT use dir() or introspection — use this method. |
client.discover(query=, intent=) | AI-ranked entity search (companies, people, products). See Service Selection above. |
client.scrape_url(url=...) | Web unlocker for any URL. Use for sites without a dedicated platform scraper. |
client.browser.get_connect_url() | CDP WebSocket URL for Playwright / Puppeteer / Selenium. |
client.list_zones() | List active Bright Data zones. |
client.delete_zone(name) | Remove a zone. |
client.test_connection() | Verify the API token works. |
client.get_account_info() | Usage, quotas, active zones. |
If the user wants to know what's available or asks "what can this do?", describe these 8 categories. Each follows the template: Name — what it does — example invocation — when to use.
Platform scraping — extract structured data from 11 supported platforms by URL. client.scrape.<platform>.<method>(url=...) (platforms: Amazon, LinkedIn, Facebook, Instagram, YouTube, TikTok, Reddit, ChatGPT, Perplexity, Pinterest, DigiKey). Use when the user has a URL on a supported platform and wants structured fields (price, profile data, post engagement, etc.).
Platform search — search within a specific platform by keyword/profile/filter. client.search.<platform>.<method>(...). Use for "find products on Amazon by keyword", "discover TikTok videos by hashtag", "find Pinterest pins about recipes" — i.e., the user wants to search WITHIN a platform but doesn't have a specific URL.
Web search (SERP) — get structured search engine results (titles, links, snippets, rankings). client.search.google(query=...) (or .bing / .yandex). Use for "search Google for X", "find pages/articles about Y", "look up news on Z" — i.e., the user wants web pages, not entities.
Discover (AI-powered) — client.discover(query=..., intent=...) to find entities (companies, people, products, places) matching natural-language criteria. Use for "find AI startups in Berlin", "competitors of Acme Corp", "people who worked at Stripe", "research the SaaS pricing landscape" — i.e., the user wants a list of entities matching a description, not web pages.
Datasets — access 310+ pre-built datasets with historical/bulk data at scale. client.datasets.<name>(filter=...) (then .download(snapshot_id)). Use for "bulk LinkedIn company data", "historical Amazon prices for electronics", "all Zillow listings in Texas" — i.e., the user wants many records at once, not live data on one page.
Web unlocker — scrape any URL with anti-bot bypass for sites without a dedicated platform scraper. client.scrape_url(url=...). Use when the URL is on a generic website (no dedicated scraper) or as fallback when a platform scraper returns 403/blocked.
Browser API — connect to a remote browser via CDP (Chrome DevTools Protocol) for real-browser interaction. client.browser.get_connect_url() (then connect with Playwright/Puppeteer). Use for login flows, JavaScript-heavy single-page apps, click/scroll/fill interactions, CAPTCHA — i.e., anything requiring a real browser session. Most expensive option; use only when simpler methods can't accomplish the task.
Scraper Studio — run pre-built or custom scraping templates configured in the Bright Data dashboard. client.scraper_studio.run(collector="c_xxx", input={...}). Use when the user provides a collector ID for a template not covered by platform scrapers.
Offer to load the relevant reference file for details on any category.
The user has a URL and wants structured data from it.
If the URL is from a supported platform (Amazon, LinkedIn, Facebook, Instagram, YouTube, TikTok, Reddit, ChatGPT, Perplexity, Pinterest, DigiKey — see references/scrapers.md for the full list and available methods):
client.scrape.<platform>.<method>(url=...)references/scrapers.md for available methods per platformIf the URL is from an unsupported platform or a generic website:
client.scrape_url(url=...) for raw page data with anti-bot bypassreferences/advanced.md for web unlocker optionsIf the user has MULTIPLE URLs (batch):
_trigger suffix) to avoid sequential blockingjob.wait() and job.to_result()references/advanced.md for batch execution patternsThe user wants to find information but doesn't have a starting URL.
For web search results (links, snippets, rankings):
client.search.google(query=...), client.search.bing(query=...), or client.search.yandex(query=...)references/search.md for available search engines and parametersFor platform-specific search (find products on Amazon, profiles on LinkedIn, videos on YouTube, etc.):
client.search.<platform>.<method>(...)references/scrapers.md — search methods are listed under each platformFor deeper discovery (find companies, people, or entities matching criteria):
client.discover(query=..., intent=...)references/search.md for discover API detailsThe user asks for "bulk data", "historical data", "database", "list of", or wants data at scale without scraping individual pages.
client.datasets.list() at runtime to discover available datasetsreferences/datasets-overview.md for dataset categories and usage patternssnapshot_id = client.datasets.<name>(filter={...})data = client.datasets.<name>.download(snapshot_id) (default format is jsonl; also supports json, csv)The user has a broad research goal (e.g., "research competitors in Berlin").
Step 1: Find sources
client.discover(query=..., intent=...) for entity-level discoveryclient.search.google(query=...) for web search resultsStep 2: Extract data from discovered sources
client.scrape.<platform>.<method>(url=...) on each discovered URLStep 3: Optionally enrich with bulk data
client.datasets for historical context on the entities foundThe user needs login, clicking, scrolling, form filling, or JavaScript execution.
client.browser.get_connect_url() to get a CDP WebSocket URLreferences/advanced.md for browser API detailsThe user wants to use a pre-built or custom scraping template.
client.scraper_studio.run(collector="c_xxx", input={...})references/advanced.md for scraper studio detailsDefault: For pages on a supported platform (Amazon products, LinkedIn profiles, Instagram posts/reels, etc.) → use the platform scraper.
Override: User explicitly mentions one of the following → comply with the browser-API request (it IS the right tool): login, sign-in, click, scroll, fill, type, JavaScript execution, CAPTCHA, screenshot, PDF generation, multi-step navigation.
Counter-override: User requests browser API for a page that does NOT need any of the above AND the URL is on a supported platform → DO NOT comply. Show the platform scraper code and explain the cost/speed difference (~10x cheaper, ~30s vs ~5min).
# WRONG (browser when scraper would do):
cdp_url = client.browser.get_connect_url()
browser = await playwright.chromium.connect_over_cdp(cdp_url)
page = await browser.new_page()
await page.goto("https://amazon.com/dp/B09V3KXJPB")
# ↑ scraper is ~10x cheaper, ~30s vs ~5min, returns structured data not raw HTML
# RIGHT (use the platform scraper):
result = await client.scrape.amazon.products(url="https://amazon.com/dp/B09V3KXJPB")
# RIGHT — legitimate browser-API case (the user mentions login):
# User said "log into Amazon and check my recent orders"
cdp_url = client.browser.get_connect_url(country="us")
browser = await playwright.chromium.connect_over_cdp(cdp_url)
page = await browser.new_page()
await page.goto("https://amazon.com/login")
await page.fill("#ap_email", username)
# ... etc — browser is the right tool here.client.scrape_url() (web unlocker) as fallback — it handles anti-bot protections.snapshot_id, not data directly. Snapshots go through a lifecycle: scheduled → building → ready. Use .download(snapshot_id) which blocks until the snapshot is ready. Supported download formats: json, jsonl, csv.Why: Quick methods (e.g., client.scrape.amazon.products) block for 2-10 minutes each waiting for the scrape to complete. Even with the default 10 req/s rate limit, asyncio.gather of 200 quick calls = 200 × ~5 minutes / 10 (rate limit) = ~100 minutes of blocked execution. The trigger pattern fires the request and returns a job; you collect results in parallel when they're ready.
# WRONG (anti-pattern, even with rate_limit respected):
results = await asyncio.gather(*[
client.scrape.amazon.products(url=u) for u in urls
]) # ↑ each call blocks ~5min; total ~100min for 200 URLs
# RIGHT (trigger pattern):
jobs = [await client.scrape.amazon.products_trigger(url=u) for u in urls]
for job in jobs:
await job.wait(timeout=600)
results = [await job.to_result() for job in jobs]
# ↑ total time ≈ longest single scrape ≈ 5-10 min, regardless of NRate limit (10 req/s default) keeps the trigger fires sequential; the parallelism happens during the wait phase, which is just status polling and is cheap. Do NOT use asyncio.gather to fire triggers in parallel either — you'll hit the rate limiter.
SyncBrightDataClient. In async environments, use BrightDataClient. Both use the SAME method names — the only difference is that async calls need await. Do NOT use _sync suffix methods with SyncBrightDataClient. Note: the sync client has limited platform coverage. Sync scraping supports: Amazon, LinkedIn, Instagram, Facebook, ChatGPT, Pinterest. Sync search supports: Google, Bing, Yandex, Amazon, LinkedIn, Instagram, ChatGPT, Pinterest. For TikTok, YouTube, Reddit, Perplexity, DigiKey scrapers/search and the datasets API, use the async client.client.search.amazon.products()) are different from platform scrapers (e.g., client.scrape.amazon.products()). Search finds items by keyword. Scrape extracts data from a specific URL.Use client.scrape.amazon.reviews(url="<the_url>").
Returns structured review data: rating, text, date, reviewer name.
Quick method — blocks until complete (up to ~4 minutes).
Step 1: client.discover(query="AI startups in Berlin", intent="find technology companies")
Returns a list of matching entities with URLs and metadata.
Step 2: For each result with a URL, optionally scrape deeper data:
client.scrape.linkedin.companies(url=...) or client.scrape_url(url=...).
Step 1: client.datasets.list() to find relevant datasets.
Step 2: Create a filtered snapshot:
snapshot_id = client.datasets.amazon_products(filter={"name": "category", "operator": "=", "value": "Electronics"}, records_limit=1000)
Step 3: Download the data:
data = client.datasets.amazon_products.download(snapshot_id)
Note: Download blocks while the snapshot builds (up to 5 minutes). Default format is jsonl (also supports json, csv). This is historical/bulk data, not live prices. Returns a list of records.
client.scrape_url() (web unlocker) as fallback, or use a different scraper method.client.datasets.list() to see available datasets. Dataset attribute names are snake_case (e.g., amazon_products, linkedin_profiles).ssl_verify=False to the client constructor to skip SSL verification, or use ssl_ca_cert='/path/to/cert.pem' for custom certificate handling.references/scrapers.md when the user mentions Amazon, LinkedIn, Facebook, Instagram, YouTube, TikTok, Reddit, ChatGPT, Perplexity, Pinterest, DigiKey or other specific platforms — to see available scraper methods, search methods, and parameters for that platform.references/search.md when the user asks to "find", "search", "discover", "research", "look up" something without mentioning a specific platform — to see SERP engines and Discover API options.references/datasets-overview.md when the user asks for "bulk data", "historical data", "database", "list of", "dataset" or wants data at scale — to see dataset categories and how to discover specific datasets at runtime.references/advanced.md when the user needs batch processing of multiple URLs, non-blocking execution, browser automation, JavaScript execution, login/session handling, custom scraping templates, or when simpler methods have failed — to see execution patterns, batch workflows, Web Unlocker, Browser API, and Scraper Studio details.© brightdata, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (references) in skills/python-sdk-best-practices of brightdata/skills.
Open the folder on GitHubat commit 81f51af
Brightdata SDK 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Brightdata SDK this skillbrightdata/skills | 264 | — | ~5.2k | Automated safety check: Pass | MIT | |
| Scrapecreators APIScrapeCreators/social-media-research-skills | 3.3k | 1 repos | ~4k | Automated safety check: Notes | MIT | |
| Website Browsing Skills Indexbrowsing-skills/browsing-skills | 116 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Apify Multi-Platform Scraperapify/agent-skills | 2.4k | 2 repos | ~1.4k | Automated safety check: Notes | None | |
| Google Maps Contact Extractbrowser-act/skills | 6.1k | — | ~2.9k | Automated safety check: Pass | MIT | |
| ScraplingTommy-yw/RunbookHermes | 546 | 3 repos | ~2.3k | Automated safety check: Pass | MIT |
ScrapeCreators/social-media-research-skills
Scrape and extract public data from 27+ social media platforms using the ScrapeCreators REST API.
browsing-skills/browsing-skills
Umbrella skill for a library of website-specific browsing skills. Use when the user's request targets one of these specific websites: <!-- DOMAINS:START…
apify/agent-skills
Scrapes public data from social, maps, search and review platforms by choosing from about a hundred Apify Actors and running them through the Apify CLI.
browser-act/skills
Extracts business contact details from Google Maps search results and place detail pages, then visits each business website to collect emails, phone numbers, and social media profiles (Facebook…
Tommy-yw/RunbookHermes
Web scraping with Scrapling - HTTP fetching, stealth browser automation, Cloudflare bypass, and spider crawling via CLI and Python.
davidondrej/skills
Use DeepAPI for all web search, deep research, and web scraping (websites, LinkedIn, GitHub, X/Twitter, YouTube, Instagram) instead of built-in search, research, fetch, or browser tools.
brightdata/skills
Replicate the visual style of any website and apply it to your existing codebase.
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…
brightdata/skills
Bright Data MCP handles ALL web data operations. An agent skill from brightdata/skills.
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).
brightdata/skills
Web data extraction and discovery using the Bright Data JavaScript/TypeScript SDK (@brightdata/sdk).
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).
Web data extraction and discovery using the Bright Data Python SDK. Brightdata SDK is an agent skill from brightdata/skills. Web data extraction and discovery using the Bright Data Python SDK.
Brightdata SDK fits situations like: user asks to scrape; find information from websites; user mentions specific platforms like Amazon; asks for bulk data.
Run `npx skills add brightdata/skills --skill brightdata-sdk -a claude-code`. Or copy the skill folder (skills/python-sdk-best-practices in brightdata/skills) into .claude/skills/brightdata-sdk in your project. Claude Code loads it when a task matches its description.
Run `npx skills add brightdata/skills --skill brightdata-sdk -a codex`. Or copy the skill folder (skills/python-sdk-best-practices in brightdata/skills) into .agents/skills/brightdata-sdk in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add brightdata/skills --skill brightdata-sdk -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-sdk, .gemini/skills/brightdata-sdk, .github/skills/brightdata-sdk and .opencode/skills/brightdata-sdk in your project.
SKILL.md names no scripts, command-line tools or credentials: Brightdata SDK is instructions for the agent only. Our summary lists: Python 3.
SKILL.md names 1 domain. In commands or code: amazon.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
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. Review the folder before installing.
Brightdata SDK is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.2k tokens (SKILL.md is roughly 21k 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 5.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Brightdata SDK: Scrapecreators API (ScrapeCreators/social-media-research-skills, 3.3k stars), Website Browsing Skills Index (browsing-skills/browsing-skills, 116 stars), Apify Multi-Platform Scraper (apify/agent-skills, 2.4k stars) and Google Maps Contact Extract (browser-act/skills, 6.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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 6, 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.