Bright Data web data tools for Hermes Agent — search, scrape, structured datasets, residential proxy, and browser automation
Project description
hermes-brightdata
Bright Data web data tools for Hermes Agent — search, scrape, structured datasets, and browser automation.
Overview
This plugin integrates Bright Data's web data APIs with Hermes, providing ten powerful tools for web data collection:
- Search & Scraping: Real-time search, single/batch URL scraping, and structured data extraction
- Browser Automation: Interactive browser sessions with persistent cookies and JavaScript rendering
- Bypass Detection: Automatic handling of bot detection, CAPTCHAs, and JavaScript-heavy sites
Bright Data handles all the complexity — proxy rotation, header management, retry logic, and content parsing.
Installation
Install the plugin with base tools:
pip install hermes-brightdata
To enable browser automation tools, install with the [browser] extra:
pip install hermes-brightdata[browser]
The browser extra adds Playwright for interactive session handling (required for browser_navigate, browser_snapshot, browser_act, browser_get).
Configuration
Before using any Bright Data tool, set your API credentials in environment variables:
Required
BRIGHTDATA_API_TOKEN (required, secret)
- Your Bright Data API token
- Obtain from Account Settings → API keys in the Bright Data dashboard
BRIGHTDATA_API_KEYis accepted as an alias ifBRIGHTDATA_API_TOKENis unset
Optional
BRIGHTDATA_WEB_UNLOCKER_ZONE (optional)
- Zone name for Web Unlocker API
- Default:
web_unlocker1 WEB_UNLOCKER_ZONEis accepted as an alias if the prefixed name is unset
BRIGHTDATA_SERP_ZONE (optional)
- Zone name for SERP (Search Engine Results Page) API
- Default:
serp_api1
BRIGHTDATA_BROWSER_AUTH (optional, secret)
- Authentication credentials for Scraping Browser
- Format:
brd-customer-<customer-id>-zone-<zone-name>:<password> - Required only if using browser tools with authentication
BRIGHTDATA_PROXY_AUTH (optional, secret)
- Residential proxy credentials for
proxy_scrape - Format:
brd-customer-<customer-id>-zone-<residential-zone>:<password>
BRIGHTDATA_PROXY_CA (optional)
- Path to the Bright Data proxy CA certificate (needed for HTTPS through the proxy on port 33335)
BRIGHTDATA_PROXY_HOST (optional)
- Proxy
host:port(defaultbrd.superproxy.io:33335)
Example
export BRIGHTDATA_API_TOKEN="your-api-token-here"
export BRIGHTDATA_BROWSER_AUTH="brd-customer-12345-zone-myzone:password123"
export BRIGHTDATA_PROXY_AUTH="brd-customer-12345-zone-residential:password123"
export BRIGHTDATA_PROXY_CA="/path/to/BrightData_proxy_ca.crt"
Tools
The plugin provides ten tools:
| Tool | Description |
|---|---|
search_engine |
Search the web via Bright Data SERP API and return parsed results. Use for current events, fact-checking, finding pages, or any web search. Bypasses bot detection; more reliable than built-in web search. |
scrape |
Fetch a single URL as clean markdown (or html) using Bright Data Web Unlocker. Handles JavaScript, CAPTCHAs, and bot detection. Use to read any webpage, article, doc, or site. |
scrape_batch |
Scrape multiple URLs in one call (max 20). Returns per-URL content or error. Use when you have several pages to read at once. |
web_data |
Get structured JSON data from a supported platform via Bright Data Web Scraper API (e.g. an Amazon product page, a LinkedIn profile). Returns clean structured fields, not raw HTML. May take up to a minute. |
proxy_scrape |
Fetch a URL through a Bright Data residential proxy, optionally from a specific country. Use for geo-targeted content (region-specific pricing, localized pages). Requires BRIGHTDATA_PROXY_AUTH. |
session_stats |
Report Bright Data tool call counts for this session. |
browser_navigate |
Open a URL in a Bright Data Scraping Browser (real browser with a persistent session). Use for interactive flows requiring clicks/typing. Requires the [browser] extra and BRIGHTDATA_BROWSER_AUTH. |
browser_snapshot |
Return an accessibility-tree snapshot of the current browser page, including element refs to use with browser_act. |
browser_act |
Perform an action on the current browser page: click, type, scroll, or wait. Get element refs from browser_snapshot first. |
browser_get |
Read the current browser page: html, text, or a base64 screenshot. |
Activation
Enable the plugin in Hermes:
hermes plugins enable brightdata
Verify it's loaded:
hermes plugins list
You should see brightdata listed with version 0.2.0.
Pricing
Bright Data offers a free tier with up to 5,000 requests per month. For higher volume, refer to Bright Data's pricing page for details on Web Unlocker, SERP API, Web Scraper API, and Scraping Browser plans.
For more information on Bright Data services, visit https://brightdata.com.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hermes_brightdata-0.2.0.tar.gz.
File metadata
- Download URL: hermes_brightdata-0.2.0.tar.gz
- Upload date:
- Size: 21.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddd34183c2be1a03e66ae860727e311257907954f5a44b7ccabb89ab7a3cbf7e
|
|
| MD5 |
717cdddbbbd3cefe1f7df6e78b1eb314
|
|
| BLAKE2b-256 |
a0de9ea8b943426d2cbdb7c773de39d647c7c85304c1980898cc1b80c80a7bfa
|
File details
Details for the file hermes_brightdata-0.2.0-py3-none-any.whl.
File metadata
- Download URL: hermes_brightdata-0.2.0-py3-none-any.whl
- Upload date:
- Size: 15.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c27ebd8457180c55fabef36736a395ccfc6af34ef32e1f677306bd60b793553
|
|
| MD5 |
5f8c5e76b6a39301a62c8af3bc86a7a0
|
|
| BLAKE2b-256 |
fb4c91db2d322988298d82fa422d2f00e21c7bf53e370339063ef82f810dbc99
|