https://github.com/justscrapeme/tiktok-captcha-solver
TikTok Captcha Solver API (puzzle, whirl, 3d, end-to-end verification)
https://github.com/justscrapeme/tiktok-captcha-solver
3d captcha captcha-api captcha-bypass captcha-solver end-to-end-verification puzzle rotate same-object slide tiktok whirl
Last synced: 5 months ago
JSON representation
TikTok Captcha Solver API (puzzle, whirl, 3d, end-to-end verification)
- Host: GitHub
- URL: https://github.com/justscrapeme/tiktok-captcha-solver
- Owner: justscrapeme
- License: mit
- Created: 2025-08-24T17:33:29.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-27T23:11:55.000Z (10 months ago)
- Last Synced: 2025-11-28T06:30:33.076Z (7 months ago)
- Topics: 3d, captcha, captcha-api, captcha-bypass, captcha-solver, end-to-end-verification, puzzle, rotate, same-object, slide, tiktok, whirl
- Language: Python
- Homepage:
- Size: 123 KB
- Stars: 10
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TikTok Captcha Solver
Python client for [TikTok Captcha Solving RapidAPI service](https://rapidapi.com/JustScrape/api/tiktok-captcha-solver12).
**Solve any TikTok CAPTCHA in milliseconds — for pennies.**

## Table of Contents
1. [🧑💻 What we do?](#what-we-do)
2. [💡 Why choose us?](#why-choose-us)
3. [🤝 Need more?](#need-more)
4. [🔗 Links](#links)
5. [⚙️ Installation](#installation)
6. [📄 Usage examples](#usage-examples)
6.1. [Slide (puzzle)](#slide-example)
6.2. [Whirl (rotate)](#whirl-example)
6.3. [3D (same object)](#3d-example)
6.4. [End-to-end verification](#end-to-end-verification-example)
| CAPTCHA type | Accuracy | Avg. solve time |
|-------------------------|:--------:|:---------------:|
| Puzzle (slider) | **99.7%** | **< 8 ms** |
| Whirl (rotate) | **99.5%** | **< 10 ms** |
| 3D (same object) | **99.7%** | **10 – 100 ms** |
| ⭐ **End-to-End Verification** | **99.5+%** | **4 – 5 sec** |
**10+ million CAPTCHAs solved every day.** Join the traffic you can trust.
And don't forget to check out our [TikTok reverse engineering project](https://github.com/justscrapeme/tiktok-web-reverse-engineering).
- Blazing-fast — sub-10 ms latency for slide & rotate puzzles.
- Battle-tested — production accuracy > 99.5% across all puzzle types.
- Budget-friendly — starts at 0.001$ and goes to as low as 0.0002$ per solve; custom volume discounts available.
- One call, done — optional end-to-end verification functionality to automatically validate verifyFp.
- Direct API access
- 1M+ solves / month
- Dedicated instances or on-prem
- SLA & priority support
We've got you covered, ping us — we’ll tailor a plan.
| Source | Details |
|----------|---------|
| Telegram | **[@justscrape](https://t.me/justscrape)** |
| Email | **[just.scrape.dev@gmail.com](mailto:just.scrape.dev@gmail.com)** |
| RapidAPI | **[JustScrape/api/tiktok-captcha-solver12](https://rapidapi.com/JustScrape/api/tiktok-captcha-solver12)** |
| PyPI | **[tiktok-captcha](https://pypi.org/project/tiktok-captcha/)** |
| TikTok Reverse Engineering | **[tiktok-web-reverse-engineering](https://github.com/justscrapeme/tiktok-web-reverse-engineering)** |
```shell
# With uv
uv add tiktok-captcha
# With poetry
poetry add tiktok-captcha
# With pip
pip install tiktok-captcha
```
### Instantiate the service
```python
from tiktok_captcha import TikTokCaptchaSolver
captcha_solver = TikTokCaptchaSolver(rapid_api_key="")
```
```python
solution = await captcha_solver.solve_puzzle(
raw_puzzle=puzzle, # byte-like puzzle image
raw_background=background, # byte-like background image
drag_width=348, # Width of the draggable element in pixels
)
print(solution.drag_distance)
```
```python
solution = await captcha_solver.solve_whirl(
raw_inner=inner, # byte-like inner image
raw_outer=outer, # byte-like outer image
drag_width=348, # Width of the draggable element in pixels
)
print(solution.drag_distance)
```
```python
solution = await captcha_solver.solve_3d(
raw_image=image, # byte-like image
modified_img_width=348, # Width of the modified image in pixels
)
print(solution.x1, solution.y1, solution.x2, solution.y2)
```
❗ NOTE:
1. Example values are for demonstration purposes only. Use your own values when making real requests.
2. This request intentionally succeeds a couple seconds longer to closely emulate the real user verification process.
```python
await captcha_solver.verify(
subtype="slide",
device_id="7541149000466466326",
iid="0",
verify_fp="verify_melwajzm_OnirqqA7_URpG_4L5b_8cWP_sQJNrIwZwAiX",
region="no1a",
detail="l2uF9tjRXulja4sQC05*D8yBqyrp*eRr*-uqAgt7z8xlrsXKqIVLLiWZwGV64jmslIvcOPAU4JKNbZMsUJRIaUnijEggW8mTVlXY2RwTdjOCBr4za7YfTv*DiCcwGQtFKCOyQSOzy-76U346Dio0dGMkR7xOMRh325M8HaBjrD70HvJYyMVBBVFvmqK6ZtyuYIvcVRmSTgILRAKfcz9rNC1l9Q1AgN20VxbvCnWfP-dosVsIKCZh4CdKsiMAzWKvxYu0rSyCljqeVVjJ1*Z1285q3UO3xGsXJFR6l9kA4XPo*wUrO0SvRBiHhDF*7jCH*JlJe*4W0qKpTzKnHQRFeHZP3M6Pd-87ENAMmBWRbrJ*RcSoSXCtPBHivJHpHa2OTR5uQhTbQV9gGOwUwPGQHKq2ZzCVM-hL4gslyrjwlvIMoCJD4xs.",
server_sdk_env='{"idc":"my","region":"ALISG","server_type":"passport"}',
ms_token="PGvFJUZMmE1v3MQ_WMpH-0K7bBTXeL0-irnmjjS8gBC7mea5HnotpBefv0Nb_WlII8XQMRG6plihRpdodDU5mq4RN7q4FQ5XnR3d2MDKHW_sZfIp7-utleWMnMKu2q9zrQBwEkFrYRlBOMBDb7Zu_lU=",
proxy="username:password@host:port",
)
```