Platform / Capabilities

Browser API for JavaScript-rendered web pages

Retrieve dynamic pages with RunHarvester browser mode, supported wait conditions, and an asynchronous request lifecycle. Inspect results before using them.

By · Updated

Use a browser when the initial HTML is not enough

Product lists might not become available until JavaScript finishes executing. Similarly, a page might need a specific selector to load before its data becomes accessible. Browser mode manages data retrieval by running within a browser environment, all while maintaining compatibility with Data API submission, polling, and result endpoints.

Begin by selecting a representative target. Then, check the returned data against the specific fields your application requires. HTTP requests often work fine even on JavaScript-heavy pages; opt for browser execution only when it provides data that HTTP cannot fetch, not merely because it appears more powerful.

Submit, poll, and validate

This illustrative body requests browser acquisition. Send it from your backend with an API key and an idempotency key. Save the returned request ID, poll until completed, then retrieve the result.

  1. Configure supported waits for the element or text that signals useful content.
  2. Inspect the terminal state and public error fields before retrieving a result.
  3. Check that the result contains the expected records, rather than a login or challenge page.
Request / responseExample
{
  "url": "https://example.com/catalog",
  "mode": "browser",
  "proxy": "random"
}

Rendering is one part of collection

Using browser execution doesn't guarantee access to all targets, specific latency levels, or fully loaded lazy content. Standard constraints like timeouts, target behavior, and account limits remain in effect. Consult the effective route and billing metadata to calculate expenses accurately.

For reusable multi-step automation with published versions and run history, use Browser Workflows. A single browser-mode request and a versioned workflow are different contracts.

A few useful answers

Common questions

Can RunHarvester scrape JavaScript-rendered pages?

Browser mode runs the page within a browser environment. Set up supported wait conditions for the desired content and verify the outcome. Rendering a page doesn't ensure all lazy-loaded elements are visible or that the target service accepted the request.

Read the documentation
How are Browser Workflows different from browser mode?

Browser mode acts as a path for a Data API request. Browser Workflows handles reusable automation via workspaces, projects, environments, fixed published versions, and executions. Its basic structure is a linear sequence of typed steps, excluding arbitrary JavaScript, loops, or branching graphs.

Read the documentation
Is access to every protected website guaranteed?

No. Targets are capable of rejecting, challenging, or altering their responses. While browser and proxy routing aid acquisition, you must still verify results and public errors. Set a request credit limit where possible to control costs.

Read the documentation
What determines the cost of a request?

Request cost depends on the active route and caching behavior. Auto serves as a routing policy, not a fixed price. Rely on response billing metadata and the current pricing version as the definitive source; plan prices and allowances are sourced from the live catalog.

Read the documentation

Put it to work

Start with one real request.

Inspect the result. Refine your workflow. Choose a plan for your workload.