Guide · Mimic + Playwright
Playwright + Multilogin X
Media buyers and MMO tech teams search “multilogin playwright” because UI clicking does not scale. The real loop is simple: authenticate, ask the local Launcher to start a profile with automation_type=playwright, then connectOverCDP to the port Multilogin returns.
Plan gate: Free has no API. You need Pro or higher — pricing. Playwright attaches to Mimic cores; Multilogin’s docs say Stealthfox + Playwright is not available yet.
Source of truth
- Official Playwright automation example
- Start profile (Launcher v2)
- Full API Postman documenter
- Our map: /guides/mlx-api/ · auth: API auth
Prerequisites
- Multilogin agent/app running on the machine (Launcher calls fail without it)
folder_id+profile_id(copy from UI / DevTools / Postman)- Node 18+,
playwright, and something to hash MD5 for sign-in (official sample usesmd5/hashlib.md5) - Proxy + TZ already coherent if you care about ads platforms — proxy guide
Flow that matches Multilogin’s sample
1. POST https://api.multilogin.com/user/signin
body: { "email": "...", "password": "<md5 hex of password>" }
→ data.token (help text: ~30 min; refresh or use automation token)
2. GET https://launcher.mlx.yt:45001/api/v2/profile/f/{folder_id}/p/{profile_id}/start
?automation_type=playwright&headless_mode=false
Authorization: Bearer {token}
→ data.port
3. playwright.chromium.connectOverCDP(`http://127.0.0.1:${port}`)
4. Use the existing context/page — do not invent a naked chromium.launch()
5. Stop the profile via Launcher when the job ends
(do not treat browser.close() as Multilogin stop)
Paths and hosts can change; if a call 404s, open the Postman documenter Launcher folder before rewriting your script.
Minimal connect snippet
import { chromium } from "playwright";
const browserURL = `http://127.0.0.1:${portFromLauncher}`;
const browser = await chromium.connectOverCDP(browserURL, { timeout: 10_000 });
const context = browser.contexts()[0];
const page = context.pages()[0] || await context.newPage();
await page.goto("https://example.com");
Full sign-in + start lives in our monorepo kit (and the mirrored public starter). Prefer starting via Launcher when you automate; CDP_URL-only mode is fine after a Postman start.
When connect fails
- App not running / wrong machine → Launcher never opened a port
- Forgot
automation_type=playwright→ response may lack a usable automation port - Token expired (~30 min) → re-sign or refresh — token errors
- Port races / stale CDP → CDP attach desk
Ops for ads / MMO desks
Automate reporting and QA. Keep human review on policy-sensitive clicks. Isolation patterns: Facebook ads · Google ads · multi-account ads.
SAAS50. Cloud Android → MIN50. We are an affiliate desk, not Multilogin Support.