@olib-ai/owl-browser-mcp 2.0.4 → 2.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +343 -36
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -20369,7 +20369,7 @@ var openapi_default = {
|
|
|
20369
20369
|
info: {
|
|
20370
20370
|
title: "Owl Browser API",
|
|
20371
20371
|
description: "REST API for browser automation with anti-detection capabilities",
|
|
20372
|
-
version: "1.0.
|
|
20372
|
+
version: "1.0.9"
|
|
20373
20373
|
},
|
|
20374
20374
|
servers: [
|
|
20375
20375
|
{
|
|
@@ -20442,10 +20442,12 @@ var openapi_default = {
|
|
|
20442
20442
|
enum: [
|
|
20443
20443
|
"html",
|
|
20444
20444
|
"text",
|
|
20445
|
-
"markdown"
|
|
20445
|
+
"markdown",
|
|
20446
|
+
"pngView",
|
|
20447
|
+
"pngFull"
|
|
20446
20448
|
]
|
|
20447
20449
|
},
|
|
20448
|
-
description: "Output format. html=raw HTML, text=extracted text, markdown=markdown conversion. Default: html"
|
|
20450
|
+
description: "Output format. html=raw HTML, text=extracted text, markdown=markdown conversion, pngView=viewport screenshot as PNG image, pngFull=fullpage screenshot as PNG image. Default: html"
|
|
20449
20451
|
},
|
|
20450
20452
|
{
|
|
20451
20453
|
name: "os",
|
|
@@ -20598,6 +20600,19 @@ var openapi_default = {
|
|
|
20598
20600
|
timezone: {
|
|
20599
20601
|
type: "string",
|
|
20600
20602
|
description: "Override browser timezone. IANA timezone format (e.g., 'America/New_York', 'Europe/London', 'Asia/Tokyo'). If not set, falls back to: 1) proxy-detected timezone (if proxy configured with spoof_timezone), 2) VM profile timezone, 3) system default. This parameter works without proxy configuration."
|
|
20603
|
+
},
|
|
20604
|
+
screen_size: {
|
|
20605
|
+
type: "string",
|
|
20606
|
+
description: "Screen resolution for the browser context. Format: 'WIDTHxHEIGHT'. If not set, a random screen size is selected from the monitor catalog.",
|
|
20607
|
+
enum: [
|
|
20608
|
+
"1920x1080",
|
|
20609
|
+
"2560x1440",
|
|
20610
|
+
"3440x1440",
|
|
20611
|
+
"3840x2160",
|
|
20612
|
+
"3840x1600",
|
|
20613
|
+
"5120x2160",
|
|
20614
|
+
"5120x1440"
|
|
20615
|
+
]
|
|
20601
20616
|
}
|
|
20602
20617
|
}
|
|
20603
20618
|
}
|
|
@@ -20990,10 +21005,54 @@ var openapi_default = {
|
|
|
20990
21005
|
}
|
|
20991
21006
|
}
|
|
20992
21007
|
},
|
|
21008
|
+
"/api/execute/browser_set_content": {
|
|
21009
|
+
post: {
|
|
21010
|
+
summary: "Browser Set Content",
|
|
21011
|
+
description: "Set the page's HTML content directly. Replaces the current page content with the provided HTML. The page URL will be 'about:blank'. Useful for rendering HTML templates, testing, or injecting content without making a network request.",
|
|
21012
|
+
tags: [
|
|
21013
|
+
"General"
|
|
21014
|
+
],
|
|
21015
|
+
requestBody: {
|
|
21016
|
+
required: true,
|
|
21017
|
+
content: {
|
|
21018
|
+
"application/json": {
|
|
21019
|
+
schema: {
|
|
21020
|
+
type: "object",
|
|
21021
|
+
properties: {
|
|
21022
|
+
context_id: {
|
|
21023
|
+
type: "string",
|
|
21024
|
+
description: "The unique identifier of the browser context (e.g., 'ctx_000001')"
|
|
21025
|
+
},
|
|
21026
|
+
html: {
|
|
21027
|
+
type: "string",
|
|
21028
|
+
description: "The HTML content to set as the page body. Can be a full HTML document or a fragment. The page URL will be set to 'about:blank'"
|
|
21029
|
+
}
|
|
21030
|
+
},
|
|
21031
|
+
required: [
|
|
21032
|
+
"context_id",
|
|
21033
|
+
"html"
|
|
21034
|
+
]
|
|
21035
|
+
}
|
|
21036
|
+
}
|
|
21037
|
+
}
|
|
21038
|
+
},
|
|
21039
|
+
responses: {
|
|
21040
|
+
"200": {
|
|
21041
|
+
description: "Successful response"
|
|
21042
|
+
},
|
|
21043
|
+
"400": {
|
|
21044
|
+
description: "Bad request"
|
|
21045
|
+
},
|
|
21046
|
+
"401": {
|
|
21047
|
+
description: "Unauthorized"
|
|
21048
|
+
}
|
|
21049
|
+
}
|
|
21050
|
+
}
|
|
21051
|
+
},
|
|
20993
21052
|
"/api/execute/browser_click": {
|
|
20994
21053
|
post: {
|
|
20995
21054
|
summary: "Browser Click",
|
|
20996
|
-
description: "Click on an element using CSS selector, XY coordinates, or natural language description. Supports semantic element finding using AI - describe what you want to click (e.g., 'login button', 'search icon') and the system will locate the right element. Simulates a real mouse click with proper event dispatch.",
|
|
21055
|
+
description: "Click on an element using CSS selector, XY coordinates, or natural language description. Supports semantic element finding using AI - describe what you want to click (e.g., 'login button', 'search icon') and the system will locate the right element. Simulates a real mouse click with proper event dispatch. Optionally hold the mouse button for press-and-hold interactions using hold_ms.",
|
|
20997
21056
|
tags: [
|
|
20998
21057
|
"General"
|
|
20999
21058
|
],
|
|
@@ -21011,6 +21070,14 @@ var openapi_default = {
|
|
|
21011
21070
|
selector: {
|
|
21012
21071
|
type: "string",
|
|
21013
21072
|
description: "Target element to click. Accepts: CSS selector (e.g., '#submit-btn', '.nav-link'), XY coordinates as 'Xx Y' (e.g., '100x200'), or natural language description (e.g., 'login button', 'search icon'). Semantic descriptions use AI to find the element"
|
|
21073
|
+
},
|
|
21074
|
+
hold_ms: {
|
|
21075
|
+
type: "string",
|
|
21076
|
+
description: "Duration in milliseconds to hold the mouse button down before releasing. Use for press-and-hold interactions (e.g., long press menus, drag initiation). Default: 0 (immediate click)"
|
|
21077
|
+
},
|
|
21078
|
+
index: {
|
|
21079
|
+
type: "string",
|
|
21080
|
+
description: "When multiple elements match the selector, click the Nth element (0-based). Uses querySelectorAll()[index] instead of querySelector(). Default: -1 (first match)"
|
|
21014
21081
|
}
|
|
21015
21082
|
},
|
|
21016
21083
|
required: [
|
|
@@ -21037,7 +21104,7 @@ var openapi_default = {
|
|
|
21037
21104
|
"/api/execute/browser_type": {
|
|
21038
21105
|
post: {
|
|
21039
21106
|
summary: "Browser Type",
|
|
21040
|
-
description: "Type text into an input field with human-like keystroke simulation. Target the field using CSS selector, coordinates, or natural language (e.g., 'email field'). Note: Does NOT clear existing content - use browser_clear_input first if you need to replace text rather than append.",
|
|
21107
|
+
description: "Type text into an input field with human-like keystroke simulation. Target the field using CSS selector, coordinates, or natural language (e.g., 'email field'). When selector is omitted, types into the currently focused element. Note: Does NOT clear existing content - use browser_clear_input first if you need to replace text rather than append.",
|
|
21041
21108
|
tags: [
|
|
21042
21109
|
"General"
|
|
21043
21110
|
],
|
|
@@ -21054,16 +21121,19 @@ var openapi_default = {
|
|
|
21054
21121
|
},
|
|
21055
21122
|
selector: {
|
|
21056
21123
|
type: "string",
|
|
21057
|
-
description: `Target input field. Accepts: CSS selector (e.g., '#email', 'input[name="username"]'), XY coordinates (e.g., '100x200'), or natural language description (e.g., 'email field', 'search box')`
|
|
21124
|
+
description: `Target input field. Accepts: CSS selector (e.g., '#email', 'input[name="username"]'), XY coordinates (e.g., '100x200'), or natural language description (e.g., 'email field', 'search box'). When omitted, types into the currently focused element (document.activeElement)`
|
|
21058
21125
|
},
|
|
21059
21126
|
text: {
|
|
21060
21127
|
type: "string",
|
|
21061
21128
|
description: "The text to type into the input field. Simulates real keystrokes with human-like timing. Existing content is NOT cleared - use browser_clear_input first if needed"
|
|
21129
|
+
},
|
|
21130
|
+
index: {
|
|
21131
|
+
type: "string",
|
|
21132
|
+
description: "When multiple elements match the selector, target the Nth element (0-based). Uses querySelectorAll()[index] instead of querySelector(). Default: -1 (first match)"
|
|
21062
21133
|
}
|
|
21063
21134
|
},
|
|
21064
21135
|
required: [
|
|
21065
21136
|
"context_id",
|
|
21066
|
-
"selector",
|
|
21067
21137
|
"text"
|
|
21068
21138
|
]
|
|
21069
21139
|
}
|
|
@@ -21135,7 +21205,7 @@ var openapi_default = {
|
|
|
21135
21205
|
"/api/execute/browser_press_key": {
|
|
21136
21206
|
post: {
|
|
21137
21207
|
summary: "Browser Press Key",
|
|
21138
|
-
description: "Press a
|
|
21208
|
+
description: "Press a keyboard key. Supports special keys (Enter, Tab, Escape, arrow keys, etc.) and single characters (a-z, A-Z, 0-9). The key is sent to the currently focused element. Common uses: Enter to submit forms, Tab to move between fields, Escape to close modals, Arrow keys for navigation in menus or sliders, or single characters for keyboard shortcuts.",
|
|
21139
21209
|
tags: [
|
|
21140
21210
|
"General"
|
|
21141
21211
|
],
|
|
@@ -21152,30 +21222,7 @@ var openapi_default = {
|
|
|
21152
21222
|
},
|
|
21153
21223
|
key: {
|
|
21154
21224
|
type: "string",
|
|
21155
|
-
description: "
|
|
21156
|
-
enum: [
|
|
21157
|
-
"Enter",
|
|
21158
|
-
"Return",
|
|
21159
|
-
"Tab",
|
|
21160
|
-
"Escape",
|
|
21161
|
-
"Esc",
|
|
21162
|
-
"Backspace",
|
|
21163
|
-
"Delete",
|
|
21164
|
-
"Del",
|
|
21165
|
-
"ArrowUp",
|
|
21166
|
-
"Up",
|
|
21167
|
-
"ArrowDown",
|
|
21168
|
-
"Down",
|
|
21169
|
-
"ArrowLeft",
|
|
21170
|
-
"Left",
|
|
21171
|
-
"ArrowRight",
|
|
21172
|
-
"Right",
|
|
21173
|
-
"Space",
|
|
21174
|
-
"Home",
|
|
21175
|
-
"End",
|
|
21176
|
-
"PageUp",
|
|
21177
|
-
"PageDown"
|
|
21178
|
-
]
|
|
21225
|
+
description: "Key to press. Supports special keys: 'Enter', 'Tab', 'Escape', 'Backspace', 'Delete', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Space', 'Home', 'End', 'PageUp', 'PageDown'. Also supports single characters: 'a'-'z', 'A'-'Z', '0'-'9'. The key is sent to the currently focused element"
|
|
21179
21226
|
}
|
|
21180
21227
|
},
|
|
21181
21228
|
required: [
|
|
@@ -21438,6 +21485,10 @@ var openapi_default = {
|
|
|
21438
21485
|
selector: {
|
|
21439
21486
|
type: "string",
|
|
21440
21487
|
description: "CSS selector, position coordinates (e.g., '100x200'), or natural language description of the element to hover over"
|
|
21488
|
+
},
|
|
21489
|
+
index: {
|
|
21490
|
+
type: "string",
|
|
21491
|
+
description: "When multiple elements match the selector, target the Nth element (0-based). Default: -1 (first match)"
|
|
21441
21492
|
}
|
|
21442
21493
|
},
|
|
21443
21494
|
required: [
|
|
@@ -21482,6 +21533,10 @@ var openapi_default = {
|
|
|
21482
21533
|
selector: {
|
|
21483
21534
|
type: "string",
|
|
21484
21535
|
description: "CSS selector, position coordinates (e.g., '100x200'), or natural language description of the element to double-click"
|
|
21536
|
+
},
|
|
21537
|
+
index: {
|
|
21538
|
+
type: "string",
|
|
21539
|
+
description: "When multiple elements match the selector, target the Nth element (0-based). Default: -1 (first match)"
|
|
21485
21540
|
}
|
|
21486
21541
|
},
|
|
21487
21542
|
required: [
|
|
@@ -21526,6 +21581,10 @@ var openapi_default = {
|
|
|
21526
21581
|
selector: {
|
|
21527
21582
|
type: "string",
|
|
21528
21583
|
description: "CSS selector, position coordinates (e.g., '100x200'), or natural language description of the element to right-click"
|
|
21584
|
+
},
|
|
21585
|
+
index: {
|
|
21586
|
+
type: "string",
|
|
21587
|
+
description: "When multiple elements match the selector, target the Nth element (0-based). Default: -1 (first match)"
|
|
21529
21588
|
}
|
|
21530
21589
|
},
|
|
21531
21590
|
required: [
|
|
@@ -21570,6 +21629,10 @@ var openapi_default = {
|
|
|
21570
21629
|
selector: {
|
|
21571
21630
|
type: "string",
|
|
21572
21631
|
description: "CSS selector or natural language description of the input element to clear"
|
|
21632
|
+
},
|
|
21633
|
+
index: {
|
|
21634
|
+
type: "string",
|
|
21635
|
+
description: "When multiple elements match the selector, target the Nth element (0-based). Default: -1 (first match)"
|
|
21573
21636
|
}
|
|
21574
21637
|
},
|
|
21575
21638
|
required: [
|
|
@@ -21614,6 +21677,10 @@ var openapi_default = {
|
|
|
21614
21677
|
selector: {
|
|
21615
21678
|
type: "string",
|
|
21616
21679
|
description: "CSS selector or natural language description of the element to focus"
|
|
21680
|
+
},
|
|
21681
|
+
index: {
|
|
21682
|
+
type: "string",
|
|
21683
|
+
description: "When multiple elements match the selector, target the Nth element (0-based). Default: -1 (first match)"
|
|
21617
21684
|
}
|
|
21618
21685
|
},
|
|
21619
21686
|
required: [
|
|
@@ -21839,6 +21906,10 @@ var openapi_default = {
|
|
|
21839
21906
|
selector: {
|
|
21840
21907
|
type: "string",
|
|
21841
21908
|
description: "CSS selector or natural language description of the element to check visibility for"
|
|
21909
|
+
},
|
|
21910
|
+
index: {
|
|
21911
|
+
type: "string",
|
|
21912
|
+
description: "When multiple elements match the selector, check the Nth element (0-based). Default: -1 (first match)"
|
|
21842
21913
|
}
|
|
21843
21914
|
},
|
|
21844
21915
|
required: [
|
|
@@ -21883,6 +21954,10 @@ var openapi_default = {
|
|
|
21883
21954
|
selector: {
|
|
21884
21955
|
type: "string",
|
|
21885
21956
|
description: "CSS selector or natural language description of the element to check enabled state for"
|
|
21957
|
+
},
|
|
21958
|
+
index: {
|
|
21959
|
+
type: "string",
|
|
21960
|
+
description: "When multiple elements match the selector, check the Nth element (0-based). Default: -1 (first match)"
|
|
21886
21961
|
}
|
|
21887
21962
|
},
|
|
21888
21963
|
required: [
|
|
@@ -21927,6 +22002,10 @@ var openapi_default = {
|
|
|
21927
22002
|
selector: {
|
|
21928
22003
|
type: "string",
|
|
21929
22004
|
description: "CSS selector or natural language description of the checkbox or radio button to check"
|
|
22005
|
+
},
|
|
22006
|
+
index: {
|
|
22007
|
+
type: "string",
|
|
22008
|
+
description: "When multiple elements match the selector, check the Nth element (0-based). Default: -1 (first match)"
|
|
21930
22009
|
}
|
|
21931
22010
|
},
|
|
21932
22011
|
required: [
|
|
@@ -21950,6 +22029,151 @@ var openapi_default = {
|
|
|
21950
22029
|
}
|
|
21951
22030
|
}
|
|
21952
22031
|
},
|
|
22032
|
+
"/api/execute/browser_is_editable": {
|
|
22033
|
+
post: {
|
|
22034
|
+
summary: "Browser Is Editable",
|
|
22035
|
+
description: "Check if an element is editable (not disabled AND not readOnly). Returns 'editable' if the element can accept user input, 'not_editable' if it is disabled or read-only. More comprehensive than browser_is_enabled which only checks the disabled attribute.",
|
|
22036
|
+
tags: [
|
|
22037
|
+
"General"
|
|
22038
|
+
],
|
|
22039
|
+
requestBody: {
|
|
22040
|
+
required: true,
|
|
22041
|
+
content: {
|
|
22042
|
+
"application/json": {
|
|
22043
|
+
schema: {
|
|
22044
|
+
type: "object",
|
|
22045
|
+
properties: {
|
|
22046
|
+
context_id: {
|
|
22047
|
+
type: "string",
|
|
22048
|
+
description: "The unique identifier of the browser context (e.g., 'ctx_000001')"
|
|
22049
|
+
},
|
|
22050
|
+
selector: {
|
|
22051
|
+
type: "string",
|
|
22052
|
+
description: "CSS selector or natural language description of the element to check editability for"
|
|
22053
|
+
},
|
|
22054
|
+
index: {
|
|
22055
|
+
type: "string",
|
|
22056
|
+
description: "When multiple elements match the selector, check the Nth element (0-based). Default: -1 (first match)"
|
|
22057
|
+
}
|
|
22058
|
+
},
|
|
22059
|
+
required: [
|
|
22060
|
+
"context_id",
|
|
22061
|
+
"selector"
|
|
22062
|
+
]
|
|
22063
|
+
}
|
|
22064
|
+
}
|
|
22065
|
+
}
|
|
22066
|
+
},
|
|
22067
|
+
responses: {
|
|
22068
|
+
"200": {
|
|
22069
|
+
description: "Successful response"
|
|
22070
|
+
},
|
|
22071
|
+
"400": {
|
|
22072
|
+
description: "Bad request"
|
|
22073
|
+
},
|
|
22074
|
+
"401": {
|
|
22075
|
+
description: "Unauthorized"
|
|
22076
|
+
}
|
|
22077
|
+
}
|
|
22078
|
+
}
|
|
22079
|
+
},
|
|
22080
|
+
"/api/execute/browser_count_elements": {
|
|
22081
|
+
post: {
|
|
22082
|
+
summary: "Browser Count Elements",
|
|
22083
|
+
description: "Count the number of elements matching a CSS selector. Returns the count as an integer. Useful for checking how many items exist (e.g., list items, search results, table rows) without extracting full element data.",
|
|
22084
|
+
tags: [
|
|
22085
|
+
"General"
|
|
22086
|
+
],
|
|
22087
|
+
requestBody: {
|
|
22088
|
+
required: true,
|
|
22089
|
+
content: {
|
|
22090
|
+
"application/json": {
|
|
22091
|
+
schema: {
|
|
22092
|
+
type: "object",
|
|
22093
|
+
properties: {
|
|
22094
|
+
context_id: {
|
|
22095
|
+
type: "string",
|
|
22096
|
+
description: "The unique identifier of the browser context (e.g., 'ctx_000001')"
|
|
22097
|
+
},
|
|
22098
|
+
selector: {
|
|
22099
|
+
type: "string",
|
|
22100
|
+
description: `CSS selector to count matching elements (e.g., 'li.item', 'input[type="text"]', 'table tr')`
|
|
22101
|
+
}
|
|
22102
|
+
},
|
|
22103
|
+
required: [
|
|
22104
|
+
"context_id",
|
|
22105
|
+
"selector"
|
|
22106
|
+
]
|
|
22107
|
+
}
|
|
22108
|
+
}
|
|
22109
|
+
}
|
|
22110
|
+
},
|
|
22111
|
+
responses: {
|
|
22112
|
+
"200": {
|
|
22113
|
+
description: "Successful response"
|
|
22114
|
+
},
|
|
22115
|
+
"400": {
|
|
22116
|
+
description: "Bad request"
|
|
22117
|
+
},
|
|
22118
|
+
"401": {
|
|
22119
|
+
description: "Unauthorized"
|
|
22120
|
+
}
|
|
22121
|
+
}
|
|
22122
|
+
}
|
|
22123
|
+
},
|
|
22124
|
+
"/api/execute/browser_dispatch_event": {
|
|
22125
|
+
post: {
|
|
22126
|
+
summary: "Browser Dispatch Event",
|
|
22127
|
+
description: "Dispatch a DOM event on an element. Programmatically triggers events like 'input', 'change', 'focus', 'blur', 'submit', etc. Useful for triggering event handlers after programmatic value changes, or for simulating user interactions that don't involve mouse/keyboard input.",
|
|
22128
|
+
tags: [
|
|
22129
|
+
"General"
|
|
22130
|
+
],
|
|
22131
|
+
requestBody: {
|
|
22132
|
+
required: true,
|
|
22133
|
+
content: {
|
|
22134
|
+
"application/json": {
|
|
22135
|
+
schema: {
|
|
22136
|
+
type: "object",
|
|
22137
|
+
properties: {
|
|
22138
|
+
context_id: {
|
|
22139
|
+
type: "string",
|
|
22140
|
+
description: "The unique identifier of the browser context (e.g., 'ctx_000001')"
|
|
22141
|
+
},
|
|
22142
|
+
selector: {
|
|
22143
|
+
type: "string",
|
|
22144
|
+
description: "CSS selector or natural language description of the element to dispatch the event on"
|
|
22145
|
+
},
|
|
22146
|
+
event_type: {
|
|
22147
|
+
type: "string",
|
|
22148
|
+
description: "The DOM event type to dispatch (e.g., 'click', 'input', 'change', 'focus', 'blur', 'submit', 'mouseenter', 'mouseleave'). Any valid DOM event name is accepted"
|
|
22149
|
+
},
|
|
22150
|
+
bubbles: {
|
|
22151
|
+
type: "boolean",
|
|
22152
|
+
description: "Whether the event should bubble up through the DOM tree. Default: true"
|
|
22153
|
+
}
|
|
22154
|
+
},
|
|
22155
|
+
required: [
|
|
22156
|
+
"context_id",
|
|
22157
|
+
"selector",
|
|
22158
|
+
"event_type"
|
|
22159
|
+
]
|
|
22160
|
+
}
|
|
22161
|
+
}
|
|
22162
|
+
}
|
|
22163
|
+
},
|
|
22164
|
+
responses: {
|
|
22165
|
+
"200": {
|
|
22166
|
+
description: "Successful response"
|
|
22167
|
+
},
|
|
22168
|
+
"400": {
|
|
22169
|
+
description: "Bad request"
|
|
22170
|
+
},
|
|
22171
|
+
"401": {
|
|
22172
|
+
description: "Unauthorized"
|
|
22173
|
+
}
|
|
22174
|
+
}
|
|
22175
|
+
}
|
|
22176
|
+
},
|
|
21953
22177
|
"/api/execute/browser_get_attribute": {
|
|
21954
22178
|
post: {
|
|
21955
22179
|
summary: "Browser Get Attribute",
|
|
@@ -21975,6 +22199,10 @@ var openapi_default = {
|
|
|
21975
22199
|
attribute: {
|
|
21976
22200
|
type: "string",
|
|
21977
22201
|
description: "The attribute name to retrieve (e.g., 'href', 'src', 'value', 'data-id', 'class')"
|
|
22202
|
+
},
|
|
22203
|
+
index: {
|
|
22204
|
+
type: "string",
|
|
22205
|
+
description: "When multiple elements match the selector, get attribute from the Nth element (0-based). Default: -1 (first match)"
|
|
21978
22206
|
}
|
|
21979
22207
|
},
|
|
21980
22208
|
required: [
|
|
@@ -22020,6 +22248,10 @@ var openapi_default = {
|
|
|
22020
22248
|
selector: {
|
|
22021
22249
|
type: "string",
|
|
22022
22250
|
description: "CSS selector or natural language description of the element to get position and size for"
|
|
22251
|
+
},
|
|
22252
|
+
index: {
|
|
22253
|
+
type: "string",
|
|
22254
|
+
description: "When multiple elements match the selector, get bounding box of the Nth element (0-based). Default: -1 (first match)"
|
|
22023
22255
|
}
|
|
22024
22256
|
},
|
|
22025
22257
|
required: [
|
|
@@ -22341,7 +22573,7 @@ var openapi_default = {
|
|
|
22341
22573
|
"/api/execute/browser_extract_text": {
|
|
22342
22574
|
post: {
|
|
22343
22575
|
summary: "Browser Extract Text",
|
|
22344
|
-
description: "Extract visible text content from the page or a specific element. Returns plain text stripped of HTML tags. Optionally target a specific element using CSS selector or natural language description. Optionally apply a regex pattern to filter/extract specific content from the text. Useful for reading page content, extracting article text, getting form values, or extracting specific data like numbers, emails, or prices.",
|
|
22576
|
+
description: "Extract visible text content from the page or a specific element. Returns plain text stripped of HTML tags. Optionally target a specific element using CSS selector or natural language description. When the selector matches multiple elements, returns a JSON array of text strings. Optionally apply a regex pattern to filter/extract specific content from the text (applied per-element when multiple matches). Useful for reading page content, extracting article text, getting form values, or extracting specific data like numbers, emails, or prices.",
|
|
22345
22577
|
tags: [
|
|
22346
22578
|
"General"
|
|
22347
22579
|
],
|
|
@@ -22358,7 +22590,7 @@ var openapi_default = {
|
|
|
22358
22590
|
},
|
|
22359
22591
|
selector: {
|
|
22360
22592
|
type: "string",
|
|
22361
|
-
description: "Optional CSS selector or natural language description to extract text from a specific element. If omitted, extracts all visible text from the entire page. Examples: '#main-content', '
|
|
22593
|
+
description: "Optional CSS selector or natural language description to extract text from a specific element. If omitted, extracts all visible text from the entire page. When the selector matches multiple elements, returns a JSON array of text strings (one per element). Examples: '#main-content', '.product-name', 'article'"
|
|
22362
22594
|
},
|
|
22363
22595
|
regex: {
|
|
22364
22596
|
type: "string",
|
|
@@ -22367,6 +22599,10 @@ var openapi_default = {
|
|
|
22367
22599
|
regex_group: {
|
|
22368
22600
|
type: "string",
|
|
22369
22601
|
description: "Which capture group to return from the regex match. 0 returns the full match (default), 1 returns the first capture group, 2 returns the second, etc. Example: with regex 'FP ID:\\\\s*(\\\\S+)' and regex_group=1, only the ID value is returned."
|
|
22602
|
+
},
|
|
22603
|
+
index: {
|
|
22604
|
+
type: "string",
|
|
22605
|
+
description: "When multiple elements match the selector, extract text from the Nth element (0-based) instead of returning all. Default: not set (returns all matches as array). Set to 0 for first, 1 for second, -1 for last."
|
|
22370
22606
|
}
|
|
22371
22607
|
},
|
|
22372
22608
|
required: [
|
|
@@ -22474,6 +22710,10 @@ var openapi_default = {
|
|
|
22474
22710
|
background_color: {
|
|
22475
22711
|
type: "string",
|
|
22476
22712
|
description: "CSS color for the highlight background (use alpha for transparency). Default: 'rgba(255, 0, 0, 0.2)'. Examples: 'rgba(0, 255, 0, 0.3)', 'transparent'"
|
|
22713
|
+
},
|
|
22714
|
+
index: {
|
|
22715
|
+
type: "string",
|
|
22716
|
+
description: "When multiple elements match the selector, highlight the Nth element (0-based). Default: -1 (first match)"
|
|
22477
22717
|
}
|
|
22478
22718
|
},
|
|
22479
22719
|
required: [
|
|
@@ -22555,7 +22795,7 @@ var openapi_default = {
|
|
|
22555
22795
|
"/api/execute/browser_get_html": {
|
|
22556
22796
|
post: {
|
|
22557
22797
|
summary: "Browser Get Html",
|
|
22558
|
-
description: "Extract
|
|
22798
|
+
description: "Extract HTML content with configurable cleaning levels. Optionally target a specific element using a CSS selector to get its innerHTML instead of the full page. When the selector matches multiple elements, returns a JSON array of HTML strings. 'minimal' preserves most structure, 'basic' removes scripts and styles, 'aggressive' strips to essential content. Useful for page analysis, content extraction, and feeding HTML to other processing tools.",
|
|
22559
22799
|
tags: [
|
|
22560
22800
|
"General"
|
|
22561
22801
|
],
|
|
@@ -22570,6 +22810,10 @@ var openapi_default = {
|
|
|
22570
22810
|
type: "string",
|
|
22571
22811
|
description: "The unique identifier of the browser context (e.g., 'ctx_000001')"
|
|
22572
22812
|
},
|
|
22813
|
+
selector: {
|
|
22814
|
+
type: "string",
|
|
22815
|
+
description: "Optional CSS selector to get innerHTML of a specific element (e.g., '#content', '.article-body'). When the selector matches multiple elements, returns a JSON array of HTML strings (one per element). When omitted, returns the full page HTML"
|
|
22816
|
+
},
|
|
22573
22817
|
clean_level: {
|
|
22574
22818
|
type: "string",
|
|
22575
22819
|
description: "Level of HTML cleaning to apply. 'minimal': preserves most structure, 'basic': removes scripts/styles (default), 'aggressive': strips to essential content only. Choose based on how much structure you need",
|
|
@@ -22852,7 +23096,7 @@ var openapi_default = {
|
|
|
22852
23096
|
"/api/execute/browser_extract_json": {
|
|
22853
23097
|
post: {
|
|
22854
23098
|
summary: "Browser Extract Json",
|
|
22855
|
-
description: "Extract structured data from the page
|
|
23099
|
+
description: "Extract structured data from the page as JSON. For known sites (Google, Amazon, Wikipedia, etc.) uses predefined templates. For unknown sites, uses smart DOM analysis to detect repeating items (products, posts, search results) and extract fields (title, link, image, price, rating, date, description). Use 'selector' to scope extraction to a specific container. Returns page type, items array, structured LD+JSON data, and meta tags.",
|
|
22856
23100
|
tags: [
|
|
22857
23101
|
"General"
|
|
22858
23102
|
],
|
|
@@ -22870,6 +23114,10 @@ var openapi_default = {
|
|
|
22870
23114
|
template: {
|
|
22871
23115
|
type: "string",
|
|
22872
23116
|
description: "Extraction template name for known site types. Available: 'google_search', 'wikipedia', 'amazon_product', 'github_repo', 'twitter_feed', 'reddit_thread'. Leave empty for auto-detection based on URL"
|
|
23117
|
+
},
|
|
23118
|
+
selector: {
|
|
23119
|
+
type: "string",
|
|
23120
|
+
description: "CSS selector to scope extraction to a specific container (e.g., 'div.product-grid', '#results'). When set, only elements within this container are analyzed for repeating patterns"
|
|
22873
23121
|
}
|
|
22874
23122
|
},
|
|
22875
23123
|
required: [
|
|
@@ -23470,6 +23718,10 @@ var openapi_default = {
|
|
|
23470
23718
|
selector: {
|
|
23471
23719
|
type: "string",
|
|
23472
23720
|
description: "CSS selector or natural language description of the element to scroll into view. Examples: '#footer', '.product-reviews', 'the comments section'"
|
|
23721
|
+
},
|
|
23722
|
+
index: {
|
|
23723
|
+
type: "string",
|
|
23724
|
+
description: "When multiple elements match the selector, scroll to the Nth element (0-based). Default: -1 (first match)"
|
|
23473
23725
|
}
|
|
23474
23726
|
},
|
|
23475
23727
|
required: [
|
|
@@ -23596,6 +23848,10 @@ var openapi_default = {
|
|
|
23596
23848
|
timeout: {
|
|
23597
23849
|
type: "string",
|
|
23598
23850
|
description: "Maximum time to wait in milliseconds. Returns error if element doesn't appear within this time. Default: 5000 (5 seconds)"
|
|
23851
|
+
},
|
|
23852
|
+
index: {
|
|
23853
|
+
type: "string",
|
|
23854
|
+
description: "When multiple elements match the selector, wait for the Nth element (0-based). Default: -1 (first match)"
|
|
23599
23855
|
}
|
|
23600
23856
|
},
|
|
23601
23857
|
required: [
|
|
@@ -27149,6 +27405,57 @@ var openapi_default = {
|
|
|
27149
27405
|
}
|
|
27150
27406
|
}
|
|
27151
27407
|
},
|
|
27408
|
+
"/api/execute/browser_get_page_map": {
|
|
27409
|
+
post: {
|
|
27410
|
+
summary: "Browser Get Page Map",
|
|
27411
|
+
description: "Get a compact structured map of all interactive elements on the page, grouped by sections. Returns a markdown table with numbered references, types, descriptions, current values, and selectors. Use element numbers as selectors in browser_click and browser_type (e.g., selector '5'). 10x cheaper than screenshots for AI agent page understanding.",
|
|
27412
|
+
tags: [
|
|
27413
|
+
"General"
|
|
27414
|
+
],
|
|
27415
|
+
requestBody: {
|
|
27416
|
+
required: true,
|
|
27417
|
+
content: {
|
|
27418
|
+
"application/json": {
|
|
27419
|
+
schema: {
|
|
27420
|
+
type: "object",
|
|
27421
|
+
properties: {
|
|
27422
|
+
context_id: {
|
|
27423
|
+
type: "string",
|
|
27424
|
+
description: "The unique identifier of the browser context (e.g., 'ctx_000001')"
|
|
27425
|
+
},
|
|
27426
|
+
intent: {
|
|
27427
|
+
type: "string",
|
|
27428
|
+
description: "Task description to boost matching elements (e.g., 'buy nvidia jetson')"
|
|
27429
|
+
},
|
|
27430
|
+
max_elements: {
|
|
27431
|
+
type: "string",
|
|
27432
|
+
description: "Maximum number of elements to return (0 = unlimited). Returns top N by importance score"
|
|
27433
|
+
},
|
|
27434
|
+
region: {
|
|
27435
|
+
type: "string",
|
|
27436
|
+
description: "Filter to specific page region: 'main', 'nav', 'header', 'footer', 'sidebar', 'article', 'form', 'dialog'. Empty = all regions"
|
|
27437
|
+
}
|
|
27438
|
+
},
|
|
27439
|
+
required: [
|
|
27440
|
+
"context_id"
|
|
27441
|
+
]
|
|
27442
|
+
}
|
|
27443
|
+
}
|
|
27444
|
+
}
|
|
27445
|
+
},
|
|
27446
|
+
responses: {
|
|
27447
|
+
"200": {
|
|
27448
|
+
description: "Successful response"
|
|
27449
|
+
},
|
|
27450
|
+
"400": {
|
|
27451
|
+
description: "Bad request"
|
|
27452
|
+
},
|
|
27453
|
+
"401": {
|
|
27454
|
+
description: "Unauthorized"
|
|
27455
|
+
}
|
|
27456
|
+
}
|
|
27457
|
+
}
|
|
27458
|
+
},
|
|
27152
27459
|
"/api/execute/browser_get_blocker_stats": {
|
|
27153
27460
|
post: {
|
|
27154
27461
|
summary: "Browser Get Blocker Stats",
|