# Extension Quickstart

# Loading the NopeCHA extension in a browser.

  • Pros

    No coding required.

    Fast and cheap.

    Works on all sites.

    Impossible to detect.

  • Cons

    Proxies may be needed.

    Browser required (e.g. Selenium, Puppeteer, Playwright).


# Official NopeCHA browser extensions

Chrome Extension
https://nopecha.com/chrome
Firefox Add-on
https://nopecha.com/firefox


# Python example

import requests
from selenium import webdriver

NOPECHA_KEY = 'YOUR_KEY_HERE'  # Replace with your key.

options = webdriver.chrome.options.Options()
options.add_argument('--no-sandbox')
options.add_argument('--disable-infobars')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--disable-blink-features=AutomationControlled')
options.add_experimental_option('excludeSwitches', ['enable-automation'])
options.add_experimental_option('useAutomationExtension', False)

# Download the latest NopeCHA crx extension file.
# You can also supply a path to a directory with unpacked extension files.
with open('ext.crx', 'wb') as f:
    f.write(requests.get('https://nopecha.com/f/ext.crx').content)
options.add_extension('ext.crx')

# Start the driver.
driver = webdriver.Chrome(options=options)

# Set the subscription key for the extension by visiting this URL.
# You can programmatically import all extension settings using this method.
# To learn more, go to "Export Settings" in the extension popup.
driver.get(f"https://nopecha.com/setup#{NOPECHA_KEY}")

# Go to any page with a CAPTCHA and the extension will automatically solve it.
driver.get('https://nopecha.com/demo/hcaptcha')
import requests
import zipfile
import undetected_chromedriver.v2 as uc

NOPECHA_KEY = 'YOUR_KEY_HERE'  # Replace with your key.

options = uc.ChromeOptions()
options.add_argument('--no-sandbox')
options.add_argument('--disable-infobars')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--disable-blink-features=AutomationControlled')
options.add_argument('--no-first-run --no-service-autorun --password-store=basic')

# Download the latest unpacked NopeCHA extension.
# Undetected chromedriver does not support loading from a crx file.
with open('chrome.zip', 'wb') as f:
    f.write(requests.get('https://nopecha.com/f/chrome.zip').content)
with zipfile.ZipFile('chrome.zip', 'r') as zip_ref:
    zip_ref.extractall('nopecha')
options.add_argument(f"--load-extension={os.getcwd()}/nopecha")

# Start the driver.
driver = uc.Chrome(options=options)

# Set the subscription key for the extension by visiting this URL.
# You can programmatically import all extension settings using this method.
# To learn more, go to "Export Settings" in the extension popup.
driver.get(f"https://nopecha.com/setup#{NOPECHA_KEY}")

# Go to any page with a CAPTCHA and the extension will automatically solve it.
driver.get('https://nopecha.com/demo/hcaptcha')