CrawlioCrawlio Docs

Browser Tools Reference

Overview

This page covers the 114 tools available through the Chrome extension (Pillar 1). All tools use the Chrome DevTools Protocol (CDP). All return structured JSON.

For headless agent tools (~199 across 5 tiers), use crawlio_discover to search by keyword, or see the Browser Agent Overview for tier descriptions.

In code mode, all 96 tools are accessible through 3 meta-tools: search, execute, and connect_tab. Use bridge.send({ type: 'tool_name', ...params }) inside execute to call any tool below.


Tab Management (6)

Tool Description Key Parameters
connect_tab Connect to a browser tab. Call this first. url (string), tabId (number)
disconnect_tab Release the CDP debugging session. None
list_tabs List all open tabs with IDs, URLs, titles. None
get_connection_status Check connection state. None
reconnect_tab Reconnect after a disconnection. None
get_capabilities List available CDP domains. None

connect_tab has three modes: provide a URL to find or create a tab, provide a tabId for a specific tab, or pass no arguments for the active tab.


Page Capture (13)

Tool Description Key Parameters
capture_page Full capture: framework, DOM, console, network, optional screenshot. Sends enrichment to Crawlio.app. fullPage (bool), includeScreenshot (bool)
detect_framework Detect JS framework (React, Vue, Angular, Svelte) and meta-framework (Next.js, Nuxt, SvelteKit, Gatsby, Remix, Astro). None
start_network_capture Begin recording network requests via CDP Network events. None
stop_network_capture Stop recording, return captured entries. None
get_console_logs Return buffered console log entries. None
get_cookies Get cookies for the current page or specific URLs. urls (array)
get_dom_snapshot Get DOM tree as HTML with configurable depth. depth (number)
take_screenshot Screenshot the current page. fullPage (bool)
extract_site Start a Crawlio crawl for the current URL. url (string)
get_crawl_status Get crawl status from Crawlio.app. None
get_enrichment Get stored enrichment data. url (string)
get_crawled_urls List crawled URLs with status and content type. status, type, limit, offset
enrich_url Navigate, capture framework/network/console, send enrichment. One step. url (string, required)

Browser Interaction (9)

All interaction tools use CSS selectors for element targeting.

Tool Description Key Parameters
browser_navigate Navigate to a URL and wait for load. url (string, required)
browser_click Click an element. selector (string, required)
browser_type Type text into the focused element. text (string, required)
browser_press_key Press a keyboard key. key (string, required)
browser_hover Hover over an element. selector (string, required)
browser_select_option Select a <select> option by value. selector, value (both required)
browser_wait Wait for a duration (max 30s). seconds (number, required)
browser_fill_form Fill multiple form fields in one call. fields (array of {selector, value}, required)
browser_evaluate Evaluate JavaScript in the page context. expression (string, required)

Accessibility and Waiting (2)

Tool Description Key Parameters
browser_snapshot Capture an ARIA accessibility tree snapshot. None
browser_wait_for Wait for an element to reach a ready state (visible, enabled, not obscured). selector (required), timeout (ms)

Network Interception (1)

Tool Description Key Parameters
browser_intercept Intercept and modify network requests or responses. urlPattern (required), action (block/modify/log, required), resourceType, responseBody, responseHeaders

Frame Management (3)

Tool Description Key Parameters
get_frame_tree Get the iframe tree structure. None
switch_to_frame Switch execution context to a specific iframe. frameId (required)
switch_to_main_frame Switch back to the main frame. None

Tool Description Key Parameters
create_tab Create a new tab. url
close_tab Close a tab. tabId
switch_tab Switch to a different tab. tabId (required)
set_cookie Set a browser cookie. name, value (required), domain, path
delete_cookies Delete cookies by name. name (required)
get_storage Read localStorage or sessionStorage. type (local/session, required), key
set_storage Write to storage. type, key, value (all required)
clear_storage Clear storage. type (required)
get_dialog Get info about the current JS dialog. None
handle_dialog Accept or dismiss a JS dialog. accept (required), promptText
get_response_body Get response body of a network request. requestId (required)
replay_request Replay a captured network request. requestId (required)
set_viewport Set viewport size. width, height (required), deviceScaleFactor
set_user_agent Override user agent string. userAgent (required)
emulate_device Emulate a device (viewport, UA, touch). device (required, e.g. iPhone 14)
print_to_pdf Generate a PDF. landscape, printBackground, paperWidth, paperHeight
browser_scroll Scroll the page or an element. direction (required), selector, amount
browser_double_click Double-click an element. selector (required)
browser_drag Drag from source to target. sourceSelector, targetSelector (both required)
browser_file_upload Upload files to a file input. selector, filePaths (both required)
get_accessibility_tree Get the full accessibility tree. depth
set_geolocation Override geolocation. latitude, longitude (required), accuracy
get_performance_metrics Get Chrome perf metrics (heap, nodes, layout). None
get_websocket_connections List active WebSocket connections. None
get_websocket_messages Get WebSocket messages. connectionId
set_stealth_mode Enable stealth to avoid bot detection. enabled (required)

Network and Security (8)

Tool Description Key Parameters
emulate_network Emulate network conditions (throttling, offline). offline, latency, downloadThroughput, uploadThroughput
set_cache_disabled Enable or disable browser cache. disabled (required)
set_extra_headers Set extra HTTP headers for all requests. headers (object, required)
get_security_state Get security state (cert info, mixed content). None
ignore_certificate_errors Ignore SSL cert errors. ignore (required)
list_service_workers List registered service workers. None
stop_service_worker Stop a running service worker. versionId (required)
bypass_service_worker Bypass service workers for network requests. bypass (required)

DOM Manipulation (4)

Tool Description Key Parameters
set_outer_html Replace an element's outer HTML. selector, html (both required)
set_attribute Set an attribute on an element. selector, name, value (all required)
remove_attribute Remove an attribute. selector, name (both required)
remove_node Remove an element from the DOM. selector (required)

CSS and JS Coverage (10)

Tool Description Key Parameters
start_css_coverage Start tracking CSS coverage. None
stop_css_coverage Stop CSS coverage, return used/unused ranges per stylesheet. None
start_js_coverage Start tracking JS coverage. None
stop_js_coverage Stop JS coverage, return used/unused ranges per script. None
get_computed_style Get computed CSS styles for an element. selector (required)
detect_fonts Detect fonts used on the page. None
force_pseudo_state Force a CSS pseudo-state (:hover, :focus). selector, pseudoState (both required)
get_databases List IndexedDB databases. None
query_object_store Query an IndexedDB object store. database, objectStore (both required)
clear_database Clear an IndexedDB database. database (required)

Target and Memory (6)

Tool Description Key Parameters
get_targets List debugging targets (tabs, workers, extensions). None
attach_to_target Attach to a specific debugging target. targetId (required)
create_browser_context Create an isolated browser context (incognito-like). None
get_dom_counters Get DOM node counts (documents, nodes, listeners). None
force_gc Force garbage collection. None
take_heap_snapshot Take a V8 heap snapshot for memory analysis. None

Visual Debugging (3)

Tool Description Key Parameters
highlight_element Highlight an element with a colored overlay. selector (required), color
show_layout_shifts Visualize Cumulative Layout Shift (CLS) regions. None
show_paint_rects Show paint rectangles to visualize rendering updates. enabled (required)

Session Recording (5)

Tool Description Key Parameters
start_recording Start recording browser interactions. None
stop_recording Stop recording, return the session. None
get_recording_status Check if recording is active, interaction count. None
compile_recording Compile a session into a replayable SKILL.md file. session (required), name (required), description
ocr_screenshot Take a screenshot and run OCR to extract visible text. None

Code Mode Tools (3)

In code mode, the 96 tools above are replaced with 3 meta-tools:

Search available tools by keyword. Returns full tool definitions with parameter schemas.

Parameter Type Required Description
query string Yes Search keyword
limit number No Max results (default: 10)

execute

Execute JavaScript with access to the browser bridge, Crawlio HTTP client, and smart object.

Parameter Type Required Description
code string Yes Async JS function body (max 50KB, 120s timeout)

Available in scope:

Variable Description
bridge bridge.send(command, timeout?): send any CDP command
crawlio crawlio.api(method, path, body?), crawlio.getStatus(), etc.
smart Framework-aware wrappers: smart.click(), smart.type(), smart.react.*, smart.vue.*
sleep sleep(ms): async wait (max 30s per call)
TIMEOUTS Per-command timeout constants

Example:

await bridge.send({ type: 'browser_navigate', url: 'https://example.com' }, 30000);
await sleep(2000);
const capture = await bridge.send({ type: 'capture_page' }, 60000);
return { url: capture.url, framework: capture.framework?.name };

connect_tab

Same as the standard connect_tab tool. Always available in code mode.

Next steps

© 2026 Crawlio. All rights reserved.