DocsNavigationbrowser_navigate

browser_navigate

browser_navigate

Navigate the browser to a specified URL. This is a non-blocking operation that starts navigation and returns immediately. Use browser_wait_for_network_idle or browser_wait_for_selector to wait for the page to fully load. Supports HTTP, HTTPS, file, and data URLs. When wait_until is set (load, networkidle, fullscroll, domcontentloaded) and the page declares WebMCP tools, the response includes a webmcp_tools array containing the full tool definitions (name, description, inputSchema). Use browser_webmcp_call_tool to execute any of these tools directly.

When to use browser_navigate

Use browser_navigate when you need to drive page navigation and browser history in an automation flow. It is part of Owl Browser's Navigation toolset and runs inside a self-hosted, source-level stealth engine, so every call inherits the same undetectable browser fingerprint as the rest of your automation — no separate anti-detect setup required.

Usage Example

123456789101112
import asyncio
from owl_browser import OwlBrowser, RemoteConfig
# Async usage
async with OwlBrowser(config) as browser:
context = await browser.create_context()
context_id = context["context_id"]
await browser.navigate(
context_id=context_id,
url="https://example.com"
)

Parameters

Required

context_idstringrequired

The unique identifier of the browser context to navigate (e.g., 'ctx_000001')

urlstringrequired

The full URL to navigate to, including protocol (e.g., 'https://example.com'). Supports http://, https://, file://, and data: URLs

Optional

wait_untilenum
loaddomcontentloadednetworkidle+1 more

When to consider navigation complete: '' (return immediately, default), 'load' (wait for load event), 'domcontentloaded' (wait for DOMContentLoaded), 'networkidle' (wait for network to be idle), 'fullscroll' (scroll full page to trigger lazy loading, then scroll back to top)

timeoutinteger

Maximum time to wait for navigation in milliseconds. Only used when wait_until is set. Default: 30000 (30 seconds)

Response

Returns a JSON object with the operation result.

{
  "success": true,
  "result": <value>
}

Frequently Asked Questions

What does browser_navigate do?

Navigate the browser to a specified URL. This is a non-blocking operation that starts navigation and returns immediately. Use browser_wait_for_network_idle or browser_wait_for_selector to wait for the page to fully load. Supports HTTP, HTTPS, file, and data URLs. When wait_until is set (load, networkidle, fullscroll, domcontentloaded) and the page declares WebMCP tools, the response includes a webmcp_tools array containing the full tool definitions (name, description, inputSchema). Use browser_webmcp_call_tool to execute any of these tools directly. It belongs to Owl Browser's Navigation category and is available through the REST API, the Python SDK (browser.navigate()), the Node.js SDK, and the MCP server.

What parameters does browser_navigate accept?

browser_navigate accepts 2 required parameters (context_id, url) and 2 optional parameters. All parameters are sent as JSON in a POST request to /api/execute/browser_navigate.

Is browser_navigate detectable by anti-bot systems like Cloudflare or DataDome?

No. browser_navigate executes inside Owl Browser's Chromium engine, which applies fingerprint spoofing at the C++ source level rather than through JavaScript patches. Every tool call shares the same consistent, human-like fingerprint, so anti-bot systems such as Cloudflare, DataDome, and Akamai see an ordinary browser.

Related Tools

Browse the full Owl Browser API reference or get started with the Python SDK and Node.js SDK.