Solve hCaptcha in Multilogin profiles.

Multilogin X is an anti-detect browser that runs many browser profiles, each with its own fingerprint and proxy. Its Mimic profiles take Chrome Web Store extensions, and the NoneCap hCaptcha solver is on the Chrome Web Store: add it in the extension manager, assign it to the profiles you choose, and it solves hCaptcha there as you browse. If you start profiles from code through the Multilogin launcher, request tokens from the NoneCap API instead; that route is further down. NoneCap is a captcha solver service that focuses on hCaptcha, and does not solve reCAPTCHA or Turnstile.

Add the extension in the extension manager

These steps follow Multilogin's own installing browser extensions page. The extension manager is on Pro 20 and higher plans, for the account owner and managers. This is the NoneCap listing's URL:

NoneCap on the Chrome Web Store
https://chromewebstore.google.com/detail/nonecap-%E2%80%94-hcaptcha-auto-s/kahepbmokpbbkfognbmimpmnlfibcolf
  1. Copy the URL above.
  2. In Multilogin X, click Extensions in the top menu, then Add.
  3. Choose local or cloud storage, paste the URL and click Add.
  4. Assign it to profiles: select the extension and click Manage assigned profiles, pick the profiles and click Confirm. You can also right-click profiles under Profiles, Browser and choose Extensions, or pick it in the Extra section when you create or edit a profile.
  5. Start a Mimic profile and open a page with hCaptcha. When the challenge opens, the extension solves it on the page.

Two other ways in

  • Inside one profile. Start a Mimic profile, open the NoneCap listing and click Add to Chrome. It installs in that profile only.
  • For every Mimic profile. Every NoneCap extension release is published on GitHub as a zip. Create the custom_extensions and mimic folders inside the mlx folder in your home folder if they are not there, and unzip the release into its own folder inside mlx/custom_extensions/mimic (the folder must hold manifest.json; a .crx alone does not work). Multilogin applies extensions in that folder to all Mimic profiles, new and existing.

On the folder route you can set your NoneCap API key once for every profile: the zip includes provision.example.json. Copy it to provision.json next to manifest.json, put your key in it, and each profile that loads the folder picks the key up when the extension starts. A folder you copied stays on that release; to update, replace it with the newer release (and copy your provision.json across).

Things to know

  • Mimic profiles only. Multilogin's help center says Chrome extensions do not work in Stealthfox, which it describes as a legacy browser that no longer gets core updates.
  • The extension needs Chrome 120 or newer.
  • An extension stays in a profile until you remove it, and one saved extension can be assigned to many profiles.
  • While it solves, the browser shows a "started debugging this browser" banner. That is expected: the extension attaches only for the solve and detaches when the attempt ends. The extension privacy policy says what it sends.
  • Settings and your API key are stored per profile.

Free solves or your API key

The extension includes 100 free solves a day without an account, which suits a few profiles. For more, create a NoneCap account, copy an API key from the dashboard and paste it into the extension's options in each profile, or set it once with provision.json on the folder route above. Solves then draw from your balance, from 1 credit per challenge round, and a failed solve is never charged. See pricing.

Profiles you start from code

Multilogin's Playwright, Puppeteer and Selenium examples share one pattern: with the desktop app running, a GET to launcher.mlx.yt:45001/api/v2/profile/f/FOLDER_ID/p/PROFILE_ID/start with automation_type set starts a Mimic profile and returns data.port; your tool connects to http://127.0.0.1: plus that port. The request carries your Multilogin token as a Bearer header. The API token you copy from Info in the app lasts 30 minutes; for longer runs Multilogin's automation token page shows how to create one. Automation is on Pro 10 and higher plans.

In a script, request the token yourself rather than waiting on the extension: read the page's sitekey, call NoneCap with the Python SDK (pip install nonecap playwright requests), put the token in h-captcha-response and submit:

Python · Multilogin X + Playwright
import os

import requests
from nonecap import NoneCap
from playwright.sync_api import sync_playwright

LAUNCHER = "https://launcher.mlx.yt:45001/api"
HEADERS = {"Accept": "application/json", "Authorization": f"Bearer {os.environ['MLX_TOKEN']}"}
FOLDER_ID = os.environ["MLX_FOLDER_ID"]
PROFILE_ID = os.environ["MLX_PROFILE_ID"]

nc = NoneCap(api_key=os.environ["NONECAP_KEY"])

started = requests.get(
    f"{LAUNCHER}/v2/profile/f/{FOLDER_ID}/p/{PROFILE_ID}/start",
    params={"automation_type": "playwright", "headless_mode": "false"},
    headers=HEADERS,
)
started.raise_for_status()
port = started.json()["data"]["port"]

with sync_playwright() as pw:
    browser = pw.chromium.connect_over_cdp(f"http://127.0.0.1:{port}")
    page = browser.contexts[0].new_page()
    page.goto("https://target.example/login", wait_until="networkidle")

    sitekey = page.get_attribute("[data-sitekey]", "data-sitekey")
    solve = nc.solve(
        type="hcaptcha",
        sitekey=sitekey,
        url=page.url,
        user_agent=page.evaluate("navigator.userAgent"),
        # proxy="http://user:pass@host:port",  # the profile's own proxy, if it has one
    )

    page.evaluate(
        """(token) => {
          for (const name of ["h-captcha-response", "g-recaptcha-response"]) {
            const el = document.querySelector(`textarea[name="${name}"]`);
            if (el) el.value = token;
          }
        }""",
        solve.token,
    )
    with page.expect_navigation():
        page.click("[type=submit]")
    browser.close()

requests.get(f"{LAUNCHER}/v1/profile/stop/p/{PROFILE_ID}", headers=HEADERS)
nc.close()

Pass the profile's user agent as user_agent, as above: some sites accept a token only from the browser version that solved it. If the profile runs through a proxy, send that proxy as proxy so the token is solved from the same address the profile submits it from. For an invisible widget, call its data-callback with the token after injecting it; the Playwright guide shows how. Multilogin's examples also say to use a Playwright or Puppeteer version that matches the current Mimic core.

Use it where you're allowed to

NoneCap's terms rule out fraud, credential stuffing, spam and unauthorised access, and leave it to you to check the terms of the sites your profiles visit.

Last updated November 2026.

Frequently asked

Can I add a captcha solver extension to Multilogin?
Yes. Multilogin X adds Chrome Web Store extensions to Mimic profiles from its extension manager, and the NoneCap hCaptcha solver is on the Chrome Web Store. Paste the listing's URL under Extensions, Add, then assign it to the profiles that should use it. The steps are at the top of this page.
Does it work in Stealthfox profiles?
No. NoneCap is a Chrome extension, and Multilogin's help center says Chrome extensions work only in Mimic profiles, not in Stealthfox, its legacy Firefox-based browser. Use Mimic profiles.
Which Multilogin plan do I need?
Multilogin's help center lists the extension manager for Pro 20 and higher, for the account owner and managers. On a smaller plan you can still install the extension from the Chrome Web Store inside a running profile, or put the unpacked release in the custom extensions folder. Automation through the API is listed for Pro 10 and higher.
Does it solve reCAPTCHA or Cloudflare Turnstile?
No. NoneCap solves hCaptcha only: image grids, drag puzzles and point-on-image challenges. For reCAPTCHA or Turnstile you need a different solver.
Can I use NoneCap with the Multilogin API?
Yes. Start the profile through the launcher with automation_type=playwright (or puppeteer, selenium), connect to http://127.0.0.1: plus the port it returns, and request the token from the NoneCap API. The Python example on this page does exactly that.

Start solving hCaptcha in minutes.

1,300 free credits on signup. Pay per solve, credits never expire, failed solves never charged.