Looking for an overview? See the FunCaptcha product page

FunCaptcha / Arkose Labs Accessibility Verification

Human-in-the-Loop Requirement

This service is for accessibility testing and QA verification only. By using this API, you confirm: "I am NOT using this service for fully automated AI resolution in violation of the target service's 'No AI/Bot' clauses."

FunCaptcha (Arkose Labs) uses interactive 3D puzzle challenges for verification. The service returns a sessionToken upon successful completion. MeshPrivacy provides accessibility interfaces for QA teams to verify captcha integration in their applications.

Challenge Events

EventMeaningAction
challenge-loadedChallenge rendered in iframeWait for user interaction
challenge-shownChallenge visible to userUser begins solving
challenge-completeChallenge solved successfullyRetrieve sessionToken
challenge-suppressedChallenge skipped (low risk)Token generated without puzzle

Token Details

Session Token
sessionToken

Token TTL: approximately 10 minutes

Returned on challenge-complete event

Challenge Types
3D rotation puzzles
Shape/pattern matching
Object identification

Time limit: 2-5 minutes typically

Integration Example

// Submit FunCaptcha task to MeshPrivacy (QA/Testing only)
const response = await fetch('https://api.meshprivacy.com/v1/tasks/submit', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': API_KEY
  },
  body: JSON.stringify({
    service: 'funcaptcha',
    url: 'https://target-site.com/',
    widget_key: 'AAAAAAA-BBBBB...', // Arkose public key from page source
    api_host: 'api.arkoselabs.com', // Arkose API host
    proxy_config: 'http://user:pass@ip:port', // Your proxy
    user_agent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...',
    // Acknowledgment required for HITL services
    hitl_acknowledgment: true
  })
});

const { task_id } = await response.json();

// Poll for result (may take longer due to HITL)
const result = await fetch(`https://api.meshprivacy.com/v1/tasks/result/${task_id}`, {
  headers: { 'X-API-Key': API_KEY }
});

const { token } = await result.json();
// token.sessionToken is valid for form submission

FAQ

Why does FunCaptcha take longer to solve?

FunCaptcha uses human-in-the-loop verification for interactive puzzles. This involves actual human operators solving the 3D challenges, which takes more time than automated WAF solutions.

What is "challenge-suppressed"?

Arkose Labs may skip the visual challenge for low-risk users based on behavioral analysis. In this case, a token is generated immediately without requiring puzzle completion.

Where do I find the public key?

The Arkose public key is typically in the page source, passed to the enforcement.setConfig() function or in a data-pkey attribute.

Related Services