Using OpenOSINT with Bright Data
Referral link. The Bright Data signup link on this page is a referral link: OpenOSINT earns a commission if you sign up through it, at no extra cost to you. The tools work the same either way, and every other tool in OpenOSINT needs no Bright Data account.
Three OpenOSINT tools run through Bright Data:
search_dorks_liveandsearch_footprintfetch Google results through the Bright Data SERP API.scrape_urlfetches pages that block direct access through Web Unlocker. It is an active tool and also needs--allow-active.
Using them sends your targets (the search queries and URLs) to Bright Data. Read Safety first.
Cost
One request is one credit. Bright Data's free tier is 5,000 credits a month, shared across its products, and needs no credit card. search_dorks_live sends one request per dork (5 by default) and search_footprint one per query (3 by default), so --max-dorks and --max-queries set what a run costs.
Fastest setup
openosint setup brightdata
It asks before every change:
- Asks whether you already have an account, and opens the signup page only if you say yes.
- Reads your API token without echoing it, and checks it by listing your zones.
- Reuses zones you already have. A SERP API zone and a Web Unlocker zone in your account are offered as the default, so you only press Enter.
- Creates a missing zone only after an explicit yes. If your token is not allowed to create zones (HTTP 403), it says so once, stops offering, and prints the dashboard steps below instead.
- Saves what you confirmed to
config.env, readable only by you, and never replaces a saved value without asking.
It needs an interactive terminal. If you stop halfway, run it again to finish the other zone.
Manual setup
- Sign up for Bright Data, or log in. Using this at work? Sign up with your work email so you can invite teammates and send invoices to your company. If you already have an account, skip this.
- Copy your API token from brightdata.com/cp/setting/users. It goes in
BRIGHTDATA_API_KEY. - Create a SERP API zone in your dashboard. Its name goes in
BRIGHTDATA_SERP_ZONE. - Create a Web Unlocker zone. Its name goes in
BRIGHTDATA_UNLOCKER_ZONE.
Set the three values where your interface reads them:
| Interface | Where |
|---|---|
| CLI and REPL | The environment, or config.env in ~/.openosint/ (or $OPENOSINT_HOME) |
| MCP server | The env block of the openosint server in your MCP client config, then restart the server |
| Web UI | Settings, which saves to config.env |
See Configuration for the load order and MCP server for the env block. OPENOSINT_NO_REFERRAL_LINKS=1 turns the referral links inside OpenOSINT's own messages into a plain https://brightdata.com.
Example output
The text below is what the tools return, as printed by the code. The CLI frames it in a SCAN RESULTS banner; an MCP client or the agent receives it as is. The results are placeholders from the reserved example.com domain, not a live capture.
search_dorks_live
openosint search-dorks-live example.com --max-dorks 1
Bright Data live dork search for 'example.com' (1 queries):
[+] Dork: "example.com"
Title: Example Domain
URL: https://www.example.com/
Snippet: This domain is for use in illustrative examples in documents.
Title: Example Domain - Example Org
URL: https://www.example.org/about
Snippet: Another reserved example domain.
search_footprint
openosint footprint example.com --max-queries 1
[Footprint] example.com | type: domain | 1 query
[+] Query 1/1: site:example.com
1. Example Domain
URL: https://www.example.com/
Display: www.example.com
Snippet: This domain is for use in illustrative examples in documents.
2. Example Domain - Example Org
URL: https://www.example.org/about
Display: www.example.org
Snippet: Another reserved example domain.
── Discovered URLs ──────────────────────────────────────────
[Footprint] URL: https://www.example.com/
[Footprint] Domain: example.com
[Footprint] URL: https://www.example.org/about
[Footprint] Domain: example.org
The [Footprint] lines at the end feed the entity graph.
scrape_url
openosint --allow-active scrape https://example.com
[Web Unlocker] URL: https://example.com
# Example Domain
This domain is for use in illustrative examples in documents.
When the site itself answers with an error status, scrape_url reports it and still returns the body. A removed page or profile can be a finding, so this is not a failure:
[Web Unlocker] URL: https://example.com/old-page
[Target returned HTTP 404]
# Not Found
The requested page does not exist.
Usage and limits
- Check your remaining credits at brightdata.com/cp/billing/overview and add funds at brightdata.com/cp/billing.
- At the end of the free credits, requests stop. You are not charged unless you have deposited funds. Credits renew on the 1st of each month and do not roll over.
- Accounts without deposited funds are limited to 1,000 requests a minute.
Troubleshooting
These tools stop at the first account-level failure instead of retrying every query. The messages are printed by the code, so you can search for them:
Bright Data rejected the API token (HTTP 401, body='...'). Check or regenerate it at https://brightdata.com/cp/setting/users; BRIGHTDATA_API_KEY takes the token only.
The token is wrong, revoked or expired.
Bright Data zone 'NAME' not found. Create a SERP API zone in your Bright Data dashboard, or set BRIGHTDATA_SERP_ZONE to the name of an existing one.
For scrape_url the message says Web Unlocker and BRIGHTDATA_UNLOCKER_ZONE.
Bright Data reported a usage limit (client_10100). This may mean your free credits are used up — check https://brightdata.com/cp/billing. Requests resume when credits renew on the 1st of the month or after you add funds.
Bright Data does not document this response, so the message says "may".
Bright Data's API returned HTTP 502. This is a Bright Data-side error, not a problem with your key or zone. Retry in a few minutes; if it persists, contact Bright Data support.
The same applies to HTTP 500, 503 and 504.
Bright Data 403 reject_block — the target blocked the request (captcha or protection page); a retry may succeed
The website refused the fetch. Some targets cannot be fetched.
More entries are in Troubleshooting.
More
Bright Data's own walkthrough: OpenOSINT with Bright Data.