feat(brightdata): add Bright Data integration with 8 tools#4183
feat(brightdata): add Bright Data integration with 8 tools#4183waleedlatif1 merged 6 commits intostagingfrom
Conversation
Add complete Bright Data integration supporting Web Unlocker, SERP API, Discover API, and Web Scraper dataset operations. Includes scrape URL, SERP search, discover, sync scrape, scrape dataset, snapshot status, download snapshot, and cancel snapshot tools. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview Registers the block and tools in the SIM registries, adds Reviewed by Cursor Bugbot for commit eb50282. Configure here. |
Greptile SummaryAdds a complete Bright Data integration with 8 tools covering Web Unlocker scraping, SERP search, Discover, synchronous/asynchronous dataset scraping, and snapshot lifecycle management — each mapped to a conditional sub-block in a single
Confidence Score: 4/5Safe to merge after fixing the hardcoded null query output in the Discover tool. One P1 defect: the Discover tool's query output is always null, silently dropping a documented output field that downstream workflow steps would read. All other tools are well-structured and follow established patterns. The unrelated Agiloft bgColor change is a P2 worth confirming but not blocking. apps/sim/tools/brightdata/discover.ts — hardcoded null query output Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
BD[BrightData Block] --> OP{Operation}
OP -->|scrape_url| WU[Web Unlocker\nPOST /request]
OP -->|serp_search| SERP[SERP Search\nPOST /request\nvia search engine URL]
OP -->|discover| DISC[Discover\nPOST /discover]
OP -->|sync_scrape| SYNC[Sync Scrape\nPOST /datasets/v3/scrape]
OP -->|scrape_dataset| ASYNC[Scrape Dataset\nPOST /datasets/v3/trigger]
OP -->|snapshot_status| STATUS[Snapshot Status\nGET /datasets/v3/progress/id]
OP -->|download_snapshot| DL[Download Snapshot\nGET /datasets/v3/snapshot/id]
OP -->|cancel_snapshot| CANCEL[Cancel Snapshot\nPOST /datasets/v3/snapshot/id/cancel]
SYNC -->|202 timeout| ASYNC_FB[Falls back to async\nisAsync=true, returns snapshotId]
SYNC -->|200 ok| SYNC_DATA[Returns data array\nisAsync=false]
ASYNC --> SNAP_ID[Returns snapshotId]
SNAP_ID --> STATUS
STATUS -->|ready| DL
STATUS -->|running/starting| STATUS
SNAP_ID --> CANCEL
|
- Fix truncated "Download Snapshot" description in integrations.json and docs - Map engine-specific query params (num/count/numdoc, hl/setLang/lang/kl, gl/cc/lr) per search engine instead of using Google-specific params for all - Attempt to parse snapshot_id from cancel/download response bodies instead of hardcoding null Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
@greptile |
|
@cursor review |
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…tion The docs generator regex truncates at inner quotes. Reword the download_snapshot description to avoid embedded double quotes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
DuckDuckGo kl expects region-language format (us-en) and Yandex lr expects numeric region IDs (213), not plain two-letter codes. Disable these URL-level params since Bright Data normalizes localization through the body-level country param. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
@greptile |
|
@cursor review |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit eb50282. Configure here.
…mat, logs performance improvements fix(csp): add missing analytics domains, remove unsafe-eval, fix workspace CSP gap (#4179) fix(landing): return 404 for invalid dynamic route slugs (#4182) improvement(seo): optimize sitemaps, robots.txt, and core web vitals across sim and docs (#4170) fix(gemini): support structured output with tools on Gemini 3 models (#4184) feat(brightdata): add Bright Data integration with 8 tools (#4183) fix(mothership): fix superagent credentials (#4185) fix(logs): close sidebar when selected log disappears from filtered list; cleanup (#4186)

Summary
Tools
brightdata_scrape_urlPOST /requestbrightdata_serp_searchPOST /requestbrightdata_discoverPOST /discoverbrightdata_sync_scrapePOST /datasets/v3/scrapebrightdata_scrape_datasetPOST /datasets/v3/triggerbrightdata_snapshot_statusGET /datasets/v3/progress/{id}brightdata_download_snapshotGET /datasets/v3/snapshot/{id}brightdata_cancel_snapshotPOST /datasets/v3/snapshot/{id}/cancelFiles Changed
apps/sim/tools/brightdata/— 8 tool files, types, and barrel exportapps/sim/blocks/blocks/brightdata.ts— Block definitionapps/sim/components/icons.tsx— BrightDataIconapps/sim/tools/registry.ts— Tool registrationsapps/sim/blocks/registry.ts— Block registrationapps/docs/— Auto-generated docs and icon mappingTest plan