npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

gologin

v2.1.33

Published

A high-level API to control Orbita browser over GoLogin API

Readme

GoLogin Node.js SDK

This package provides functionality to run and stop GoLogin profiles with node.js and then connect the profiles to automation tools like Selenium, Puppetteer, Playwright etc.

How does it work?

  1. You give SDK your dev token and profile id that you want to run
  2. SDK takes care of downloading, preparing your profile and starts the browser
  3. SDK gives you websocket url for automation tools
  4. You take this websocker url and connect it to the automation tool on your choice: Puppetteer, Selenium, Playwright etc
  5. Automation tool connects to browser and you can manage it through code

Getting Started

Where is token? API token is here.

Token API in Settings

Installation

npm i gologin

Example

import { GologinApi } from './src/gologin-api.js';

const GL = GologinApi({
  token: 'your token',
});

const profile = await GL.createProfileRandomFingerprint('some name');
const profileId = profile.id;

await GL.addGologinProxyToProfile(profileId, 'us');
const browser = await GL.launch({ profileId });
const page = await browser.newPage();
await page.goto('https://linkedin.com');
await new Promise((resolve) => setTimeout(resolve, 5000));
await browser.close();
await GL.stop();

Methods

constructor

Required options:

  • token <[string]> Required - your API token

Optional options:

  • profile_id <[string]> - profile ID (NOT PROFILE NAME) will be generated if not specified
  • executablePath <[string]> path to executable Orbita file. Orbita will be downloaded automatically if not specified
  • extra_params arrayof <[string]> additional flags for browser start. For example: '--headles', '--load-extentions=path/to/extension'
  • uploadCookiesToServer <[boolean]> upload cookies to server after profile stopping (default false). It allows you to export cookies from api later.
  • writeCookesFromServer <[boolean]> if you have predefined cookies and you want browser to import it (default true).
  • tmpdir <[string]> absolute path to the directtory where you want to store user-data-dir. Default path in tmp folder will be picked if no specified
  • vncPort <[integer]> port of VNC server if you using it
const GL = new GoLogin({
    token: 'your token',
    profile_id: 'profile id',
    extra_params: ["--headless", "--load-extentions=path/to/extension"]
});

createProfileRandomFingerprint - you pass os ('lin', 'win', 'mac') and profile name and we give you brand new shiny profile

const GL = new GoLogin({
    token: 'your token',
    profile_id: 'profile id',
    extra_params: ["--headless", "--load-extentions=path/to/extension"]
});
const profile = await gl.createProfileRandomFingerprint("some name")
const profileId = profile.id

createProfileWithCustomParams - This method creates a profile and you can pass any particular params to it. Full list of params you can find here - https://api.gologin.com/docs

const GL = GoLogin({
	"token": "your token",
	})
const profile = await gl.createProfileWithCustomParams({
    "os": "lin",
    "name": "some name",
    "navigator": {
        "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36",
        "resolution": "1920x1080",
        "language": "en-US",
        "platform": "Linux x86_64",
        "hardwareConcurrency": 8,
        "deviceMemory": 8,
        "maxTouchPoints": 0
    }
})
const profileId = profile.id

updateUserAgentToLatestBrowser - user agent is one of the most important thing in your fingerprint. It decides which browser version to run. This method help you to keep useragent up to date.

const GL = GoLogin({
	"token": "your token",
	})
await GL.updateUserAgentToLatestBrowser(["profineId1", "profileId2"], "workspceId(optional)")

addGologinProxyToProfile - Gologin provides high quality proxies with free traffic for paid users. Here you can add gologin proxy to profile, just pass country code

const GL = GoLogin({
	"token": "your token",
	})
await GL.addGologinProxyToProfile("profileId", "us")

addCookiesToProfile - You can pass cookies to the profile and browser will import it before starting

const GL = GoLogin({
	"token": "your token",
	})

await GL.addCookiesToProfile("profileId", [
    {
        "name": "session_id",
        "value": "abc123",
        "domain": "example.com",
        "path": "/",
        "expirationDate": 1719161018.307793,
        "httpOnly": True,
        "secure": True
    },
    {
        "name": "user_preferences",
        "value": "dark_mode",
        "domain": "example.com",
        "path": "/settings",
        "sameSite": "lax"
    }
])

refreshProfilesFingerprint - Replaces your profile fingerprint with a new one

const GL = GoLogin({
	"token": "your token",
	})

await GL.refreshProfilesFingerprint(["profileId1", "profileId2"])

changeProfileProxy - allows you to set a proxy to a profile

const GL = GoLogin({
	"token": "your token",
	})
await GL.changeProfileProxy("profileId", { "mode": "http", "host": "somehost.com", "port": 109, "username": "someusername", "password": "somepassword"})

launch() - starts browser with profile id, returning WebSocket url for puppeteer

const GL = GoLogin({
	"token": "your token",
	})
await GL.launch({ profileId: 'some profileId' })

exit() stops browser and uploads it to the storage

const GL = GoLogin({
	"token": "your token",
	})
await GL.launch({ profileId: 'some profileId' })
await GL.exit()

DEBUG

For debugging use DEBUG=* node example.js command

Selenium

To use GoLogin with Selenium see selenium/example.js

Full GoLogin API

Gologin Api Documentation

Python support

pyppeteer (recommend) and Selenium supported (see file gologin.py)

for Selenium may need download webdriver

Privacy

Our full privacy policy you can finde here