# Geetest V3 Geetest V3 is an interactive CAPTCHA that typically requires users to either **drag a puzzle piece into place** or **select images in a specific sequence**. CaptchaAI automates this process by analyzing the challenge and returning the correct response values needed to bypass verification. ## Integration Workflow 1. **Extract dynamic Geetest parameters** from the target site: - `gt`: Public site key (usually static). - `challenge`: Dynamic token loaded with the CAPTCHA - **must be freshly retrieved** for each solve attempt. > **Critical**: The `challenge` becomes invalid once the CAPTCHA is loaded or after a short time. To get a valid one, replay the initial CAPTCHA setup request (observed via browser DevTools → Network tab) immediately before submitting to CaptchaAI. 2. **Submit the task**: - For API V1: Send a request to `in.php` with `method=geetest`, `gt`, `challenge`, and `pageurl`. → See [API V1 – Geetest V3](/api/geetest-v3) 1. **Receive a task ID** (e.g., `0123456789`) and wait **10–15 seconds**. 2. **Poll for the result**: - API V1: via `res.php` → See [API V1 – Geetest V3](/api/geetest-v3) 1. **Process the response**: Upon success, you’ll receive three values: - `challenge` - `validate` - `seccode` These must be submitted to the target site in fields or parameters named: - `geetest_challenge` - `geetest_validate` - `geetest_seccode` > **Note**: Geetest responses are **single-use** and tightly bound to the original `challenge` and page context. Reusing or delaying submission will cause validation failure.