---
name: bijection-bright-data
description: "Evaluate and integrate the Bright Data component with Bijection."
---

# Bright Data

Asynchronous dataset acquisition

- Package: @bijectionhq/bright-data
- Category: Web & Search
- Status: Preview
- License: Apache-2.0
- Bijection source (repository access required): https://github.com/bijectionhq/bright-data/tree/42ab9b09e613314c409d40a1a8c9d8647b186fe2
- Upstream: https://github.com/sholajegede/convex-bright-data-datasets/tree/c0d9b601e0c10093b30d21fbe686a4df1a46f5e9
- Documentation: https://docs.bijection.com/components/using
- Directory: https://bijection.com/components/bright-data

## Get the source

Bijection repository access is required. Request access at https://bijection.com/contact.

```sh
git clone https://github.com/bijectionhq/bright-data.git
cd bright-data
git checkout 42ab9b09e613314c409d40a1a8c9d8647b186fe2
```

## Before using this component

Read the package README at the recorded revision for setup, dependencies, and API examples. Upstream documentation describes the original package and may differ from the Bijection adaptation. This is a source candidate for evaluation. Catalog inclusion does not establish npm availability or runtime qualification. Check compatibility with your SDK and deployment before adoption. External providers run their own compute.

## Integration workflow

1. Read the source README and package manifest at the recorded revision.
2. Confirm the required SDK, dependency availability, and runtime compatibility.
3. Follow the component's documented setup and configuration. Never invent an npm install command from a catalog package name.
4. Keep credentials in the project's existing secret store.
5. Follow the project's execution rules for verification and report what was actually checked.

## Original upstream skill

The following guidance describes @sholajegede/convex-bright-data-datasets. Its installation commands and APIs refer to the upstream package. Evaluate compatibility with the Bijection source separately.


# Bright Data Datasets

## Instructions

Use Bright Data Datasets to trigger bright data dataset collections from convex actions and reactively subscribe to structured records via usequery with zero webhook infrastructure. This Convex component integrates directly with your backend.

### Installation

```bash
npm install @sholajegede/convex-bright-data-datasets
```

### Capabilities

- Eliminate custom webhook infrastructure with a drop-in HTTP handler that receives and parses Bright Data results automatically
- Subscribe to dataset records reactively via useQuery with real-time updates as webhook batches arrive
- Trigger LinkedIn, Amazon, job posting, and 120+ other dataset collections directly from Convex actions
- Track collection status and progress automatically with pending-to-ready state management

## Examples

### how to scrape LinkedIn profiles in Convex

Use the Bright Data Datasets component to trigger LinkedIn profile collections from Convex actions. Call brightDatasets.trigger() with the LinkedIn dataset ID and profile URLs, then subscribe to results via useQuery as the webhook delivers structured profile data.

### webhook handler for dataset API in Convex

Mount the component's webhook handler in convex/http.ts using createWebhookHandler(). It automatically receives Bright Data NDJSON deliveries, parses records, stores them in component tables, and updates snapshot status reactively.

### real-time data scraping with Convex

Trigger async dataset collections with brightDatasets.trigger() and subscribe to records via useQuery. Your React components re-render automatically as webhook batches arrive, providing real-time updates without polling.

## When NOT to use

- When a simpler built-in solution exists for your specific use case
- If you are not using Convex as your backend
- When the functionality provided by Bright Data Datasets is not needed

## Troubleshooting

**What datasets can I collect with this component?**

The Bright Data Datasets component supports 120+ datasets including LinkedIn profiles, Amazon products, Instagram posts, job listings, Airbnb, Zillow, Google Maps, and more. You need a Bright Data dataset ID (format gd_...) from their Web Scraper API.

**How do I get results from dataset collections in real-time?**

The component stores snapshot metadata immediately when you trigger a collection, then updates records reactively as the webhook receives results. Subscribe via useQuery to get automatic re-renders when data arrives, with no polling required.

**Can I scrape data synchronously without webhooks?**

Yes, use brightDatasets.scrape() for small single-URL jobs that complete within 1 minute. For longer jobs, it automatically falls back to the async webhook flow with snapshot polling.

**How do I handle webhook delivery in my Convex app?**

Mount the webhook handler in convex/http.ts using createWebhookHandler(components.convexBrightDataDatasets). The handler automatically parses NDJSON deliveries, stores records in component tables, and updates snapshot status.

## Resources

- [npm package](https://www.npmjs.com/package/%40sholajegede%2Fconvex-bright-data-datasets)
- [GitHub repository](https://github.com/sholajegede/convex-bright-data-datasets)
- [Live demo](https://convex-bright-data-datasets-demo.vercel.app)
- [Convex Components Directory](https://www.convex.dev/components/sholajegede/convex-bright-data-datasets)
- [Convex documentation](https://docs.convex.dev)