How to bypass captcha in Mozilla Firefox browser
Working on automation in Firefox? CAPTCHAs can make things a lot harder. Let me show you how to connect our solution to your workflow so you can stop worrying about them.
I will walk you through three options, from the simplest to full automation. And if you use Node.js, stick around for a bonus at the end.
The essentials at a glance
Our service handles:
- All reCAPTCHA versions, Cloudflare Turnstile, GeeTest, Arkose Labs
- Visual CAPTCHAs: Rotate, Grid, Click, Draw Around
- Text, audio, and interactive formats
- Over 20 other protection types
To get started, you will need:
- An account with us and an API key
- Firefox installed
- Your tool of choice: Postman, our extension, or direct API access
Option one: quick and code-free with Postman
Need to test the solution or make a single request but do not feel like writing a script? Use Postman.
Step by step
- Open our documentation and find the request example for your CAPTCHA type
- Copy the example into Postman via raw JSON or cURL
- Fill in your details:
clientKey— your API key from the dashboardwebsiteURL— the page URL with the CAPTCHAwebsiteKey— the CAPTCHA sitekey (I will show you where to find it below)
- Send the request and wait for the response
- Grab the token from the
solutionfield and use it on the target site
Example for reCAPTCHA V2
json
{
"clientKey": "your_key",
"task": {
"type": "RecaptchaV2TaskProxyless",
"websiteURL": "https://example.com",
"websiteKey": "6Lc..._sitekey"
}
}
How to get the solution
After creating a task, you will receive a taskId. Use it to check the status:
json
{
"clientKey": "your_key",
"taskId": "1234567890"
}
When you see "status": "ready", the token will be in solution.gRecaptchaResponse.
Why Postman is convenient
- No coding needed, you set everything up in the interface
- Save requests to a collection and reuse them
- Easy to switch between CAPTCHA types by changing just a few parameters
- See the request and response structure clearly, which makes debugging easier
When to use this method
- Quick check to see if the service works
- Debugging before writing a script
- One-off tasks when you do not want to set up a full environment
Downsides: not great for bulk tasks, no automation, and you will need to copy tokens manually.
Option two: Captcha Solver extension right in your browser
Want CAPTCHAs to solve themselves while you browse in Firefox? Install the extension.
Installation and setup
- Find Captcha Solver in the Firefox Add-ons store and install it
- Open the extension settings
- Paste your API key
- If needed, configure proxy and auto-form submission
How it works
The extension scans the page, finds the CAPTCHA, and sends it to us. Once we return the answer, it inserts the token into the form automatically.
Flexible settings for your workflow
- Auto-submit forms: enable only if you are sure the form validates correctly
- Retry on failure: handy if your connection is unstable
- Solving modes: "detect only" or "detect and solve automatically"
- Proxy support: HTTP, HTTPS, SOCKS4, SOCKS5, in
ip:portorlogin:pass@ip:portformat
For visual CAPTCHAs
Sometimes the extension cannot figure out where the image is or where to insert the answer. In that case, set it up manually:
- Right-click the CAPTCHA image and select "Solve this CAPTCHA"
- Right-click the input field and select "Insert answer here"
- Settings are saved for the entire domain
Important note
Tokens are valid for about 120 seconds. Use them right away, or you will need to request a new one.
Using with Selenium (Firefox)
python
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.firefox.service import Service
options = Options()
options.set_preference('dom.webnotifications.enabled', False)
# If needed, specify a profile with the extension
# options.set_profile('/path/to/firefox/profile')
driver = webdriver.Firefox(options=options, service=Service())
driver.get('https://example.com')
# The extension handles the rest, just wait for the solution
Pros: minimal code, works in a real browser, great for interactive tasks.
Cons: requires Firefox to be open, not all sites are supported, harder to scale.
Option three: API for full automation
Need speed, control, and background operation? Connect directly to the API.
Basic scenario: reCAPTCHA without proxy
python
import requests
import time
API_KEY = 'your_key'
BASE_URL = 'https://api.service.com'
# Create task
task_payload = {
'clientKey': API_KEY,
'task': {
'type': 'RecaptchaV2TaskProxyless',
'websiteURL': 'https://example.com',
'websiteKey': '6Lc..._sitekey'
}
}
task = requests.post(f'{BASE_URL}/createTask', json=task_payload).json()
task_id = task['taskId']
# Wait for result
while True:
check = requests.post(f'{BASE_URL}/getTaskResult', json={
'clientKey': API_KEY,
'taskId': task_id
}).json()
if check['status'] == 'ready':
token = check['solution']['gRecaptchaResponse']
break
time.sleep(3)
If you need a proxy
python
proxy_settings = {
'proxyType': 'HTTPS',
'proxyAddress': 'proxy.example.com',
'proxyPort': 3128,
'proxyLogin': 'user',
'proxyPassword': 'pass'
}
task_payload['task'].update(proxy_settings)
task_payload['task']['type'] = 'RecaptchaV2Task'
Using the token with Selenium
python
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('https://example.com')
driver.execute_script(
f"document.getElementById('g-recaptcha-response').textContent = '{token}';"
)
driver.find_element('id', 'submit-btn').click()
driver.quit()
Pros: scalable, works without a browser, full control over the process.
Cons: requires coding, debugging can be trickier.
Where to find the sitekey
You cannot solve reCAPTCHA without the sitekey. Here is how to find it.
Via DevTools
- Open the CAPTCHA page in Firefox
- Press F12 and go to the "Inspector" tab
- Find
<div class="g-recaptcha" ...> - Copy the value of
data-sitekey
Other CAPTCHA types may also require a sitekey or similar identifier for submission. There are many ways to find them, so we are only showing the reCAPTCHA example here.
Bonus: automation with Node.js
Writing in JavaScript? Check out Playwright for Firefox:
javascript
const { firefox } = require('playwright');
(async () => {
const browser = await firefox.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
// Integrate the service API call here
await browser.close();
})();
Pre-launch checklist
- API key is active and your balance is topped up
- All parameters are correct
- Add delays for bulk requests
- Use a proxy if the site blocks by IP
- Test the extension manually first
- Use the token within 120 seconds of receiving it
Which one should you pick?
- Postman: for testing, debugging, and one-off requests without code
- Extension: for browser-based work and interactive scenarios
- API: for production, scraping, and bulk requests
- Playwright: for complex Node.js automations with Firefox support
Our service is designed so you can start simple and scale up as needed. Documentation, Postman examples, and ready-to-use code snippets are all available on our site.
Automate smart: follow website rules, add delays between requests, and use proxies under load. If something does not work, our support team is ready to help via the form on our site.