Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
The headless Chrome/Chromium driver on top of Puppeteer. Take screenshots, generate PDFs, extract text and HTML with a production-ready API.
| Date | Stars |
|---|---|
| 2026-07-24 | 1825 |
| 2026-07-25 | 1825 |
| 2026-07-28 | 1827 |
| 2026-07-30 | 1826 |
| 2026-08-06 | 1826 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
35.0
growth rate 0.00%/day
<div align="center">
<img style="width: 500px; margin:3rem 0 1.5rem;" src="https://github.com/microlinkhq/browserless/raw/master/static/logo-banner.png#gh-light-mode-only" alt="browserless">
<img style="width: 500px; margin:3rem 0 1.5rem;" src="https://github.com/microlinkhq/browserless/raw/master/static/logo-banner-light.png#gh-dark-mode-only" alt="browserless">
<br><br>
<a href="https://microlink.io"><img src="https://img.shields.io/badge/powered_by-microlink.io-blue?style=flat-square&color=%23EA407B" alt="Powered by microlink.io"></a>
<img src="https://img.shields.io/github/tag/microlinkhq/browserless.svg?style=flat-square" alt="Last version">
<a href="https://coveralls.io/github/microlinkhq/browserless"><img src="https://img.shields.io/coveralls/microlinkhq/browserless.svg?style=flat-square" alt="Coverage Status"></a>
<a href="https://www.npmjs.org/package/browserless"><img src="https://img.shields.io/npm/dm/browserless.svg?style=flat-square" alt="NPM Status"></a>
<br><br>
</div>
> The headless Chrome/Chromium driver on top of [Puppeteer](https://github.com/GoogleChrome/puppeteer).
- [Highlights](#highlights)
- [Installation](#installation)
- [Usage](#usage)
- [The cloud API solution](#the-cloud-api-solution)
- [CLI](#cli)
- [Initializing a browser](#initializing-a-browser)
- [.constructor(options)](#constructoroptions)
- [.createContext(options)](#createcontextoptions)
- [.browser()](#browser)
- [.respawn()](#respawn)
- [.close()](#close)
- [Built-in](#built-in)
- [.html(url, options)](#htmlurl-options)
- [.text(url, options)](#texturl-options)
- [.pdf(url, options)](#pdfurl-options)
- [.screenshot(url, options)](#screenshoturl-options)
- [.destroyContext(options)](#destroycontextoptions)
- [.getDevice(options)](#getdeviceoptions)
- [.evaluate(fn, gotoOpts)](#evaluatefn-gotoopts)
- [.goto(page, options)](#gotopage-options)
- [.context()](#context)
- [.withPage(fn, \[options\])](#withpagefn-options)
- [.page(\[name\])](#pagename)
- [Extended](#extended)
- [function](#function)
- [lighthouse](#lighthouse)
- [screencast](#screencast)
- [Packages](#packages)
- [FAQ](#faq)
- [License](#license)
---
## Highlights
- Compatible with Puppeteer API ([text](#texturl-options), [screenshot](#screenshoturl-options), [html](#htmlurl-options), [pdf](#pdfurl-options)).
- Built-in [adblocker](#adblock) for canceling unnecessary requests.
- Shell interaction via [Browserless CLI](#cli).
- Easy [Google Lighthouse](#lighthouse) integration.
- Automatic retry & error handling.
- Sensible good defaults.
## Installation
You can install it via npm:
```bash
npm install browserless puppeteer --save
```
**Browserless** runs on top of [Puppeteer](https://github.com/GoogleChrome/puppeteer), so you need that installed to get started.
You can choose between [`puppeteer`](https://www.npmjs.com/package/puppeteer) and [`puppeteer-core`](https://www.npmjs.com/package/puppeteer-core) depending on your use case.
## Usage
Here is a complete example showcasing some **Browserless** capabilities:
```js
const createBrowser = require('browserless')
const termImg = require('term-img')
// First, create a browserless factory
// This is similar to opening a browser for the first time
const browser = createBrowser()
// Browser contexts are like browser tabs
// You can create as many as your resources can support
// Cookies/caches are limited to their respective browser contexts, just like browser tabs
const browserless = await browser.createContext()
// Perform your required browser actions.
// e.g., taking screenshots or fetching HTML markup
const buffer = await browserless.screenshot('http://example.com', {
device: 'iPhone 6'
})
console.log(termImg(buffer))
// After your task is done, destroy your browser context
await browserless.destroyContext()
// At the end, gracefully shutdown the browser process
await browser.close()
```
As you can see, **Browserless** uses a single browser process, allowExcerpt of 35,279 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:fbedd3dc6641e266, topic:web-scraping
matched fp:fbedd3dc6641e266, topic:automation
matched fp:fbedd3dc6641e266, topic:browser-automation