@olib-ai/owl-browser-sdk 2.0.0 → 2.0.2
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/README.md +1 -1
- package/openapi.json +105 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -346,6 +346,6 @@ MIT - See LICENSE file for details.
|
|
|
346
346
|
## Links
|
|
347
347
|
|
|
348
348
|
- **Website**: https://www.owlbrowser.net
|
|
349
|
-
- **Documentation**: https://
|
|
349
|
+
- **Documentation**: https://www.owlbrowser.net/docs
|
|
350
350
|
- **GitHub**: https://github.com/Olib-AI/olib-browser
|
|
351
351
|
- **Support**: support@olib.ai
|
package/openapi.json
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "Owl Browser API",
|
|
5
5
|
"description": "REST API for browser automation with anti-detection capabilities",
|
|
6
|
-
"version": "1.0.
|
|
6
|
+
"version": "1.0.7"
|
|
7
7
|
},
|
|
8
8
|
"servers": [
|
|
9
9
|
{
|
|
10
|
-
"url": "http://
|
|
10
|
+
"url": "http://localhost",
|
|
11
11
|
"description": "Current server"
|
|
12
12
|
}
|
|
13
13
|
],
|
|
@@ -25,6 +25,99 @@
|
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"paths": {
|
|
28
|
+
"/go": {
|
|
29
|
+
"get": {
|
|
30
|
+
"summary": "Browser Go",
|
|
31
|
+
"description": "One-shot browser navigation tool. Creates a new context, navigates to the URL, waits for page load, extracts the HTML, and closes the context. Optimized for single-page scraping or rendering tasks. Supports both GET and POST requests.",
|
|
32
|
+
"tags": [
|
|
33
|
+
"Navigation"
|
|
34
|
+
],
|
|
35
|
+
"parameters": [
|
|
36
|
+
{
|
|
37
|
+
"name": "url",
|
|
38
|
+
"in": "query",
|
|
39
|
+
"required": true,
|
|
40
|
+
"schema": {
|
|
41
|
+
"type": "string"
|
|
42
|
+
},
|
|
43
|
+
"description": "The full URL to navigate to, including protocol (e.g., 'https://example.com'). Supports http://, https://, file://, and data: URLs"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "wait_until",
|
|
47
|
+
"in": "query",
|
|
48
|
+
"required": false,
|
|
49
|
+
"schema": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"enum": [
|
|
52
|
+
"",
|
|
53
|
+
"load",
|
|
54
|
+
"domcontentloaded",
|
|
55
|
+
"networkidle",
|
|
56
|
+
"fullscroll"
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
"description": "When to consider navigation complete: '' (return immediately), 'load' (wait for load event), 'domcontentloaded' (wait for DOMContentLoaded), 'networkidle' (wait for network to be idle, default), 'fullscroll' (scroll full page to trigger lazy loading, then scroll back to top)"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"name": "timeout",
|
|
63
|
+
"in": "query",
|
|
64
|
+
"required": false,
|
|
65
|
+
"schema": {
|
|
66
|
+
"type": "integer"
|
|
67
|
+
},
|
|
68
|
+
"description": "Maximum time to wait for navigation in milliseconds. Default: 30000 (30 seconds)"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"name": "output",
|
|
72
|
+
"in": "query",
|
|
73
|
+
"required": false,
|
|
74
|
+
"schema": {
|
|
75
|
+
"type": "string",
|
|
76
|
+
"enum": [
|
|
77
|
+
"html",
|
|
78
|
+
"text",
|
|
79
|
+
"markdown"
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
"description": "Output format. html=raw HTML, text=extracted text, markdown=markdown conversion. Default: html"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"name": "os",
|
|
86
|
+
"in": "query",
|
|
87
|
+
"required": false,
|
|
88
|
+
"schema": {
|
|
89
|
+
"type": "string",
|
|
90
|
+
"enum": [
|
|
91
|
+
"windows",
|
|
92
|
+
"macos",
|
|
93
|
+
"linux"
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
"description": "Filter profiles by operating system. Options: 'windows', 'macos', 'linux'"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"name": "use_tor",
|
|
100
|
+
"in": "query",
|
|
101
|
+
"required": false,
|
|
102
|
+
"schema": {
|
|
103
|
+
"type": "boolean"
|
|
104
|
+
},
|
|
105
|
+
"description": "Use TOR proxy for anonymous browsing. Each request gets a unique exit IP. Default: false"
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
"responses": {
|
|
109
|
+
"200": {
|
|
110
|
+
"description": "Successful response"
|
|
111
|
+
},
|
|
112
|
+
"400": {
|
|
113
|
+
"description": "Bad request"
|
|
114
|
+
},
|
|
115
|
+
"401": {
|
|
116
|
+
"description": "Unauthorized"
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
},
|
|
28
121
|
"/api/execute/browser_create_context": {
|
|
29
122
|
"post": {
|
|
30
123
|
"summary": "Browser Create Context",
|
|
@@ -1882,7 +1975,7 @@
|
|
|
1882
1975
|
"/api/execute/browser_extract_text": {
|
|
1883
1976
|
"post": {
|
|
1884
1977
|
"summary": "Browser Extract Text",
|
|
1885
|
-
"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. Useful for reading page content, extracting article text,
|
|
1978
|
+
"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.",
|
|
1886
1979
|
"tags": [
|
|
1887
1980
|
"General"
|
|
1888
1981
|
],
|
|
@@ -1900,6 +1993,14 @@
|
|
|
1900
1993
|
"selector": {
|
|
1901
1994
|
"type": "string",
|
|
1902
1995
|
"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', 'article', 'the product description'"
|
|
1996
|
+
},
|
|
1997
|
+
"regex": {
|
|
1998
|
+
"type": "string",
|
|
1999
|
+
"description": "Optional regex pattern to apply to the extracted text. When provided, only content matching the regex will be returned. If both selector and regex are provided, the selector extracts text first, then regex filters the result. Examples: '\\\\d+' to extract numbers, '(?<=Price: )\\\\$[\\\\d.]+' to extract prices, '[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\\.[A-Z|a-z]{2,}' for emails"
|
|
2000
|
+
},
|
|
2001
|
+
"regex_group": {
|
|
2002
|
+
"type": "string",
|
|
2003
|
+
"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."
|
|
1903
2004
|
}
|
|
1904
2005
|
},
|
|
1905
2006
|
"required": [
|
|
@@ -6968,7 +7069,7 @@
|
|
|
6968
7069
|
"/api/execute/server_restart_browser": {
|
|
6969
7070
|
"post": {
|
|
6970
7071
|
"summary": "Server Restart Browser",
|
|
6971
|
-
"description": "Restart the browser process. This
|
|
7072
|
+
"description": "Restart the HTTP server and browser via s6-overlay process supervisor. This performs a clean restart of the entire service, ensuring both the HTTP server and browser processes are fully restarted. Useful for recovering from browser hangs, memory issues, or applying configuration changes. All active browser contexts will be terminated. The restart is non-blocking - the response is sent before the restart occurs (~1 second delay). In Docker containers, uses s6-svc for graceful restart. Falls back to browser-only restart in non-Docker environments.",
|
|
6972
7073
|
"tags": [
|
|
6973
7074
|
"General"
|
|
6974
7075
|
],
|
package/package.json
CHANGED