What is browserless?

contents

What is browserless?

Browserless is a browser-as-a-service where we enable you to make the web an API. In other words, we enable you to use all the power of headless chrome, hassle-free. So, you're already using libraries like Puppeteer and Playwright? No problem, we support a bunch of those libraries, since we work with the CDP (Chrome DevTools Protocol)

What use-cases does it have?

We have a few use-cases that cover 99% of our customer's needs, described below. However, there are virtually no limits on the amount of things our tool can be used for!

PDF generation

Make sure your HTML & CSS look good and you're good to go. After that, just point our /pdf API to that URL and you have yourself a fresh-looking PDF.

We have a bunch of API docs for you to explore like this one. So feel free to check them out!

Scraping

Crawling the web to gather information, data collection, and aggregation - all of that good stuff can be done easily with browserless. For example, say you want to compare prices of products on different sites, get the best flight price, generate a JSON collection of URLs of some site... the use-cases are endless. We even have an API for scraping HTML content for straightforward HTML scraping, which helps a bunch for sites that are single-page apps or dynamically load stuff with javascript.

We built the infrastructure and designed the tool, so you can build awesome products with it!

Testing

Don't use your time manually checking that everything is working after changes to your site. Rather, let the robots do that for you! With browserless, you can do all types of tests, from unit-testing through E2E testing; you can even easily do load-testing to guarantee performance! You can create hundreds or thousands of sessions hitting your site and simulating usage so you can make sure your site is ready for a multitude of real clients in production - this is real QA at its peak.

How to get started with browserless?

There are different ways to use our product.

  • Use our online debugger to try it out!
  • Sign up for a free account and get an API key. You have 6 hours of usage for free! After that, you can pay as you go, and only pay per second that you use!
  • You can self-host for development purposes by using our OpenSource browserless docker image
  • If you've already tested our service and want a dedicated machine for your requests, you might be interested in signing up for a dedicated account, this works best if your doing screencasting or have a heavy load of requests since you won't be sharing resources.

If you're using one of our hosted services: be that a usage-based or capacity-based,  just connect to our WebSocket Secure with your token to start your web scraping!

browserless io websocket secure

browserless' added value

Why use browserless instead of puppeteer? Well, if you already started a project with Puppeteer or Playwright, you might run into some common troubles that most people do, having to manage several instances of Puppeteer is a lot of work! browserless handles this for you. In addition to that, upgrading to browserless doesn't require much code change, sometimes it's just one line of code!

What does browserless handle for me?

  • Load balancing
  • Scalability
  • Exception handling
  • Font compatibility
  • Libraries breaking

It took 60% of my time in my previous job, it was just too much time!

-Joel Griffith, CEO & Founder of browserless

This is why browserless was born - managing multiple instances of Puppeteer is a dirty job, but someone has to do it. We take care of all these troubles so you folk can build amazing products with our tool, and we enjoy building this tool for developers like you.

So what are you waiting for? Get started for free and sign up to browserless!

If you have any feedback, or want to suggest new features, feel free to contact us through browserless' Slack community!!

YouTube video transcript:

"Hey folks, my name is Joel Griffith! I'm the CEO and founder of browserless.io. Now, one of the questions we often get is what exactly is browserless? Browserless is a service that lets you do stuff automatically that you would normally do manually. You can use libraries like puppeteer, playwright. We also have rest APIs. Anything from doing PDFs to screenshots to filling in web data, all that stuff you can do in browserless and scale it really highly.

So, now you know a little bit about what browserless is and what it can do, the next question is - where is it? We run browserless in two different places. The first is our hosted cloud, which is really easy: you sign up for an account, get an API token to access the service, and you're off and running and can scale pretty much infinitely. The second place is locally, so everything is packaged up in a docker container. Once you have that installed locally, you can run it locally, you can run it in the cloud: on AWS, Google Cloud, Microsoft Azure and just run with it from there.

So, why was browserless built? We built it for two things really. The first was that puppeteer and all these other libraries just kind of come with all the stuff naturally. The problem is that when you go to production, sometimes not all of that works, and a lot of times it won't work at the scale you think it will. You have to keep up with security updates, deal with things like fonts not being there, and just a whole other swath of issues that you know after you've been in production for a little bit with it.

The second reason that we really recommend using something like browserless is that it separates chrome from your core infrastructure, so you wouldn't necessarily go to production with API code right alongside your MySQL database on the same machine. You want both of them to be separate and that's in case one of them goes down, it doesn't bring the other one with it. We found this really to be true with headless chrome: if headless chrome dies, it can break down your service, stop everything and you absolutely don't want that to happen.

Alright, so I think the next best thing to do is to show you a little bit of code on how you can use browserless, why it's so quick and easy to get started. It's really simple to talk about browserless but it's usually helpful to see it. We have a little bit of code here that I wanted to show everyone. Pretty simple, we're using puppeteer and Node.js but there's essentially two functions I want to talk about, the first is run local so this will do a launch of chrome locally as you can see by puppeteer.launch. I have headless set off so we can see it start up and close down. There's also a run browserless so this instead of launching chrome locally, it will connect to an existing browser instance. Puppeteer.connect is the method and you give it a browser websocket endpoint or WS as they say in a lot of these things. So we're going to do browserWSendpoint and we're going to give it our chrome.browserless.io URL. I have my token that I'm pulling from my environment variables and I'm going to drop that in here to connect. Very simple script after that we're going to connect, start a new browser and that browser is going to make a new page. We're going to go to the hacker news website, print the title and we're going to close. So, pretty straightforward.

Let's run this. Now you'll see that web browser started and closed really quickly. I'll do that one more time just so you can see it. So, launched new page opened logged the title, that's what we see here, log in the title hacker news, now I'm going to flip this over instead of using run local, we're going to use run browserless, and instead of seeing something happening now you'll see nothing but you'll still see a result and that's again because we've - nothing has changed application wise we have you know a little bit of code here that runs but instead of connecting to chrome locally and launching it we're actually connecting to browserless in the cloud."

Share this article

Ready to try the benefits of Browserless?