@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.
Files changed (3) hide show
  1. package/README.md +1 -1
  2. package/openapi.json +105 -4
  3. 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://docs.owlbrowser.net
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.4"
6
+ "version": "1.0.7"
7
7
  },
8
8
  "servers": [
9
9
  {
10
- "url": "http://127.0.0.1:8080",
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, or getting form values.",
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 stops the current browser subprocess and starts a new one. Useful after updating configuration, adding/removing licenses, or recovering from browser errors. All active browser contexts will be terminated. Returns success/failure status.",
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@olib-ai/owl-browser-sdk",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "description": "Node.js SDK for Owl Browser automation - Async-first with dynamic OpenAPI method generation",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",