Write a simple query and we'll handle the details
Write the set of actions you want to perform, such as clicking, typing or extracting elements, with the relevant arguments and responses.
We'll handle all the details like waiting for elements, scrolling so it's visible, moving the mouse and searching through iframes.
# Name your script, give it a URL and define a wait condition if wanted
mutation exampleScript {
goto(url: "https://www.example.com/",
waitUntil: firstContentfulPaint) {
status
time
}
# Name each function and choose an action such as typing,
# clicking or querying a selector, then define a response.
itemPrice: text(
selector: "[id='product-price']"){
text
}
# We handle details such as waiting for the element, scrolling so
# it's visible, mousing over to and clicking it, typing
# organically and interacting with iframes.
customFunction: type(
selector: "form [data-testid='login-input-email']"
text: "test@browserless.io") {
selector
}
A specialized scraping IDE with live browser view
Sending requests to an API and crossing your fingers it works isn’t an ideal experience. Our scraping IDE gives you:
A live view of the browser running in our cloud, so no more “but it worked on my machine” feeling.
Bundled documentation and Chrome DevTools, to save you from window hopping.
An option to toggle interactivity with the browser you’re viewing
Copy-as-cURL for when you want to deploy the query in your stack.
That way with BrowserQL, you won’t get left with a 200 response but my mysteriously missing HTML.