Wayfern vs Multilogin

Both put a real browser in front of a bot check. One is a profile manager a person operates; the other is a metered CDP endpoint your code connects to.

Verdict: profiles you manage, or sessions you open

Choose Multilogin if your unit of work is a durable identity — a logged-in account you come back to for weeks, carrying its own fingerprint, cookie jar and proxy, usually opened by a person in a window. Its profile model is built for exactly that, and it exposes roughly fifteen fingerprint vectors individually, each with explicit Masked / Custom / Real modes. That is more per-vector control than Wayfern gives anybody.

Choose Wayfern if your unit of work is a browser your code opens, drives and closes. You point Playwright or Puppeteer at a CDP WebSocket with a link token, the session exists for exactly as long as that socket is open, and you pay for time and bandwidth instead of for a number of profile slots. There is nothing to install and no desktop for it to run on.

The honest catch: Wayfern has no profile object at all for ordinary accounts. No named profiles, no cookie import or export, no per-vector fingerprint switches — the identity is applied by the browser build, and the CDP methods that change it require a licence token that never leaves the server. If hand-managing identities is the job, Multilogin is doing that job and Wayfern is not.

Who should stay on Multilogin — and who should not

Stay on Multilogin when a person is in the loop. It is the better product when identities are hand-operated and long-lived, when you want per-vector fingerprint control with a Real passthrough and a Disabled option rather than one anti-detect toggle, when cookie import/export and CookieRobot are part of how accounts get aged, when you want profiles stored locally on hardware you control, and when you would rather have the proxy bundled into the subscription than metered. Its free plan also lets you try the whole model with 5 cloud profiles and no credit card; Wayfern has no equivalent, and its cheapest self-serve plan is Developer at $19/mo.

Move to Wayfern when the browser is a dependency of a program. It fits when sessions are opened from CI or a server with no display, when concurrency is measured in hundreds of pages rather than dozens of profiles, when you would rather pay for the time a page was actually open than for a slot that sits idle, when the exit country needs to change per run instead of per profile, and when scrape, crawl, extract, screenshot and search should bill from the same balance as the browser you are driving.

How the exit gets chosen: per profile, or per connection

requestdatacenter exitfree egressresidential exitmetered per bytetargetescalates to residential only when a navigation is classified as blocked
How the exit gets chosen: per profile, or per connection

Multilogin binds a proxy to a profile; Wayfern picks the exit on the connection and bills the two exit types differently. On Multilogin the proxy is part of a profile’s configuration. The platform bundles its own residential, mobile and static ISP proxies with a monthly traffic allowance, plus favourite locations and a proxy template manager, so the exit is something you set up once alongside the fingerprint and then stop thinking about.

On Wayfern the exit is chosen on the connection itself: `?country=&region=&city=&isp=&session=` on the CDP WebSocket URL, validated against a live catalog served at `GET /api/proxy/locations`. Leave `country` off and the session egresses from the datacenter, which is free. Supply it and a residential exit is provisioned for that connection alone, while a sidecar samples the container’s real rx+tx bytes every five seconds and debits them as they are spent — a session that can no longer pay for its bandwidth is terminated rather than quietly run on.

The Web Data endpoints add the escalation the diagram draws. In `auto` mode a page is fetched through the datacenter exit first and retried through a residential exit only when the navigation is classified as a bot wall, so residential bytes are spent on the handful of pages that actually need them instead of on the whole crawl.

Multilogin and Wayfern, capability by capability

Wayfern’s column is what this codebase does today. Multilogin’s column is what their own published documentation says; where we could not verify something, the cell says so instead of guessing.

CapabilityWayfernThem
Where the browser runsIn Wayfern’s pooled Linux containers. You connect over a CDP WebSocket and install nothing.A desktop app on Windows 10+, macOS 14 Sonoma+ or Ubuntu 22+ (64-bit only), plus a web interface in the current Multilogin X line.
What a plan sells youA monthly credit allowance and a concurrency cap. Seats come with the tier (1 on Developer, 10 on Business, 50 on Scale); credits are spent on session time, residential bytes and Web Data calls.A number of browser profiles, team seats and a monthly proxy-traffic allowance — from a free plan with 5 cloud profiles up to a Business slider running from 300 to 10,000 profiles with unlimited seats.
Fingerprint controlNot customer-facing. The browser build applies the identity; the `Wayfern.refreshFingerprint` / `setFingerprint` CDP methods need a licence token that stays server-side, and the generation API is restricted to service accounts.Around fifteen vectors set individually — WebRTC, canvas, WebGL and WebGPU, AudioContext, fonts, media devices, navigator, screen resolution, timezone, geolocation, port-scan protection — each with explicit Masked / Custom / Real modes, marketed as 55+ settings.
Durable profilesNone for ordinary accounts. A gateway session is an ephemeral CDP context, and a container is only ever reused for connections carrying the same link token and the same exit.Local storage on your own machine or cloud storage for multi-device access, with a converter for moving a profile between the two.
Cookie toolingNo cookie manager. Cookies are read and written by your own code over CDP, and nothing is kept for you between connections.Cookie import, cookie export, pre-made cookies, and CookieRobot for collecting site history automatically.
Automation clientsAny CDP client — `chromium.connectOverCDP()`, `puppeteer.connect()`, or raw DevTools Protocol frames. The session is created by the socket opening; there is no REST call to start one.Selenium, Puppeteer and Playwright, plus Python scripts, a CLI and Postman — but only over a remote WebDriver connection; the docs are explicit that a local WebDriver breaks automation.
Headless operationThe only mode. The containers have no display, so there is no GUI to switch off and nothing to keep a desktop awake for.Opt-in per launch: `headless_mode=true` on the launcher endpoint, `:true` on the CLI, or `"is_headless": true` in the API body. The client itself requires a GUI and at least 4 GB of RAM.
API rate limitsPer-endpoint HTTP throttles on the Web Data API — 60/min for scrape, 30/min for screenshot, 20/min for extract. Browser sessions are bounded by the plan’s concurrency cap rather than by requests per minute.50 requests per minute on Pro 10 and 100 on Pro 50, Pro 100 and Business, shared across every member of the workspace. API automation starts at Pro 10.
Concurrent browsers per accountSimultaneously open pages are capped per plan — 20 on Developer, 100 on Business, 400 on Scale — and counted in Redis, so the cap holds across every manager instance. A link token carries its own limit on top, from 1 to 100 connections.not published (not published)
Choosing the exit locationPer connection, from the live catalog at `GET /api/proxy/locations`, down to country, region, city, ISP and a sticky session id. Datacenter egress is free; residential is metered per byte.Built-in residential, mobile and static ISP proxies with favourite locations, a proxy template manager and a traffic saver; residential coverage advertised as 150+ countries and 1,400+ cities.

Porting a Multilogin automation script

The shape of the change is: delete the launch step. Multilogin’s automation path starts a profile through the launcher endpoint and then attaches a remote WebDriver — and only a remote one. Wayfern has no launch call at all. Opening the CDP socket creates the session, closing it ends the session and stops the meter, and the same URL carries the exit you want.

What does not port is the profile. There is no Wayfern object that remembers a fingerprint, a cookie jar and a proxy between runs, so anything you were relying on a profile to hold has to be read out over CDP and re-applied on the next connection — or left on Multilogin, which is a perfectly reasonable answer for the accounts that genuinely need to age.

Playwright — connecting to a Wayfern browser
import { chromium } from "playwright";

// Multilogin: start the profile through the launcher endpoint, then attach a
// REMOTE WebDriver (a local one breaks automation).
//
// Wayfern: there is no launch call. Opening this socket IS the session, and
// closing it is what ends it and stops the meter.
const browser = await chromium.connectOverCDP(
  "wss://browser.wayfern.com/ws?token=" + process.env.WAYFERN_LINK_TOKEN +
    "&country=US&region=CA&session=run42",
);

// Omit country= and the session leaves through datacenter egress, which is
// free. Supplying it provisions a residential exit for this connection only,
// metered per byte for as long as the socket stays open.
const page = await browser.contexts()[0].newPage();
await page.goto("https://example.com");
console.log(await page.title());

// Nothing here outlives the socket. Read out any cookies or storage state you
// need to reuse before you close it.
await browser.close();

Profile slots versus a credit balance

Not what each one costs — what each one counts.

Multilogin counts profiles. Every tier is a number of browser profiles with seats and a monthly proxy-traffic allowance attached: a free plan with 5 cloud profiles and no card, three Pro tiers, and a Business slider from 300 to 10,000 profiles with unlimited seats. Pricing is published openly and a yearly toggle advertises 35% off. If you know how many identities you need to keep alive, you can price the year exactly.

Wayfern counts seconds and bytes. A plan is a flat monthly fee that grants credits and a concurrency cap — Developer at $19/mo grants 1,520 credits and 20 concurrent open pages, Business at $99/mo grants 9,000 credits and 100 concurrent open pages, Scale at $499/mo grants 46,000 credits and 400 concurrent open pages — and everything draws on that one balance. An open page costs 8 credits an hour (about $0.10) with a 60-second minimum bill, residential egress costs 320 credits per GB (about $4) metered per byte as it is used, datacenter egress is free, and the Web Data endpoints price per page. Paying yearly takes 20% off, and credit packs are one-time and non-expiring, so unspent balance rolls forward.

The two models fail in opposite directions, which is the useful thing to know before you pick one. On a profile meter, an identity you open twice a month costs the same as one you drive all day, so idle identities are the expensive case. On a credit meter there is no per-identity cost at all, so ten thousand short sessions are cheap — and one browser you leave open for a week is not.

Before you switch

Can I import my Multilogin profiles into Wayfern?

No, and not because of a missing importer — there is nothing to import them into. Wayfern has no per-user profile object: a gateway session is an ephemeral CDP context that ends when the socket closes. If you need a logged-in identity to survive between runs, either keep it on Multilogin or hold the cookies and storage state in your own store and re-apply them over CDP at the start of each connection.

Does Multilogin still offer a Firefox engine?

Their sources disagree, so treat it as unconfirmed. The antidetect browser product page offers a choice between Mimic (Chromium) and Stealthfox (Firefox), while a Multilogin blog post says Stealthfox was retired as part of an upgrade, that old versions are unsupported, and that the engine no longer exists in the current package. Both links are under Sources; ask them directly before building on the Firefox engine.

Can I tune individual fingerprint values on Wayfern?

Not today. The browser build applies its own identity, and the CDP methods that refresh or set a fingerprint require a licence token that stays server-side; the fingerprint generation API is limited to service accounts and is invisible to ordinary plans. Multilogin is straightforwardly ahead here — it exposes each vector separately with Masked, Custom and Real modes.

Which one runs on a headless server?

Wayfern only ever runs headless — the containers have no display, and you never install anything locally. Multilogin’s client is a desktop application: it needs a GUI, a 64-bit OS (Windows 10+, macOS 14 Sonoma+ or Ubuntu 22+) and at least 4 GB of RAM, and headless is opted into per launch with `headless_mode=true`. Its Windows build is also documented as incompatible with ARM processors, though Apple silicon is supported on macOS.

How does each one cap parallel work?

Wayfern caps simultaneously open pages per plan — 20 on Developer, 100 on Business, 400 on Scale — enforced globally in Redis, and each link token additionally carries its own limit of between 1 and 100 concurrent connections. Multilogin publishes API rate limits instead: 50 requests per minute on Pro 10 and 100 on the higher tiers, shared across everyone in the workspace. A concurrent-browser ceiling is not something we found published in their documentation.

Do I still need a separate proxy vendor?

Neither product forces one. Multilogin bundles residential, mobile and static ISP proxies with a monthly traffic allowance per tier. Wayfern gives every session free datacenter egress and residential exits targeted by country, region, city and ISP — but residential is pay-as-you-go, metered per byte against your credit balance rather than included as an allowance.

Try it on your own targets

Browser sessions, the Web Data API, search and captcha solving all draw on one credit balance. Start on any of them.