Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
brightdata avatar

Search

  • 8 installs
  • 240 repo stars
  • Updated June 25, 2026
  • brightdata/brightdata-plugin

This is a copy of search by brightdata - installs and ranking accrue to the original listing.

search is a Bright Data CLI skill that runs Google/Bing/Yandex keyword SERP (bdata search) and intent-ranked semantic discovery (bdata discover) from the terminal.

About

search wraps the Bright Data CLI to run web search from the terminal. bdata search returns Google, Bing, or Yandex SERP results and bdata discover returns intent-ranked semantic results with optional page content. A developer uses it to find what ranks for a keyword or to gather URLs to feed into scraping, with geo, device, and vertical targeting. It requires the Bright Data CLI and guides install and login if missing.

  • Runs Google/Bing/Yandex keyword SERP via bdata search and intent-ranked discovery via bdata discover
  • Supports geo/device/vertical targeting (--country, --device, --type news/images/shopping) and page content in one pass
  • Includes a JSON verification gate and hands off chosen URLs to a scrape skill

Search by the numbers

  • 8 all-time installs (skills.sh)
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
At a glance

search capabilities & compatibility

Requires a Bright Data account and CLI login (bdata login); usage is billed by Bright Data.

Capabilities
web search · serp · semantic discovery
Works with
chrome
Use cases
web search · research · web scraping · seo
Runs
Runs locally
Pricing
Bring your own API key
From the docs

What search says it does

Search the web via the Bright Data CLI — `bdata search` for Google/Bing/Yandex SERP, `bdata discover` for intent-ranked semantic results.
SKILL.md
Assuming SERP results are at `.results[]` — for `bdata search` they live at `.organic[]`. (Discover uses `.results[]`.)
SKILL.md
npx skills add https://github.com/brightdata/brightdata-plugin --skill search

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs8
repo stars240
Last updatedJune 25, 2026
Repositorybrightdata/brightdata-plugin

What it does

Run keyword SERP or intent-ranked web discovery via the Bright Data CLI to gather URLs and results.

Who is it for?

Developers who need SERP results or semantic web discovery to feed a scraping pipeline.

Skip if: Extracting structured platform data (Amazon, LinkedIn, TikTok), which the skill routes to data-feeds instead.

When should I use this skill?

The user wants SERP results, needs URLs to feed into scraping, or wants semantic web discovery.

What you get

Structured JSON SERP or discovery results with titles and links, ready to filter and hand off to a scraper.

  • Structured JSON SERP results (.organic[])
  • Intent-ranked discovery results (.results[]) with optional page content

By the numbers

  • 3 search engines (Google/Bing/Yandex)
  • 2 commands (search and discover)
  • ~10 results per SERP page

Files

SKILL.mdMarkdownGitHub ↗

Bright Data — Search

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)

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:

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

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.

Related skills

FAQ

What is the difference between search and discover?

bdata search returns keyword SERP (what Google ranks for a keyword); bdata discover returns intent-ranked semantic results with optional page content.

Where do results live in the JSON?

For bdata search results are at .organic[]; for bdata discover they are at .results[].

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.