agent-onboarding
Onboard an agent to Bright Data. Use when a coding agent first encounters Bright Data — for…
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
$ npx -y skills add brightdata/skills --skill search --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/searchContext preview
The summary Claude sees to decide when to auto-load this skill.
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
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:
For structured data from a known platform (Amazon, LinkedIn, TikTok, …), **stop and use `data-feeds` instead**.
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)"
fiHalt and route to `skills/bright-data-best-practices/references/cli-setup.md` if either check fails.
| Situation | Action | |---|---| | Single keyword query, just SERP | `bdata search "<query>" --engine google --json --pretty` | | Paginated SERP (more results) | loop `--page 0`, `--page 1`, … (0-indexed) | | Multiple queries | shell 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 pass | `bdata discover ... --include-content` | | News / images / shopping SERP | `bdata search "<query>" --type news` (or `images`, `shopping`) | | Want Amazon/LinkedIn/TikTok/… structured data | **stop — hand off to `data-feeds`** | | Have URLs, want content | **hand off to `scrape`** |
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 20Full flag reference: [`references/flags.md`](references/flags.md).
| You want | Use | |---|---| | "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` |
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:**
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 `--country` and `--language`.
Repo: brightdata/skills
Onboard an agent to Bright Data. Use when a coding agent first encounters Bright Data — for…
Social listening and brand reputation research using Bright Data's web scraping…
Debug Bright Data Scraping Browser sessions using the Browser Sessions API. Use this skill…
Build production-ready Bright Data integrations with best practices baked in. Reference…
Bright Data MCP handles ALL web data operations. Replaces WebFetch, WebSearch, and all…
Guide for using the Bright Data CLI (`brightdata` / `bdata`) to scrape websites, search the…