Execution starts at the first unconnected block
UScraper finds a non-proxy block with no incoming connection and runs from there. Keep one obvious starting block per scraper.
Documentation
This documentation teaches the graph model first, then explains each block in its own reference page so users can build custom scraping and automation workflows without starting from a template.
Overview
A workflow is a sequence of connected blocks. It can drive the browser, wait for page state, branch on conditions, capture network data, call APIs, export results, and deliver them to a webhook or Discord.
UScraper finds a non-proxy block with no incoming connection and runs from there. Keep one obvious starting block per scraper.
Navigation, interaction, wait, extraction, and action blocks follow their connected path. Webhook delivers run results at the end of a run.
Element Exists, Element Visible, and Text Contains expose true and false connectors so one graph can handle alternate page states.
Set Proxy configures browser startup and is excluded from normal graph execution. It does not need to sit in the main chain.
Navigate can hold multiple URLs and Type Text can hold multiple text values. Use Loop Continue at the end of the repeated work to advance to the next input.
Loop Continue advances the active multi-input loop and then follows its outgoing connection after the final input. End terminates the run.
The row selector finds repeated items. Each column selector is evaluated inside each row, then written to CSV.
Network/XHR Capture saves requests and responses from your browser session to Project Data. HTTP/API Request sends a configured request directly to an API and uses the response as data.
Webhook sends run results and data as JSON at the end of a run. Discord delivers run results and CSV, JSON, or Excel data to your team.
Workflow
The safest way to build a custom scraper is to design against one page, verify selectors, and only then expand to URL lists or more complex branching.
Open the page manually, confirm the data is visible, and inspect the DOM in Chrome DevTools.
Start with Navigate, connect interaction and wait blocks, then finish with extraction, export, Loop Continue for repeated inputs, or End.
Use CSS selectors or XPath that survive refreshes. Prefer data attributes and repeated row containers over copied full paths.
Run one URL or one search term first, inspect rows, then use multiple inputs and append mode once the CSV shape is correct.
Recipes
Use these patterns as starting points. Swap selectors, waits, and export columns to match the site you are scraping.
Navigate -> Wait for Element -> Extract Text -> EndBest for article fields, profile details, counters, or one-off values.
Navigate -> Wait for Element -> Structured Export -> EndBest for products, reviews, directories, tables, search results, and cards.
Navigate -> Type Text -> Click -> Wait for Element -> Structured Export -> EndBest when a user must enter a query before the result rows appear.
Navigate -> Type Text -> Click -> Wait -> Structured Export -> Reset Page -> Loop Continue -> EndBest when the same search form should run for many inputs. Reset the page or clear the input before Loop Continue.
Navigate -> Wait for Element -> Scroll -> Sleep -> Structured Export -> EndBest when results appear only after the viewport moves down the page.
Element Exists -> true: Click close -> Export, false: ExportBest for cookie banners, modals, and intermittent empty-state panels.
Navigate -> Network/XHR Capture -> Click load results -> Wait for Element -> EndUse when a search, filter, or load-more action retrieves data through network requests. Inspect the captured requests and responses in Project Data.
HTTP/API Request -> End (inspect response data)Configure the endpoint, HTTP method, headers, authentication, and body to match the API. Inspect the response before combining it with other workflow steps.
Navigate -> Wait for Element -> Structured Export -> Webhook -> EndSend run results and data as JSON to a receiving service at the end of the run. Verify the delivered payload with a small test dataset.
Navigate -> Wait for Element -> Structured Export -> Discord -> EndSend run results and CSV, JSON, or Excel data to your configured Discord destination so the team can review the report.
Block reference
Open a block page for its purpose, behavior, configuration fields, example flow, outputs, caveats, and practical usage notes.
Navigation
Opens one page or loops through a list of pages.
Read block docsNavigation
Moves the browser back one step in its history.
Read block docsNavigation
Moves the browser forward one step in its history.
Read block docsNavigation
Reloads the current page.
Read block docsInteraction
Clicks an element found by CSS selector or XPath.
Read block docsInteraction
Clears and types one or more text values into an input field.
Read block docsInteraction
Selects an option from a standard HTML dropdown.
Read block docsInteraction
Scrolls the page or brings a target element into view.
Read block docsExtraction
Extracts visible text or a single attribute from matching elements.
Read block docsExtraction
Extracts inner or outer HTML from matching elements.
Read block docsExtraction
Collects href values from links.
Read block docsExtraction
Saves browser requests and responses to Project Data.
Read block docsWait & Timing
Waits until an element exists or is visible.
Read block docsWait & Timing
Waits until specific text appears on the page or inside an element.
Read block docsWait & Timing
Waits for the base page document to be available.
Read block docsWait & Timing
Pauses execution for a fixed number of seconds.
Read block docsConditions
Branches based on whether an element exists in the DOM.
Read block docsConditions
Branches based on whether an element is present and displayed.
Read block docsConditions
Branches based on whether text appears on the page or inside an element.
Read block docsSetup & Actions
Configures browser proxy settings before execution starts.
Read block docsSetup & Actions
Resizes the browser window.
Read block docsSetup & Actions
Captures the current browser page as an image.
Read block docsSetup & Actions
Runs custom JavaScript in the page context.
Read block docsSetup & Actions
Terminates the current scraper run.
Read block docsSetup & Actions
Advances the active multi-input loop without ending the run.
Read block docsNotification
Calls an API with headers, authentication, and a request body, and uses the response as data.
Read block docsNotification
Sends run results and data as JSON to a webhook at the end of a run.
Read block docsNotification
Sends run results and CSV, JSON, or Excel data to Discord.
Read block docsQuality checklist
Run the same checks every time you build a new graph or update selectors for a changed website.
Here are some of our most common questions. Can't find what you're looking for?
View All FAQsDownload UScraper and build your first web scraper in under 10 minutes. No monthly subscription, no code, and no per-row fees.
Windows 11
macOS 12+
LinuxNeed help? [email protected]