Browser bot can extract content, interact with keyboard and mouse events, and execute JavaScript on a website.
This API is based on the Chromium web browser so works exactly like the desktop browser.
To extract live content from the page DOM use the "selector" option which will find page elements by CSS selector and
return the results in the "elements" array. To automate user interactions on a page use the "exec" option, this takes an array of commands
which can be either the special interaction functions (see docs below) or just plain old JavaScript code.
Browser bot will also return useful HTTP status and response data for the given URL so can be handy for monitoring and analysis tasks too.
Timeout in seconds. Give up if still trying to load the page after this number of seconds
delay
no
integer
3
Delay in seconds to wait before capturing any page data, executing selectors or JavaScript
selector
no
string
Extract content from the page DOM using this selector. Commonly known as a CSS selector, you can find a good reference here
exec
no
string
Execute JavaScript on the website. This parameter accepts JavaScript as either a string containing JavaScript or for sending multiple separate statements a JSON array or POST array can also be used. If a statement returns any value it will be returned in the 'exec-results' response. You can also use the following specially defined user interaction functions:
sleep(seconds); Just wait/sleep for the specified number of seconds. click('selector'); Click on the first element matching the given selector. focus('selector'); Focus on the first element matching the given selector. keys('characters'); Send the specified keyboard characters. Use click() or focus() first to send keys to a specific element. enter(); Send the Enter key. tab(); Send the Tab key.
user-agent
no
string
Override the browsers default user-agent string with this one
ignore-certificate-errors
no
boolean
false
Ignore any TLS/SSL certificate errors and load the page anyway
API Response
Parameter
Type
Description
url
string
The page URL
content
string
The complete raw, decompressed and decoded page content. Usually will be either HTML, JSON or XML
mime-type
string
The document MIME type
title
string
The document title
language-code
string
The ISO 2-letter language code of the page. Extracted from either the HTML document or via HTTP headers
is-error
boolean
True if an error has occurred loading the page. Check the 'error-message' field for details
is-timeout
boolean
True if a timeout occurred while loading the page. You can set the timeout with the request parameter 'timeout'
error-message
string
Contains the error message if an error has occurred ('is-error' will be true)
http-status-code
integer
The HTTP status code the URL returned
http-status-message
string
The HTTP status message the URL returned
is-http-ok
boolean
True if the HTTP status is OK (200)
is-http-redirect
boolean
True if the URL responded with an HTTP redirect
http-redirect-url
string
The redirected URL if the URL responded with an HTTP redirect
server-ip
string
The HTTP servers IP address
load-time
float
The number of seconds taken to load the page (from initial request until DOM ready)
response-headers
map
Map containing all the HTTP response headers the URL responded with
is-secure
boolean
True if the page is secured using TLS/SSL
security-details
map
Map containing details of the TLS/SSL setup
elements
array
Array containing all the elements matching the supplied selector. Each element object will contain the text content, HTML content and all current element attributes
exec-results
array
If you executed any JavaScript this array holds the results as objects
API Performance
Characteristic
Value
Description
Avg Latency
1-10s (variable)
This API has a non-deterministic latency based on outside factors
Max Rate
1/second
Maximum inbound request rate. Exceeding this will result in request throttling
Max Concurrency
25
Maximum concurrent/simultaneous requests. Exceeding this will result in error code 06 [TOO MANY CONNECTIONS]