browser_add_network_rule
Add a rule to intercept network requests matching a URL pattern. Rules can block requests (e.g., ads, trackers), mock responses with custom data (useful for testing), or redirect to different URLs. Supports glob patterns (*.js, *://api.example.com/*) or regex for flexible matching. Returns a rule_id for later removal.
When to use browser_add_network_rule
Use browser_add_network_rule when you need to intercept, block, mock, or monitor network requests. It is part of Owl Browser's Network Interception 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
Parameters
Required
context_idstringrequiredThe unique identifier of the browser context (e.g., 'ctx_000001')
url_patternstringrequiredURL pattern to match requests against. Supports glob patterns (e.g., '*://api.example.com/*', '*.js') or regex if is_regex=true. Glob uses * for any characters, ? for single character
actionenumallowblockmockredirectWhat to do with matching requests: 'allow' lets them through (useful with blocking enabled), 'block' drops the request, 'mock' returns a fake response, 'redirect' sends to different URL
Optional
is_regexbooleanTreat url_pattern as a regular expression instead of glob pattern. Default: false (uses glob). Example regex: '^https://api\\.example\\.com/v[0-9]+/'
redirect_urlstringThe URL to redirect matching requests to. Only used when action='redirect'. Example: redirect tracking scripts to empty response
mock_bodystringResponse body to return for mocked requests. Only used when action='mock'. Can be JSON, HTML, or any text content. Example: '{"success": true}'
mock_statusintegerHTTP status code for mocked responses (e.g., 200, 404, 500). Only used when action='mock'. Default: 200
mock_content_typestringContent-Type header for mocked responses. Only used when action='mock'. Examples: 'application/json', 'text/html', 'text/plain'. Default: 'text/plain'
Response
Returns a JSON object with the operation result.
{
"success": true,
"result": <value>
}Frequently Asked Questions
What does browser_add_network_rule do?
Add a rule to intercept network requests matching a URL pattern. Rules can block requests (e.g., ads, trackers), mock responses with custom data (useful for testing), or redirect to different URLs. Supports glob patterns (*.js, *://api.example.com/*) or regex for flexible matching. Returns a rule_id for later removal. It belongs to Owl Browser's Network Interception category and is available through the REST API, the Python SDK (browser.add_network_rule()), the Node.js SDK, and the MCP server.
What parameters does browser_add_network_rule accept?
browser_add_network_rule accepts 3 required parameters (context_id, url_pattern, action) and 5 optional parameters. All parameters are sent as JSON in a POST request to /api/execute/browser_add_network_rule.
Is browser_add_network_rule detectable by anti-bot systems like Cloudflare or DataDome?
No. browser_add_network_rule 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
browser_get_headersGet HTTP response headers from the current page or a specific URL in the browser context. Network logging is automatically enabled when a context is created. Returns headers as a JSON object with header names as keys. Useful for extracting authentication tokens, content types, caching directives, and other response metadata.
browser_remove_network_ruleRemove a previously added network interception rule by its ID. The rule immediately stops applying to new requests. Use browser_add_network_rule's returned rule_id to remove specific rules.
browser_enable_network_interceptionEnable or disable network interception for a context. When disabled, all rules are ignored and requests pass through normally. When enabled, rules start applying. Useful for toggling interception without removing rules.
browser_get_network_logRetrieve the log of captured network requests and responses for debugging and analysis. Returns request URLs, methods, headers, status codes, and response sizes. Enable interception first to start capturing.
browser_get_network_rulesList all network interception rules for a context. Returns an array of rules with their id, url_pattern, action (block/allow/mock/redirect), is_regex flag, and additional settings like redirect_url or mock_body depending on the action type.
browser_clear_network_logClear all captured network log entries for the context. Use periodically to prevent memory buildup during long sessions with network interception enabled.