Contact Us
If you still have questions or prefer to get help directly from an agent, please submit a request.
Popular topics: Multilogin X, Multilogin 6, Subscription & payments,
-
Will Multilogin work on your device? Check our system requirements Multilogin X support & resources: how to get help fast How to buy a Multilogin X subscription How to sync Multilogin 6 subscription with Multilogin X How to transfer profiles to Multilogin X from other apps How to navigate Multilogin X interface Multilogin X made easy: your 3-step guide to getting started How to connect the agent in Multilogin X How to create and launch your first profile in Multilogin X Stay undetected: 4 key steps to safe multiaccounting with Multilogin X How to warm up a profile in Multilogin X Getting started with Multilogin X FAQHow agent and launcher work together in Multilogin X How to connect the agent in Multilogin X How to auto-launch the agent How to check and update the agent version in Multilogin X How to disconnect and reconnect the agent in Multilogin X How to uninstall the agent in Multilogin X How to manage agent logs in Multilogin XHow to use bulk actions in Multilogin X How to use a trash bin in Multilogin X How to create and launch your first profile in Multilogin X How to launch and stop profiles in Multilogin X How to install browser extensions in Multilogin X How to export and import profiles in Multilogin X How to use Quick profiles in Multilogin X How to use Android profiles in Multilogin X Profile management FAQMastering multi-accounting: the right way to use cookies How to use Cookie import in Multilogin X How to use Cookie export in Multilogin X How to use Pre-made cookies in Multilogin X How to launch CookieRobot using Script Runner Why don’t cookies log you in to the target account? Why isn't cookie import working?How to choose the right proxy type Proxies & IP masking FAQ How to test a proxy What you need to know about Multilogin proxy: FAQ How to use Multilogin proxy: guide How to use HTTP and SOCKS proxies in Multilogin How to use Multilogin with 4G/5G connection How to set up Multilogin with NodeMaven How to use custom DNS in Multilogin How to fix profile launch or proxy connection issues How to fix “Profile failed to start” error How to fix “Wrong proxy data” error How to fix “ERR_TIMED_OUT” error How to fix “ERR_CONNECTION_RESET” error How to fix “ERR_CONNECTION_CLOSED” errorRetrieving the token Using the automation token in a workspace Retrieving profile, folder, and workspace IDs Retrieving the user ID Selenium automation example Playwright automation example Puppeteer automation example Logging in to Multilogin automatically How to use Multilogin CLI tool Exporting proxy details from profiles Converting external proxy lists into API-ready JSON files How to export cookies using API How to launch CookieRobot using Script Runner Multilogin X automation FAQ API basics: key terms & concepts Script to create pre-configured profile templates How to auto-launch the agentHow to adjust location settings in Multilogin X How to adjust software settings in Multilogin X How to adjust hardware settings in Multilogin X How to adjust screen resolutions in Multilogin Think before you switch: the truth about fingerprint mismatches Passive OS fingerprint masking (TCP/IP fingerprint) in Multilogin Should my font hash change in Multilogin? How to fix browser fingerprint inconsistencies How to replace Mimic icon in Multilogin on Windows Fingerprinting myths: what websites actually trackBrowser core update is stuck? Try these solutions My app or profile is slow: how to fix performance issues Account banned: what should I do? Why isn't cookie import working? Why don’t cookies log you in to the target account? How to enable web camera in Multilogin profiles How to access restricted websites How to unlock a locked profile How to find missing profiles How to fix missing browser data issue How to fix startup issues in Multilogin How to fix Multilogin issues on macOS How to fix agent connection issues How to fix profile launch or proxy connection issues How to fix connection issues in restricted regions How to fix website loading issues in Multilogin How to fix Mimic launch issues on Linux How to fix browser fingerprint inconsistencies How to fix small Stealthfox window resolution on WindowsHow to fix "Your Windows system cannot perform the necessary WinAPI calls to launch Stealthfox browser" error How to fix “Failed to get profile data” error How to fix “Access denied” error How to fix “Aw, Snap! STATUS_BREAKPOINT” error How to fix “Aw, Snap! STATUS_ACCESS_VIOLATION” error How to fix “ERR_CONNECTION_CLOSED” error How to fix “ERR_TIMED_OUT” error How to fix “ERR_CONNECTION_RESET” error How to fix “Some settings were reset” error How to fix “Profile failed to start” error How to fix “Plan limits reached” error How to fix “Wrong proxy data” error How to fix "Restricted by plan" error How to fix "Too many requests" error
-
How to install Multilogin 6 on Linux How to transfer profiles between Multilogin 6 accounts How to set up default profile settings in Multilogin 6 How to customize a profile in Multilogin 6 How to use Quick edit sidebar in Multilogin 6 How to use Android profiles in Multilogin 6 How to use Human typing emulation in Multilogin 6 How to install browser extensions in Multilogin 6 How to use proxy over SSH (POSSH) in Multilogin 6 How to use CookieRobot in Multilogin 6Multilogin 6 teamwork overview How to manage groups in Multilogin 6 (owner's guide) How to manage team members in Multilogin 6 (owner’s guide) Team member roles and access levels in Multilogin 6 Multilogin 6 team members' guide How to switch between Multilogin 6 accounts How to fix "Cannot invite existing user" errorHow to send logs to support How to edit the app.properties file How to reinstall app components How to reinstall Multilogin 6 How to fix profile launch issues in Multilogin 6 How to fix proxy connection issues in Multilogin 6 How to fix frozen "Update in progress... Loading [3] of 2 components" status How to fix Android profile issues in Multilogin 6 How to fix issues with extension data in Mimic How to fix a profile stuck on “Active” status How to fix IP leaks when using a proxy How to fix "JavaScript error" in Multilogin 6 dark mode How to fix "Javax.crypto […] pad block corrupted" error How to fix "Fingerprint composition failed" error How to fix "Mimic/Stealthfox executable is not found" error How to fix “Profile is not created/updated” error How to fix "Downloading Mimic browser" error How to fix “Application request limit is reached” error How to fix "Invalid buffer arguments" error How to fix “Unable to save profile: User-Agent is empty” error How to fix "Cannot invite existing user" error Why don’t cookies log you in to the target account? Why isn't cookie import working?
-
How to choose the perfect Multilogin plan How to buy a Multilogin X subscription How to change a subscription How to renew a subscription How to cancel a subscription How to change a payment method How to manage invoices How to pay with crypto Subscription & payments FAQ How to sync Multilogin 6 subscription with Multilogin X
Puppeteer browser automation in Multilogin 6

Written by Yana Shcharbina
Updated on February 5th, 2025
Table of contents
Puppeteer is a library for Node.js that provides an opportunity to automate processes with a Chromium-based browser through high-level API over the Chrome DevTools Protocol. For example, you can create web crawlers that search and collect data by using the Mimic browser with masked fingerprints.
Multilogin 6 port allocation
In Multilogin, you need to predefine the application port in order to utilize Puppeteer automation.
- Go to the C:\Users\%username%\.multiloginapp.com directory and open the app.properties file using any text editor
- Add the following string to the file:
multiloginapp.port=[PORT_NUMBER]
The port number has to be in the range of 10000 to 49151.
- Save the app.properties file
Thereafter, you will be able to refer to the Multilogin 6 application through this port.
For more detailed instructions on how to complete these steps on different operating systems, check this guide.
How to start
Step 1
Make sure that you have Node.js and npm package manager installed on your PC. Node.js and npm can be downloaded from the official Node.js website (the latest versions of Node.js include npm by default). Alternatively, you can use yarn for Node.js packages management.
You can check the version of your Node.js and npm by executing the following commands in the terminal:
nodejs -v || node -v && npm -v
Step 2
Create a new npm project in the current directory:
npm init -y
This command will create a package.json file and a -y parameter allows to skip the questionnaire and create a project with default settings.
Step 3
Install Puppeteer-core in the project directory:
npm install [email protected] --save
Certain Puppeteer-core versions are only compatible with certain Chromium versions. You can check our Release notes for Mimic browser core updates. Information on the compatibility of Puppeteer-core and Chromium versions is available in Puppeteer documentation.
Step 4
Create a .js file with your automation code. Please use the following code example for reference:
const puppeteer = require('puppeteer-core');
const http = require('http');
async function startProfile(){
//Replace profileId value with existing browser profile ID.
let profileId = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx';
let mlaPort = 35000;
/*Send GET request to start the browser profile by profileId.
Returns web socket as response which should be passed to puppeteer.connect*/
http.get(`http://127.0.0.1:${mlaPort}/api/v1/profile/start?automation=true&puppeteer=true&profileId=${profileId}`, (resp) => {
let data = '';
let ws = '';
//Receive response data by chunks
resp.on('data', (chunk) => {
data += chunk;
});
/*The whole response data has been received. Handling JSON Parse errors,
verifying if ws is an object and contains the 'value' parameter.*/
resp.on('end', () => {
let ws;
try {
ws = JSON.parse(data);
} catch(err) {
console.log(err);
}
if (typeof ws === 'object' && ws.hasOwnProperty('value')) {
console.log(`Browser websocket endpoint: ${ws.value}`);
run(ws.value);
}
});
}).on("error", (err) => {
console.log(err.message);
});
}
async function run(ws) {
try{
//Connecting Puppeteer with Mimic instance and performing simple automation.
const browser = await puppeteer.connect({browserWSEndpoint: ws, defaultViewport:null});
const page = await browser.newPage();
await page.goto('https://multilogin.com');
await page.screenshot({ path: `/home/${process.env.USER}/Desktop/multiloginScreenshot.png` });
await browser.close();
} catch(err){
console.log(err.message);
}
}
startProfile();
Step 5
Launch the .js file through the terminal in order to start your automation script:
nodejs example.js