Solve hCaptcha in Gologin profiles.
Gologin is an anti-detect browser that runs many browser profiles, each with its own fingerprint and proxy, in Orbita, its Chromium-based browser. Orbita takes Chrome Web Store extensions, and the NoneCap hCaptcha solver is on the Chrome Web Store: add it to a profile and it solves hCaptcha there as you browse. If you start profiles from code with the Gologin SDK, 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 to a profile
These steps follow Gologin's adding browser extensions page. Extensions in Gologin are installed per profile. This is the NoneCap listing's URL:
https://chromewebstore.google.com/detail/nonecap-%E2%80%94-hcaptcha-auto-s/kahepbmokpbbkfognbmimpmnlfibcolf - Copy the URL above.
- In Gologin, run the profile that should solve hCaptcha.
- Open the URL in that profile's browser. (Gologin's own route is the three dots in the top right, Extensions, Visit Chrome Web Store, then search for NoneCap.)
- Click Add to Chrome and wait for the install to finish.
- Open a page with hCaptcha. When the challenge opens, the extension solves it on the page.
From the profile's settings
You can also add it without running the profile: click the three dots on the profile, Settings, the Extensions tab and Add extensions, search for NoneCap, click Install, then Save. Gologin says an extension that is missing from that list appears there within 24 hours of being installed once from the Chrome Web Store. The flag icon next to an extension adds it to every profile you create after that; profiles you already have keep their own list.
Many existing profiles at once
Gologin's API has an
update chrome extensions for multiple profiles
endpoint that takes profile IDs and Chrome Web Store extension IDs. The
NoneCap extension's ID is kahepbmokpbbkfognbmimpmnlfibcolf:
curl -X PATCH https://api.gologin.com/browser/chrome_extensions/many \
-H "Authorization: Bearer $GL_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"profileIds": [
"PROFILE_ID_1",
"PROFILE_ID_2"
],
"chromeExtensionIds": [
"kahepbmokpbbkfognbmimpmnlfibcolf"
],
"customExtensionIds": [],
"extensionsToRemove": []
}' It needs a Gologin API token (in the app, API & MCP, the API tab, New Token), which is on paid plans only.
Or upload the release folder
Every NoneCap extension release is also published on
GitHub
as a zip. Gologin's
custom extensions
page says it does not take .zip or .crx files, only
an unpacked folder that holds manifest.json. Unzip the release
into its own folder (its files, manifest.json included, are at
the top of the zip), then in the profile's Settings,
Extensions, Add extensions, click
Upload custom extension, select that folder and
Save.
Things to know
- Every Gologin profile runs Orbita, which is based on Chromium; Gologin has no Firefox-based profiles. The extension needs Chrome 120 or newer; an old profile can be moved to the latest Orbita with Update browser in its three-dot menu.
- Each profile has its own extension list and keeps extension data separately, so settings and your API key are stored per profile.
- Gologin's extensions overview suggests testing a new extension before using it on warmed-up accounts, and not adding and removing extensions often on established 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.
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. 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
Gologin runs profiles from code through its SDKs. The
Python SDK
(pip install gologin) downloads the profile, starts it in Orbita
on your machine and returns the debugger address from start();
Selenium connects to it as debuggerAddress, with a ChromeDriver
that matches get_chromium_version(), and stop()
closes the profile and saves it. The
Node.js SDK's
start() returns a wsUrl for Puppeteer or
Playwright instead. Both need a Gologin API token. Gologin's
pricing page
lists API access as not available on the Forever Free plan, and says the
7-day trial cannot create an API token or use the local API.
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 gologin selenium webdriver-manager), put the
token in h-captcha-response and submit:
import os
from gologin import GoLogin
from nonecap import NoneCap
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from webdriver_manager.chrome import ChromeDriverManager
gl = GoLogin({
"token": os.environ["GL_API_TOKEN"],
"profile_id": os.environ["GL_PROFILE_ID"],
})
nc = NoneCap(api_key=os.environ["NONECAP_KEY"])
debugger_address = gl.start() # "127.0.0.1:<port>" of the running Orbita profile
service = Service(ChromeDriverManager(driver_version=gl.get_chromium_version()).install())
options = webdriver.ChromeOptions()
options.add_experimental_option("debuggerAddress", debugger_address)
driver = webdriver.Chrome(service=service, options=options) Then, in the same script, solve and submit:
try:
driver.get("https://target.example/login")
widget = driver.find_element(By.CSS_SELECTOR, "[data-sitekey]")
solve = nc.solve(
type="hcaptcha",
sitekey=widget.get_attribute("data-sitekey"),
url=driver.current_url,
user_agent=driver.execute_script("return navigator.userAgent"),
)
driver.execute_script("""
for (const name of ["h-captcha-response", "g-recaptcha-response"]) {
const el = document.querySelector(`textarea[name="${name}"]`);
if (el) el.value = arguments[0];
}""", solve.token)
submit = driver.find_element(By.CSS_SELECTOR, "[type=submit]")
submit.click()
WebDriverWait(driver, 15).until(EC.staleness_of(submit))
finally:
driver.quit()
gl.stop()
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 (for example proxy="http://user:pass@host:port" in nc.solve()) 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 Selenium guide shows
how.
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 Gologin?
How do I add the extension to many Gologin profiles?
PATCH /browser/chrome_extensions/many endpoint, as shown on this page.Which Gologin plan do I need?
Does it solve reCAPTCHA or Cloudflare Turnstile?
Can I use NoneCap with the Gologin SDK and Selenium?
start() runs the profile and returns its 127.0.0.1: debugger address, which Selenium takes as debuggerAddress. Read the sitekey, request the token from the NoneCap API and put it in h-captcha-response. The Python example on this page does exactly that.