Was this helpful?
How to solve CaptchaFox on signup.mail.com
Technical engineer
Introduction
If you are integrating automatic CaptchaFox captcha solving for mail.com and facing token rejections due to a missing MAM_ prefix, this guide is for you.
The 2Captcha service supports solving CaptchaFox via API v2 with the apiServer parameter. This is critical for sites with custom infrastructure where the token format depends on the widget source.
This material provides general recommendations for configuring requests, analyzing the page, and debugging integration using mail.com as an example.
General Information
CaptchaFox is a tokenized protection system with interactive tasks (often sliders) and behavioral analysis. For mail.com, a custom version with its own API server is used, which affects the format of the returned token.
CaptchaFox Features for mail.com
| Parameter | Value | Note |
|---|---|---|
apiServer |
https://s.uicdn.com/mampkg/@mamdev/core.frontend.libs.captchafox/ |
Required to get a token with the MAM_ prefix |
websiteKey |
sk_ILKWNruBBVKDOM7dZs50WPNUuCUKR |
Constant value for the mail.com domain |
| Token format | MAM_xxxxxxxx... |
Without the prefix, the token is rejected by mail.com servers |
| Challenge endpoint | POST https://mam-api.captchafox.com/captcha/sk_.../challenge |
Used inside the widget |
| Verify endpoint | POST https://mam-api.captchafox.com/captcha/verify |
Final token validation |
Why the apiServer Parameter Is Critical
If you do not specify apiServer or pass an incorrect value, 2Captcha workers will use the default endpoint https://cdn.captchafox.com/. As a result, a standard token without the MAM_ prefix is returned, which mail.com rejects with an HTTP 424 error.
Environment Setup
Before you start, make sure you have:
- Access to the 2Captcha API - an API key from your account dashboard
- A residential proxy - with geolocation matching the target site (for mail.com: GB, DE, or US)
- An up to date User-Agent - a string from a real browser that is making the request
- Debugging tools - a browser with DevTools, an HTTP client (curl, Postman, or a library in your language)
Proxy Requirements
| Requirement | Description |
|---|---|
| Type | Residential or mobile |
| Protocol | HTTP or HTTPS |
| Geolocation | Matches the target site (mail.com) |
| Authentication | By login and password or by IP |
| Stability | Minimal response time, no frequent disconnects |
Page Analysis and Parameter Extraction
Detecting the Captcha
On the registration page https://signup.mail.com, the CaptchaFox captcha appears when creating a new account. Visually, it is a slider with the CaptchaFox logo.
Finding the websiteKey
- Open DevTools (F12) on the target page
- Go to the "Elements" or "Sources" tab
- Find the script that loads CaptchaFox, or search for
sk_
Example tag:
html
<script src="https://s.uicdn.com/mampkg/@mamdev/core.frontend.libs.captchafox/api.js?key=sk_ILKWNruBBVKDOM7dZs50WPNUuCUKR"></script>
The value of the key parameter is your websiteKey.
Analyzing Network Requests
- In the "Network" tab, filter requests by
captchafox - Find requests to
challengeorverify - Record:
- The full endpoint URL
- Request headers (especially
User-Agent,Origin,Referer) - The structure of the request and response body
This data will help you correctly form a task for 2Captcha.
Implementation
CaptchaFoxTask Structure
The task is sent via the createTask method to the endpoint https://api.2captcha.com/createTask.
Required task fields:
| Field | Type | Description |
|---|---|---|
type |
String | Always CaptchaFoxTask |
websiteURL |
String | URL of the page where the captcha appears |
websiteKey |
String | Widget key extracted from the source code |
apiServer |
String | URL of the custom API server (required for mail.com) |
userAgent |
String | Browser User-Agent string |
proxyType |
String | Proxy type: http, https, socks4, socks5 |
proxyAddress |
String | Proxy IP address or host |
proxyPort |
Integer | Proxy port |
proxyLogin |
String | Login for proxy authentication (if required) |
proxyPassword |
String | Password for proxy authentication (if required) |
Example Request Body (JSON)
json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "CaptchaFoxTask",
"websiteURL": "https://signup.mail.com",
"apiServer": "https://s.uicdn.com/mampkg/@mamdev/core.frontend.libs.captchafox/",
"websiteKey": "sk_ILKWNruBBVKDOM7dZs50WPNUuCUKR",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",
"proxyType": "http",
"proxyAddress": "1.2.3.4",
"proxyPort": 8080,
"proxyLogin": "login",
"proxyPassword": "password"
}
}
Getting the Result
After creating the task, use the getTaskResult method to poll the status:
json
{
"clientKey": "YOUR_API_KEY",
"taskId": 123456789
}
Possible values for the status field:
| Value | Description |
|---|---|
processing |
Task is in progress, keep polling |
ready |
Solution is ready, token is in solution.token |
error |
An error occurred, check errorDescription |
Token Verification
After receiving the response, always check:
- The presence of the
solution.tokenfield - The presence of the
MAM_prefix at the start of the token - That the token meets the target site requirements
Example validation (pseudocode):
if token starts with "MAM_":
send token to mail.com
else:
log error and send reportIncorrect
Parameter Explanations
The apiServer Parameter
- Specify as the full URL path to the JS file or the custom API domain
- For mail.com, use:
https://s.uicdn.com/mampkg/@mamdev/core.frontend.libs.captchafox/ - An incorrect value leads to receiving a token without the
MAM_prefix
Proxy and Geolocation
- Without a proxy, the CaptchaFox task will not be accepted
- The proxy geolocation must match the target site
- Use residential proxies to minimize the risk of blocking
User-Agent
- Must match the browser making the request
- It is recommended to copy the current string from a real browser
- A mismatch can lead to token rejection on the mail.com side
Feedback on Solving Results
After testing the token on the target site, it is recommended to send feedback.
If the Site Rejected the Solution
Send a POST request to the reportIncorrect endpoint:
Endpoint: https://api.2captcha.com/reportIncorrect
Method: POST
Content-Type: application/json
Example request:
json
{
"clientKey": "YOUR_API_KEY",
"taskId": 74455221488
}
Example response:
json
{
"errorId": 0,
"status": "success"
}
Important: Do not use this method if your success rate is close to 0 percent. This may indicate an error in your code, not in the captcha solutions.
If the Site Accepted the Solution
Send a POST request to the reportCorrect endpoint:
Endpoint: https://api.2captcha.com/reportCorrect
Method: POST
Content-Type: application/json
Example request:
json
{
"clientKey": "YOUR_API_KEY",
"taskId": 74455221488
}
Example response:
json
{
"errorId": 0,
"status": "success"
}
Refund Policy
- Each case is reviewed individually
- For standard captchas, the correctness of the response is checked
- For token based captchas, worker statistics are analyzed
- Refunds are not guaranteed for every complaint
- The final refund amount may differ from the number of claims
Send reports honestly and only after real verification on the target site.
Requirements for a Custom apiServer
If you are using your own server for CaptchaFox, make sure it meets the following requirements:
| Requirement | Description |
|---|---|
| SSL/TLS | The server must support HTTPS with a valid certificate |
| CORS | Allow requests from domains used by 2Captcha workers |
| Headers | Accept standard headers: User-Agent, Content-Type, Origin |
| Response format | Return JSON in a format compatible with the original CaptchaFox API |
| Token | Generate tokens with the MAM_ prefix for mail.com compatibility |
Common Errors and How to Fix Them
| Error | Possible cause | Solution |
|---|---|---|
ERROR_CAPTCHA_UNSOLVABLE |
Incorrect apiServer or custom endpoint is unreachable | Check the apiServer URL, make sure the server is accessible |
| Token without MAM_ prefix | apiServer not passed or worker ignored the parameter | Explicitly specify the full path to the JS file, use a proxy with matching geolocation |
ERROR_PROXY_CONNECT |
Proxy is not responding or requires authentication | Check proxy credentials, test the connection separately |
ERROR_WRONG_USERAGENT |
User-Agent is outdated or does not match the browser | Use a current User-Agent string from a real browser |
| Timeout when getting result | Slow solving or service overload | Increase the polling interval, add logging for analysis |
Debugging Recommendations
- Enable detailed logging of requests and responses
- Save the
taskIdfor each request, this will simplify support inquiries - Test the integration in non-headless mode before launching in production
- Check the target site response after sending the token
Additional Resources
- CaptchaFox API v2 Documentation
- reportIncorrect Method - Report an incorrect solution
- reportCorrect Method - Report a correct solution
- Code Examples on GitHub
- Contact Support
Checklist
- Correct apiServer specified:
https://s.uicdn.com/mampkg/@mamdev/core.frontend.libs.captchafox/ - websiteKey extracted from the page source code
- Proxy is configured and matches the target site geolocation
- User-Agent is current and matches the browser session
- All required fields are present in the request: proxyType, proxyAddress, proxyPort
- The received token is checked for the MAM_ prefix
- Logging is enabled for debugging
- Sending
reportIncorrectandreportCorrectreports is implemented
Conclusion
Correct integration of CaptchaFox for mail.com requires accurate transmission of the apiServer parameter and compliance with proxy and User-Agent requirements. When using a custom API server, it is critical to ensure that 2Captcha workers receive and use the specified endpoint.
The apiServer parameter directly affects the token format. Only with the correct value will you receive a token with the MAM_ prefix that mail.com accepts.
Do not forget to send feedback via reportIncorrect and reportCorrect. This helps improve service quality and get refunds for incorrect solutions.
Automate any captchas with the 2Captcha API.