← Discover MCPs and Agents
b
AgentAPIs & IntegrationsGitHub

brightdata-hack-pack

Bright Data Hackathon Kit — Code examples, MCP agents, agentic workflows, docs, and starter template for building with Bright Data APIs at hackathons

Links

README

From the repo.

Bright Data

Bright Data Hackathon Kit

Scrape any website. Get any data. Build something amazing.
Your one-stop resource for building with Bright Data at hackathons.

Quick StartMCP & AgentsProductsExamplesShowcaseHelp


Hi, I'm Rafael

I'm a DevRel Engineer at Bright Data. I'm here to help you build!

LinkedIn GitHub


What is Bright Data?

Bright Data gives you tools to collect data from any website without getting blocked. Our APIs handle CAPTCHAs, anti-bot systems, browser fingerprinting, and IP rotation — so you can focus on building your hack, not fighting websites.

Full access to all Bright Data products.


Get Started in 60 Seconds

1. Get your API key

Go to brightdata.com/cp/setting/users and copy your API key.

2. Know your zones

A zone is a configured instance of a Bright Data product. Think of it as a named access point — each product (Web Unlocker, SERP API, Scraping Browser) gets its own zone with its own credentials and settings.

  • Find your zones at brightdata.com/cp/zones
  • Each zone has a name (e.g., web_unlocker1, serp_api1) that you pass in API calls
  • Scraping Browser zones also have a username and password (used for WebSocket auth)
  • When you sign up, default zones are created for you — check your control panel

3. Set your environment variables

export BRIGHTDATA_API_KEY="your_api_key_here"

# Zone names — find yours at brightdata.com/cp/zones
export BRIGHTDATA_UNLOCKER_ZONE="web_unlocker1"     # Web Unlocker zone
export BRIGHTDATA_SERP_ZONE="serp_api1"              # SERP API zone

4. Scrape something

Python:

import requests

response = requests.post(
    "https://api.brightdata.com/request",
    headers={
        "Authorization": f"Bearer {YOUR_API_KEY}",
        "Content-Type": "application/json",
    },
    json={
        "zone": "web_unlocker1",
        "url": "https://www.example.com",
        "format": "raw",
    },
)
print(response.text)  # HTML of the page

JavaScript:

const response = await fetch("https://api.brightdata.com/request", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${YOUR_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    zone: "web_unlocker1",
    url: "https://www.example.com",
    format: "raw",
  }),
});
console.log(await response.text()); // HTML of the page

cURL:

curl -X POST "https://api.brightdata.com/request" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"zone": "web_unlocker1", "url": "https://www.example.com", "format": "raw"}'

That's it. You just scraped a website.


MCP & AI Agents

The fastest way to build an AI agent with web access. MCP (Model Context Protocol) lets your agent search the web, scrape pages, and extract structured data — without you writing API calls.

Zero-Setup Option

Add this URL to any MCP-compatible client (Claude Desktop, Cursor, Windsurf):

https://mcp.brightdata.com/mcp?token=YOUR_API_TOKEN

Claude Desktop Setup

{
  "mcpServers": {
    "Bright Data": {
      "command": "npx",
      "args": ["@brightdata/mcp"],
      "env": {
        "API_TOKEN": "YOUR_API_TOKEN"
      }
    }
  }
}

Build an Agent in 10 Lines

from llama_index.tools.brightdata import BrightDataToolSpec
from llama_index.llms.openai import OpenAI
from llama_index.core.agent.workflow import FunctionAgent

agent = FunctionAgent(
    tools=BrightDataToolSpec(api_key=API_KEY, zone="mcp_unlocker").to_tool_list(),
    llm=OpenAI(model="gpt-4o-mini"),
)
response = await agent.run("Find the top AI trends this week and summarize them")

The agent autonomously decides which tool to use:

  • Web search → search_engine
  • Scrape a page → scrape_as_markdown
  • Amazon product → web_data_amazon_product
  • LinkedIn profile → web_data_linkedin_person_profile
  • 60+ more tools available

Free tier: 5,000 requests/month — more than enough for a hackathon.

Full MCP Guide → | Agentic Workflow Patterns →


Products

ProductWhat It DoesBest For
MCP ServerGive AI agents real-time web accessAgentic workflows, LLM tools
Web Scraper APIReturns structured JSON from popular sitesAmazon, LinkedIn, Instagram data
SERP APISearch engine results without blocksGoogle search, market research
Scraping BrowserRemote browser via Puppeteer/PlaywrightJS-heavy sites, interactions, screenshots
Web UnlockerFetches any page's HTML without blocksAny website, raw HTML

Not sure which to use? Check the decision tree →


Code Examples

Ready-to-run scripts in Python and JavaScript. Copy, paste, run.

Python

ExampleWhat It Does
01_web_scraper_api.pyGet structured JSON from supported sites
02_serp_api.pySearch Google and get parsed results
03_scraping_browser.pyControl a remote browser with Playwright
04_web_unlocker.pyFetch any page's HTML
05_mcp_agent.pyBuild an AI agent with web access (MCP)
cd examples/python
pip install -r requirements.txt    # Installs all deps (including MCP agent)
export BRIGHTDATA_API_KEY="your_key"
export BRIGHTDATA_UNLOCKER_ZONE="web_unlocker1"
python 04_web_unlocker.py          # Try the simplest example first

# For the MCP agent (05), you also need:
export OPENAI_API_KEY="your_openai_key"
python 05_mcp_agent.py

JavaScript

ExampleWhat It Does
01_web_scraper_api.jsGet structured JSON from supported sites
02_serp_api.jsSearch Google and get parsed results
03_scraping_browser.jsControl a remote browser with Puppeteer
04_web_unlocker.jsFetch any page's HTML
05_mcp_agent.jsConnect to Bright Data MCP server
cd examples/javascript
npm install
export BRIGHTDATA_API_KEY="your_key"
export BRIGHTDATA_UNLOCKER_ZONE="web_unlocker1"
node 04_web_unlocker.js             # Try the simplest example first

Python SDK (Even Simpler)

pip install brightdata
from brightdata import BrightDataClient

async with BrightDataClient() as client:
    result = await client.scrape_url("https://example.com")
    search = await client.search.google(query="python scraping")

Starter Template

A fork-ready Next.js app with Bright Data already wired up:

cd starter-template
npm install
cp .env.example .env     # Add your API key
npm run dev               # Open http://localhost:3000

Enter a URL → get scraped HTML. Build on top of it.

See the starter template →


Built with Bright Data

Real projects from our team. Use these for inspiration, reference code, or fork them as your starting point.

ProjectWhat It DoesStarsStack
PepoLeHubNatural language people search engine320+Next.js, LangGraph, Bright Data
MCP_ADKWeb search agent with Google ADK46Python, Gemini, Bright Data MCP
FactFluxMulti-agent fact-checking system41Agno, Gemini, Bright Data
Unified SearchSmart query routing agent18LangGraph, Bright Data MCP
The Missing Link in AIMCP-powered research agent-Node.js, LangChain, Bright Data MCP
Internet Mood RadarReal-time global sentiment tracker-Next.js, OpenAI, Bright Data
Rent HunterMulti-agent apartment search10LangGraph, Streamlit, Bright Data
Geo ChatLocation-based search with maps-Express.js, LangGraph, MapLibre
EnrichItAI spreadsheet data enrichment3React, FastAPI, LangGraph
AI Travel PlannerTravel assistant with real-time data-FastAPI, LangGraph, WebSocket

See all projects with details →


Project Ideas

Need inspiration? We've got 20+ ideas organized by hackathon track:

  • Healthcare — Drug price tracker, clinical trial monitor
  • Sustainability — Greenwashing detector, eco-product finder
  • AI/ML — Training data pipeline, RAG knowledge base builder
  • Fintech — Price comparison engine, alternative trading data
  • Education — Scholarship aggregator, course comparison tool

See all project ideas →


Quick Reference


Official Resources


Need Help?

  • Open an issue on this repo
  • Reach out on LinkedIn — happy to help!
  • LinkedIn

Good luck! Build something amazing.

Collected info

  • 15 stars
  • 16 forks
  • Language: TypeScript
  • Source updated: 7/4/2026