Solve FunCaptcha
Solves FunCaptcha (Arkose Labs) challenges and returns a response token. FunCaptcha uses interactive puzzles to verify users and is commonly found on gaming platforms, financial services, and e-commerce sites.
Common Properties
- Name - The custom name of the node.
- Color - The custom color of the node.
- Delay Before (sec) - Waits in seconds before executing the node.
- Delay After (sec) - Waits in seconds after executing node.
- Continue On Error - Automation will continue regardless of any error. The default value is false.
If the ContinueOnError property is true, no error is caught when the project is executed, even if a Catch node is used.
Inputs
- Session - The session ID returned from the Create Session node.
- Website URL - The full URL of the target page where the FunCaptcha appears (e.g.,
https://example.com/login). - Website Public Key - The public key (also called "data-pkey") found in the page source. Format:
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.
Options
- Data - Optional additional data parameter if required by the site. Some implementations of FunCaptcha require this value.
- No Cache - Disable result caching for this task. Default is
false. Set totrueto force a fresh solve.
Output
- Token - The FunCaptcha response token to submit with your form or API request.
How It Works
The Solve FunCaptcha node solves Arkose Labs FunCaptcha challenges. When executed, it:
- Retrieves the session using the provided session ID
- Creates a FunCaptcha solving task with the website URL and public key
- Optionally adds the data parameter if provided
- Sends the task to CapMonster Cloud for processing
- Waits for the challenge to be solved
- Returns the response token
Requirements
- A valid CapMonster session (from Create Session node)
- The full URL where the FunCaptcha is displayed
- The FunCaptcha public key from the page source
- Sufficient account balance
- Active internet connection
Error Handling
The node will fail in the following cases:
- Missing or invalid session ID
- Session not found
- Empty or invalid website URL
- Empty or invalid public key
- Insufficient account balance
- Invalid data parameter format
- Network connectivity issues
- Captcha solving timeout
- Unsupported FunCaptcha configuration
Finding FunCaptcha Parameters
To find the required parameters, inspect the page source:
Website URL
Use the full URL of the page where the captcha appears:
https://example.com/login
Public Key (data-pkey)
Look for the FunCaptcha initialization code:
<div id="funcaptcha" data-pkey="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"></div>
Or in JavaScript:
new FunCaptcha({
public_key: "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
...
});
Data Parameter (Optional)
Some sites pass additional data:
new FunCaptcha({
data: {
"blob": "additional_data_here"
}
});
Usage Notes
- FunCaptcha solving typically takes 20-40 seconds
- The token is valid for a limited time (usually 2-5 minutes)
- Use the token immediately after receiving it
- The No Cache option forces a fresh solve, useful for testing
- Some FunCaptcha implementations are site-specific and may require the data parameter
Example: Solving FunCaptcha on Login Page
Inputs:
- Session: (from Create Session node)
- Website URL:
https://example.com/login - Website Public Key:
12345678-1234-1234-1234-123456789ABC
Options:
- Data: (leave empty if not required)
- No Cache: false
Output:
- Token:
"0.ABCD1234|r=eu-west-1|metabgclr=%23ffffff|guitextcolor=%23000000|lang=en|pk=12345678..."
Example: Complete Flow
Create Session (API Key)
→ Browser: Navigate to login page
→ Browser: Get Attribute (data-pkey from FunCaptcha element)
→ Solve FunCaptcha
→ Browser: Execute Script (submit token)
→ Browser: Click login button
Submitting the Token
After receiving the token, you need to submit it with your form. Common methods:
Method 1: Hidden Form Field
document.querySelector('input[name="fc-token"]').value = token;
Method 2: JavaScript Callback
window.funcaptchaCallback(token);
Method 3: API Request
{
"username": "user@example.com",
"password": "password123",
"fc-token": "token_here"
}
Best Practices
- Cache the public key value to avoid repeated DOM queries
- Validate the token format before submission
- Handle token expiration with retry logic
- Add appropriate delays before and after solving
- Monitor solve times and implement timeouts
- Test with No Cache enabled during development
- Store commonly used data parameters as variables
Common Issues and Solutions
Issue: Invalid public key error
- Solution: Verify the public key format is correct (UUID format)
- Solution: Check if the key changes dynamically on page load
- Solution: Ensure you're getting the key from the correct page element
Issue: Token not accepted by website
- Solution: Verify you're submitting the token correctly
- Solution: Check if the data parameter is required
- Solution: Ensure the token hasn't expired
- Solution: Verify the Website URL matches exactly
Issue: Solving takes too long
- Solution: Check CapMonster Cloud service status
- Solution: Verify your internet connection is stable
- Solution: Consider implementing a timeout mechanism
Issue: "Invalid data parameter" error
- Solution: Check the data parameter format (should be a string)
- Solution: Verify the data value matches what the site expects
- Solution: Try solving without the data parameter first
When to Use Data Parameter
The data parameter is typically required when:
- The FunCaptcha implementation includes custom data in the challenge
- You see a
dataorblobparameter in the FunCaptcha initialization - Standard solving returns tokens that aren't accepted by the site
- The website documentation mentions additional parameters
Cost Considerations
- FunCaptcha solving costs more than image captchas
- Check CapMonster Cloud pricing for current rates
- Monitor your balance when solving multiple FunCaptchas
- Consider the solve time when planning automation workflows
Advanced Tips
- FunCaptcha challenges vary by implementation
- Some sites use custom puzzle types
- Token format and length can vary
- Always test your integration thoroughly
- Keep your CapMonster client updated for best compatibility