Trigger Bright Data dataset collections from Convex actions and reactively subscribe to structured records via useQuery with zero webhook infrastructure.
npm install @sholajegede/convex-bright-data-datasetsDrop-in Convex component that wraps Bright Data's Datasets API end to end. Trigger async collections for LinkedIn, Amazon, job postings, and 120+ other datasets from a Convex action. The component mounts a webhook handler, receives NDJSON delivery, parses and stores each record individually in component-owned tables, and updates snapshot status reactively. Frontend subscribes via useQuery with no polling, no custom webhook infrastructure, and no storage layer to build. Includes synchronous scrap
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.
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.
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.
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.
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.
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.
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.