Optimize your integration for maximum success rates and minimal costs.API Key Security#
Never Expose Keys in Client-Side Code#
Use Environment Variables#
Create Separate Keys for Different Environments#
| Environment | Key Name | Rate Limits |
|---|
| Development | dev-local | Low (10 RPM) |
| Staging | staging | Medium (30 RPM) |
| Production | prod-server-1 | High (100 RPM) |
This way, if a key is compromised, you only need to rotate that specific key.Proxy Usage#
When to Use Proxies#
| Captcha Type | Proxy Needed? | Recommendation |
|---|
| Geetest | Optional | Use if target site is geo-restricted |
| Turnstile | Recommended | Residential proxies improve success |
| Interstitial | Required | Must use same proxy for solve AND subsequent requests |
http://username:password@host:port
https://username:password@host:port
socks5://username:password@host:port
Interstitial Proxy Matching#
For WAF interstitials, always use the same proxy for:2.
Making subsequent requests
Error Handling#
Implement Retries with Backoff#
Handle Rate Limits Gracefully#
Use SSE for Real-Time Updates#
Instead of polling, use Server-Sent Events for instant notifications:Batch Similar Requests#
If solving multiple captchas of the same type, process them concurrently:Set Appropriate Timeouts#
| Captcha Type | Recommended Timeout |
|---|
| Geetest | 30-45 seconds |
| Turnstile | 60-90 seconds |
| Interstitial | 120-180 seconds |
Cost Optimization#
Monitor Your Usage#
Check the dashboard regularly or use the API:Claim Free Daily Credits#
Don't forget your free 100 credits every day:Cache Solutions When Possible#
Some tokens can be reused briefly:Debugging#
Log Request IDs#
Always log the request_id for debugging:Check Solve Status#
Use the status endpoint to debug failed solves: Modified at 2025-12-02 02:27:07