Agent skill

Search

by brightdata in brightdata/skills

Search the web via the Bright Data CLI — bdata search for Google/Bing/Yandex SERP, bdata discover for intent-ranked semantic results.

MITAuto-check passedData & Analytics

Install Search

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

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

GitHub CLI
$ gh skill install brightdata/skills search --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/search .claude/skills/search && 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
search
GitHub stars
264
Token cost
~1.5k tokens
SKILL.md length
508 words
Files
4 (incl. references)
Skills in repo
14
Repo updated
First seen
Licence
MIT

At a glance

Search the web via the Bright Data CLI — bdata search for Google/Bing/Yandex SERP, bdata discover for intent-ranked semantic results.

  • Works in 5 steps: JSON parses cleanly: jq . returns 0. → Result array non-empty — if empty, the… → Required fields present → …
  • The user wants SERP results
  • SKILL.md covers Setup gate (run first), Pick your path, Action and Verification gate, plus 2 more sections
  • Calls jq and just

What it does

Search is an agent skill from brightdata/skills. Search the web via the Bright Data CLI — bdata search for Google/Bing/Yandex SERP, bdata discover for intent-ranked semantic results. Use when the user wants SERP results, needs URLs to feed into scraping, or wants semantic web discovery with optional page content. Hands off to scrape once target URLs are chosen, and to data-feeds when the user wants structured data from a known platform. Requires the Bright Data CLI; proactively guides install + login if missing.

Its SKILL.md is about 1.5k 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, Web search and Schema markup. It works with Bright Data. The licence is MIT.

When your agent uses it

  • The user wants SERP results
  • Needs URLs to feed into scraping
  • Wants semantic web discovery with optional page content
  • Wants structured data from a known platform

Example prompts

  • “/search”

Workflow steps

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

  1. JSON parses cleanly: jq . returns 0.
  2. Result array non-empty — if empty, the query is legitimately zero-result; relax the query and re-run. Don't claim success on empty results…
  3. Required fields present
  4. For discover --include-content: no block-page signatures in the content field (same list as scrape, case-insensitive)
  5. Geo sanity: if the user expected country-specific results, inspect TLDs / languages of top results. If mis-localized, re-run with explicit…

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

    Shell commands in SKILL.md call:

    • jq
    • just

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

  • Network

    No URLs in SKILL.md.

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

  • Credentials

    Names no API keys, tokens, secrets or passwords.

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

Context cost

Search loads about 1.5k tokens when it runs, and up to ~4.3k if it reads all its reference files. Until then it costs about 121 tokens; SKILL.md has 508 words of instructions outside code blocks.

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

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from brightdata/skills at commit 81f51af, republished under its MIT licence (© brightdata). 508 words, ~1,478 tokens.

Download SKILL.mdSave it as .claude/skills/search/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
search
description
Search the web via the Bright Data CLI — `bdata search` for Google/Bing/Yandex SERP, `bdata discover` for intent-ranked semantic results. Use when the user wants SERP results, needs URLs to feed into scraping, or wants semantic web discovery with optional page content. Hands off to `scrape` once target URLs are chosen, and to `data-feeds` when the user wants structured data from a known platform. Requires the Bright Data CLI; proactively guides install + login if missing.

Find things on the web. Two commands live in this skill:

  • bdata search — classic keyword SERP (Google/Bing/Yandex). Best when you want "what ranks for keyword X."
  • bdata discover — AI intent-ranked discovery with optional page content. Best when you want "pages about topic Y that match intent Z."

For structured data from a known platform (Amazon, LinkedIn, TikTok, …), stop and use data-feeds instead.

Setup gate (run first)

bash
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)"
fi

Halt and route to skills/bright-data-best-practices/references/cli-setup.md if either check fails.

Pick your path

SituationAction
Single keyword query, just SERPbdata search "<query>" --engine google --json --pretty
Paginated SERP (more results)loop --page 0, --page 1, … (0-indexed)
Multiple queriesshell loop over a queries file
Intent-ranked / semantic (not keyword)bdata discover "<query>" --intent "<intent>" --num-results 20
Want page bodies along with results, one passbdata discover ... --include-content
News / images / shopping SERPbdata search "<query>" --type news (or images, shopping)
Want Amazon/LinkedIn/TikTok/… structured datastop — hand off to data-feeds
Have URLs, want contenthand off to scrape

Action

Core commands:

bash
# Google SERP, structured JSON
bdata search "site:example.com privacy policy" --engine google --json --pretty

# Localized Bing (German results, German language)
bdata search "datenschutz" --engine bing --country de --language de --json

# Second page of results (0-indexed)
bdata search "machine learning papers" --page 1 --json

# Mobile SERP (rankings differ from desktop)
bdata search "best coffee shops" --device mobile --json

# News vertical
bdata search "openai" --type news --json --pretty

# Intent-ranked discovery
bdata discover "enterprise LLM platforms" \
    --intent "vendor pages with pricing" \
    --num-results 15 --json

# Discovery with page content in markdown
bdata discover "webhook best practices" \
    --include-content --num-results 10 -o results.json

# Date-filtered discovery
bdata discover "react server components" \
    --start-date 2025-01-01 --end-date 2025-12-31 --num-results 20

Full flag reference: references/flags.md.

search vs discover — pick the right one
You wantUse
"What Google ranks for this exact keyword"search
"Pages that match this meaning/intent"discover
"News / images / shopping vertical SERP"search --type <vertical>
"Results + page bodies in one call"discover --include-content
"Dedup / semantic ranking across queries"discover

Verification gate

  1. JSON parses cleanly: jq . <output> returns 0.
  2. Result array non-empty — if empty, the query is legitimately zero-result; relax the query and re-run. Don't claim success on empty results without telling the user.
  3. Required fields present:
    • search: results live at .organic[]; each has title + link
    • discover: results live at .results[]; each has title + link; if --include-content, also content
  4. For discover --include-content: no block-page signatures in the content field (same list as scrape, case-insensitive):
    • Access Denied
    • Just a moment
    • Attention Required
    • Checking your browser
    • captcha
    • cf-browser-verification
    • cloudflare (with < 2KB total body)
  5. Geo sanity: if the user expected country-specific results, inspect TLDs / languages of top results. If mis-localized, re-run with explicit --country and --language.
Show full SKILL.md (173 more words)Show less

Red flags

  • Using search to fetch content from Amazon, LinkedIn, TikTok, etc. when data-feeds returns clean structured data in one call.
  • Scraping every SERP result blindly — filter first (domain allowlist, keyword in title, relevance heuristic).
  • Confusing search (keyword) with discover (semantic). They answer different questions.
  • Running multiple queries without deduping URLs across result sets before scraping.
  • Assuming SERP order is universal — it's personalized by geo + device. Always set --country and --device explicitly for reproducibility.
  • Using --page as a result count — it's a page index, not a limit. Each page returns ~10 results.
  • Assuming SERP results are at .results[] — for bdata search they live at .organic[]. (Discover uses .results[].)
  • Hardcoding --num-results 100 on discover without realizing the pipeline polls until that many are found; can be slow.

References

  • references/flags.md — full flags for search and discover with when-to-use notes.
  • references/patterns.md — multi-query dedup, SERP → filter → scrape pipeline, search vs discover decision, legacy curl fallback, shared verification checklist.
  • references/examples.md — (1) single Google query, (2) localized Bing, (3) batch queries + dedup into URL list, (4) discover --include-content end-to-end.

© 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 3 other files (references) in skills/search of brightdata/skills.

  • SKILL.md
  • references/examples.md
  • references/flags.md
  • references/patterns.md

Open the folder on GitHubat commit 81f51af

Compare with similar skills

Search 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.

Search compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Search this skillbrightdata/skills264—~1.5kAutomated safety check: PassMIT
Agent Readiness Auditindranilbanerjee/digital-marketing-pro8551 repos~3.9kAutomated safety check: PassMIT
Serpersundial-org/awesome-openclaw-skills663—~1.6kAutomated safety check: NotesNone
Axyusukebe/ax7191 repos~918Automated safety check: PassMIT
Meowhub Browserzhaojiaqi/MeowHub111—~1.6kAutomated safety check: PassGPL-3.0
Scrapingbee CLIScrapingBee/scrapingbee-cli108—~3.2kAutomated safety check: NotesMIT

Similar skills

  • Agent Readiness Audit

    indranilbanerjee/digital-marketing-pro

    Audit whether AI agents and AI crawlers can actually use a site — robots.txt rules per AI crawler token (OpenAI, Anthropic and Perplexity bots, Google-Extended, Applebot-Extended)…

    855 GitHub starsUsed in 1 repo~3.9k tokens
    Data & AnalyticsAuto-check passed
  • Serper

    sundial-org/awesome-openclaw-skills

    Google search via Serper API with full page content extraction.

    663 GitHub stars~1.6k tokensUpdated 7 mo ago
    Productivity & AutomationAuto-check: notes
  • Ax

    yusukebe/ax

    Use the ax CLI instead of curl + throwaway parsing scripts whenever you fetch a URL, explore an unknown web page, or extract structured data from HTML.

    719 GitHub starsUsed in 1 repo~918 tokens
    Data & AnalyticsAuto-check passed
  • Meowhub Browser

    zhaojiaqi/MeowHub

    Browse the web using Browserless.io cloud browser service. An agent skill from zhaojiaqi/MeowHub.

    111 GitHub stars~1.6k tokensUpdated 4 mo ago
    Data & AnalyticsAuto-check passed
  • Scrapingbee CLI

    ScrapingBee/scrapingbee-cli

    Fetch and read any web page, search the web, crawl a site, or pull structured data out of pages.

    108 GitHub stars~3.2k tokensUpdated yesterday
    Productivity & AutomationAuto-check: notes
  • Chatgpt Search

    SeifBenayed/cloclo

    Search ChatGPT and extract the full response + hydration JSON that powers the UI.

    114 GitHub stars~1.7k tokensUpdated 6 mo ago
    Data & AnalyticsAuto-check: notes

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
  • Brightdata Proxy

    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…

    264 GitHub stars~5.1k tokensUpdated yesterday
    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

Works with

Questions about Search

What does Search do?

Search the web via the Bright Data CLI — bdata search for Google/Bing/Yandex SERP, bdata discover for intent-ranked semantic results. Search is an agent skill from brightdata/skills. Search the web via the Bright Data CLI — bdata search for Google/Bing/Yandex SERP, bdata discover for intent-ranked semantic results.

When should I use Search?

Search fits situations like: the user wants SERP results; needs URLs to feed into scraping; wants semantic web discovery with optional page content; wants structured data from a known platform.

How do I install Search in Claude Code?

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

How do I install Search in Codex?

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

Can I use Search 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 search -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/search, .gemini/skills/search, .github/skills/search and .opencode/skills/search in your project.

What does Search need to run?

Going by SKILL.md and its folder, Search needs the command-line tools its instructions call (jq and just).

Does Search access the network?

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.

Is Search 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. Review the folder before installing.

What licence does Search use?

Search 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 Search use?

About 1.5k tokens (SKILL.md is roughly 5.9k 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 2.8k tokens, read only when the agent opens those files.

What are the alternatives to Search?

Skills that share tags, products or a category with Search: Agent Readiness Audit (indranilbanerjee/digital-marketing-pro, 855 stars), Serper (sundial-org/awesome-openclaw-skills, 663 stars), Ax (yusukebe/ax, 719 stars) and Meowhub Browser (zhaojiaqi/MeowHub, 111 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Search?

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.