> For the complete documentation index, see [llms.txt](https://docs.apexsolutions.lol/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apexsolutions.lol/api-reference/captchafox.md).

# CaptchaFox

Solve the CaptchaFox slide challenge and get a response token.

Solves the CaptchaFox challenge for a page protected by a CaptchaFox site key and returns a response `token`. The token is submitted to the site's own backend, which validates it with CaptchaFox (siteverify).

### What you get back

The response carries the `token` under `result`. Tokens are single-use and short-lived, and must be submitted to the site that owns the `site_key`.

### Proxy

A **sticky proxy is required** on every solve, like all Apex providers: the solver always runs through your proxy. CaptchaFox tokens are not tied to an IP, but the proxy rule applies anyway.

## Solve the CaptchaFox challenge

> Fetches the challenge configuration for the site key, replays a\
> real-Chrome attestation, solves the proof-of-work and the slide\
> challenge, and returns a response token.<br>

```json
{"openapi":"3.0.3","info":{"title":"CaptchaFox","version":"1.0.0"},"tags":[{"name":"CaptchaFox","description":"Solves the CaptchaFox challenge for a page protected by a CaptchaFox\nsite key and returns a response `token`. The token is submitted to the\nsite's own backend, which validates it with CaptchaFox (siteverify).\n\n## What you get back\n\nThe response carries the `token` under `result`. Tokens are single-use\nand short-lived, and must be submitted to the site that owns the\n`site_key`.\n\n## Proxy\n\nA **sticky proxy is required** on every solve, like all Apex providers:\nthe solver always runs through your proxy.\nCaptchaFox tokens are not tied to an IP, but the proxy rule applies\nanyway.\n"}],"servers":[{"url":"https://captchafox.apexsolutions.lol"}],"paths":{"/payload":{"post":{"tags":["CaptchaFox"],"summary":"Solve the CaptchaFox challenge","description":"Fetches the challenge configuration for the site key, replays a\nreal-Chrome attestation, solves the proof-of-work and the slide\nchallenge, and returns a response token.\n","parameters":[{"name":"Content-Type","in":"header","required":true,"description":"The Content-Type of the request body.","schema":{"type":"string","enum":["application/json"]}},{"name":"Authorization","in":"header","required":true,"description":"Your API key for authentication.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaptchaFoxSolveRequest"}}}},"responses":{"200":{"description":"Challenge solved. The response token is under `result`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaptchaFoxSolveResponse"}}}},"400":{"description":"Missing or invalid request. See the error envelope for the reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Proxy connection failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"CaptchaFoxSolveRequest":{"type":"object","required":["params","proxy"],"properties":{"params":{"type":"object","required":["url","site_key"],"properties":{"url":{"type":"string","description":"Full URL of the page protected by CaptchaFox."},"site_key":{"type":"string","description":"The public CaptchaFox site key (`sk_...`) embedded in the page."}}},"proxy":{"type":"string","description":"Required sticky proxy. The solver always runs through your proxy."}}},"CaptchaFoxSolveResponse":{"type":"object","properties":{"solve_id":{"type":"string","description":"Identifier of the solve."},"status":{"type":"string","description":"Always `succeeded` on a 200."},"provider":{"type":"string","description":"Always `captchafox`."},"result":{"type":"object","properties":{"token":{"type":"string","description":"The response token. Submit it to the site's backend for validation."}}}}},"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code."},"message":{"type":"string","description":"Human-readable error message."}}}}}}}}
```
