Apify Multi-Platform Scraper
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.
Scrape web content as clean markdown/HTML/JSON via the Bright Data CLI (bdata scrape).
$ npx skills add brightdata/skills --skill scrape -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install brightdata/skills scrape --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/scrape .claude/skills/scrape && 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 "scrape" agent skill from https://github.com/brightdata/skills/tree/main/skills/scrape into .claude/skills/scrape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scrape", 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/scrapeType 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 scrape -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install brightdata/skills scrape --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/scrape .agents/skills/scrape && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "scrape" agent skill from https://github.com/brightdata/skills/tree/main/skills/scrape into .agents/skills/scrape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scrape", 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 scrape -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install brightdata/skills scrape --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/scrape .cursor/skills/scrape && 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 "scrape" agent skill from https://github.com/brightdata/skills/tree/main/skills/scrape into .cursor/skills/scrape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scrape", 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/scrape--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 scrape -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install brightdata/skills scrape --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/scrape .gemini/skills/scrape && 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 "scrape" agent skill from https://github.com/brightdata/skills/tree/main/skills/scrape into .gemini/skills/scrape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scrape", 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 scrapeInstalls 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 scrape -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/scrape .github/skills/scrape && 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 "scrape" agent skill from https://github.com/brightdata/skills/tree/main/skills/scrape into .github/skills/scrape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scrape", 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 scrape -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 scrape --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/scrape .opencode/skills/scrape && 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 "scrape" agent skill from https://github.com/brightdata/skills/tree/main/skills/scrape into .opencode/skills/scrape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scrape", 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.
scrapeScrape web content as clean markdown/HTML/JSON via the Bright Data CLI (bdata scrape).
Scrape is an agent skill from brightdata/skills. Scrape web content as clean markdown/HTML/JSON via the Bright Data CLI (bdata scrape). Use when the user wants to fetch a page, extract content from a list of URLs, or crawl paginated listings. Hands off to data-feeds for supported platforms (Amazon, LinkedIn, TikTok, Instagram, YouTube, Reddit, etc.) and to search when URLs must be discovered first. Requires the Bright Data CLI; proactively guides install + login if missing.
Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/examples.md`, `references/flags.md` and `references/patterns.md`).
It sits in Data & Analytics, covering Web scraping. It works with Bright Data, LinkedIn, TikTok and Instagram. The licence is MIT.
4 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.
Shell commands in SKILL.md call:
justFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Scrape loads about 1.2k tokens when it runs, and up to ~3.1k if it reads all its reference files. Until then it costs about 111 tokens; SKILL.md has 417 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). 417 words, ~1,157 tokens.
.claude/skills/scrape/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Get clean content (markdown, HTML, JSON, screenshot) from one or more URLs via the Bright Data CLI. This skill owns the "fetch raw or lightly-structured content" job. For platform-specific structured data (Amazon, LinkedIn, TikTok, etc.), stop and use data-feeds instead — you'll get clean JSON without selector logic.
Before any scrape, verify the CLI is installed and authenticated:
if ! command -v bdata >/dev/null 2>&1; then
echo "bdata CLI not installed — see bright-data-best-practices/references/cli-setup.md"
elif ! bdata zones >/dev/null 2>&1; then
echo "bdata not authenticated — run: bdata login (or: bdata login --device for SSH)"
fiIf either check fails, halt and route the user to skills/bright-data-best-practices/references/cli-setup.md. Do not attempt the legacy curl fallback silently — ask the user first.
| Situation | Action |
|---|---|
| Single URL | bdata scrape <url> -f markdown |
| Small list (≤ ~20 URLs) | shell loop, 1 at a time (see references/patterns.md) |
| Larger list (dozens+) | xargs -P 4 with parallelism cap (see references/patterns.md) |
| Paginated listing | scrape page 1 → extract next-page URL → append → repeat (see references/examples.md) |
| JS-heavy / login-gated / interaction-required | escalate to bdata browser (see brightdata-cli skill) |
| Amazon, LinkedIn, TikTok, Instagram, YouTube, Reddit, … | stop — hand off to data-feeds |
| No URL yet, just a topic | hand off to search |
Core commands:
# Clean markdown (default)
bdata scrape "https://example.com/article" -f markdown -o article.md
# Raw HTML (when you need the DOM)
bdata scrape "https://example.com" -f html -o page.html
# Structured JSON (when the Unlocker returns parsed fields)
bdata scrape "https://example.com" -f json --pretty -o page.json
# Visual snapshot (saves PNG)
bdata scrape "https://example.com" -f screenshot -o page.png
# Geo-targeted (override the exit country)
bdata scrape "https://example.com" --country de -f markdown
Full flag reference: references/flags.md.
test -s "$out_path" — or, for stdout, at least 200 bytes of content.Access DeniedJust a momentAttention RequiredChecking your browsercaptchacf-browser-verificationcloudflare (with < 2KB total body)\$\d); an article should contain at least one <h1> or # heading.--country (e.g., --country de if the origin site is US)bdata browser for full JS rendering (hand off to brightdata-cli skill)Do not report success until all checks above pass.
2>/dev/null — you'll miss auth failures and rate-limit errors.bdata scrape on Amazon/LinkedIn/TikTok/Instagram/YouTube/Reddit URLs — these are supported by data-feeds and return structured data directly. Scraping loses the structure.bdata scrape sequentially for large lists instead of using xargs -P 4 (or similar) with a parallelism cap.curl against api.brightdata.com directly — legacy path; only when the CLI isn't available.references/flags.md — every flag with when-to-use notes.references/patterns.md — shell-loop batching, xargs parallelism, pagination recipe, retry/backoff, block-page recovery chain, legacy curl fallback.references/examples.md — (1) single page → markdown, (2) batch a list of URLs with parallelism cap, (3) paginated listing, (4) block-page recovery.© 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 3 other files (references) in skills/scrape of brightdata/skills.
Open the folder on GitHubat commit 81f51af
Scrape 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 |
|---|---|---|---|---|---|---|
| Scrape this skillbrightdata/skills | 264 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Apify Multi-Platform Scraperapify/agent-skills | 2.4k | 2 repos | ~1.4k | Automated safety check: Notes | None | |
| Scrapecreators APIScrapeCreators/social-media-research-skills | 3.3k | 1 repos | ~4k | Automated safety check: Notes | MIT | |
| Google Maps ScraperMahanaicoach/google-maps-scraper-kit | 1.3k | — | ~2.8k | Automated safety check: Pass | MIT | |
| Content Ideasbradautomates/content-ideas | 130 | — | ~5.4k | Automated safety check: Notes | MIT | |
| Business Contact and Social Links Finderbrowser-act/skills | 6.1k | 1 repos | ~1.6k | Automated safety check: Pass | MIT |
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.
ScrapeCreators/social-media-research-skills
Scrape and extract public data from 27+ social media platforms using the ScrapeCreators REST API.
Mahanaicoach/google-maps-scraper-kit
Scrape Google Maps business listings (name, address, phone, website, rating, reviews, lat/lng, hours, emails) via the local gosom google-maps-scraper REST API.
bradautomates/content-ideas
Your For You page for content creators. An agent skill from bradautomates/content-ideas.
browser-act/skills
Finds a company's official website and social profiles from its name, or collects social links from a website URL, using BrowserAct templates run by a Python script.
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…
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).
Categories
Scrape web content as clean markdown/HTML/JSON via the Bright Data CLI (bdata scrape). Scrape is an agent skill from brightdata/skills. Scrape web content as clean markdown/HTML/JSON via the Bright Data CLI (bdata scrape).
Scrape fits situations like: the user wants to fetch a page; extract content from a list of URLs; crawl paginated listings.
Run `npx skills add brightdata/skills --skill scrape -a claude-code`. Or copy the skill folder (skills/scrape in brightdata/skills) into .claude/skills/scrape in your project. Claude Code loads it when a task matches its description.
Run `npx skills add brightdata/skills --skill scrape -a codex`. Or copy the skill folder (skills/scrape in brightdata/skills) into .agents/skills/scrape 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 scrape -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scrape, .gemini/skills/scrape, .github/skills/scrape and .opencode/skills/scrape in your project.
Going by SKILL.md and its folder, Scrape needs the command-line tools its instructions call (just).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Scrape is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.2k tokens (SKILL.md is roughly 4.6k 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 1.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Scrape: Apify Multi-Platform Scraper (apify/agent-skills, 2.4k stars), Scrapecreators API (ScrapeCreators/social-media-research-skills, 3.3k stars), Google Maps Scraper (Mahanaicoach/google-maps-scraper-kit, 1.3k stars) and Content Ideas (bradautomates/content-ideas, 130 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.