Scrape any website. Get any data. Build something amazing.
Your one-stop resource for building with Bright Data at hackathons.
Quick Start • MCP & Agents • Products • Examples • Showcase • Help
I'm a DevRel Engineer at Bright Data. I'm here to help you build!
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.
Go to brightdata.com/cp/setting/users and copy your API key.
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
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 zonePython:
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 pageJavaScript:
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 pagecURL:
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.
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.
Add this URL to any MCP-compatible client (Claude Desktop, Cursor, Windsurf):
https://mcp.brightdata.com/mcp?token=YOUR_API_TOKEN
{
"mcpServers": {
"Bright Data": {
"command": "npx",
"args": ["@brightdata/mcp"],
"env": {
"API_TOKEN": "YOUR_API_TOKEN"
}
}
}
}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 →
| Product | What It Does | Best For |
|---|---|---|
| MCP Server | Give AI agents real-time web access | Agentic workflows, LLM tools |
| Web Scraper API | Returns structured JSON from popular sites | Amazon, LinkedIn, Instagram data |
| SERP API | Search engine results without blocks | Google search, market research |
| Scraping Browser | Remote browser via Puppeteer/Playwright | JS-heavy sites, interactions, screenshots |
| Web Unlocker | Fetches any page's HTML without blocks | Any website, raw HTML |
Not sure which to use? Check the decision tree →
Ready-to-run scripts in Python and JavaScript. Copy, paste, run.
| Example | What It Does |
|---|---|
01_web_scraper_api.py |
Get structured JSON from supported sites |
02_serp_api.py |
Search Google and get parsed results |
03_scraping_browser.py |
Control a remote browser with Playwright |
04_web_unlocker.py |
Fetch any page's HTML |
05_mcp_agent.py |
Build 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| Example | What It Does |
|---|---|
01_web_scraper_api.js |
Get structured JSON from supported sites |
02_serp_api.js |
Search Google and get parsed results |
03_scraping_browser.js |
Control a remote browser with Puppeteer |
04_web_unlocker.js |
Fetch any page's HTML |
05_mcp_agent.js |
Connect 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 firstpip install brightdatafrom brightdata import BrightDataClient
async with BrightDataClient() as client:
result = await client.scrape_url("https://example.com")
search = await client.search.google(query="python scraping")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:3000Enter a URL → get scraped HTML. Build on top of it.
Real projects from our team. Use these for inspiration, reference code, or fork them as your starting point.
| Project | What It Does | Stars | Stack |
|---|---|---|---|
| PepoLeHub | Natural language people search engine | 320+ | Next.js, LangGraph, Bright Data |
| MCP_ADK | Web search agent with Google ADK | 46 | Python, Gemini, Bright Data MCP |
| FactFlux | Multi-agent fact-checking system | 41 | Agno, Gemini, Bright Data |
| Unified Search | Smart query routing agent | 18 | LangGraph, Bright Data MCP |
| The Missing Link in AI | MCP-powered research agent | - | Node.js, LangChain, Bright Data MCP |
| Internet Mood Radar | Real-time global sentiment tracker | - | Next.js, OpenAI, Bright Data |
| Rent Hunter | Multi-agent apartment search | 10 | LangGraph, Streamlit, Bright Data |
| Geo Chat | Location-based search with maps | - | Express.js, LangGraph, MapLibre |
| EnrichIt | AI spreadsheet data enrichment | 3 | React, FastAPI, LangGraph |
| AI Travel Planner | Travel assistant with real-time data | - | FastAPI, LangGraph, WebSocket |
See all projects with details →
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
- MCP Guide — Set up MCP and build AI agents with web access
- Agentic Workflows — Architecture patterns for AI + web data
- Product Decision Tree — Which product should I use?
- API Cheat Sheet — Endpoints, auth, response formats at a glance
- Troubleshooting — Common issues and fixes
- Project Showcase — Real projects built with Bright Data
Good luck! Build something amazing.