Skip to main content

TikTok Captcha Solver API (puzzle, whirl, 3d, end-to-end verification)

Project description

TikTok Captcha Solver

Python client for TikTok Captcha Solving service.

Allowed usage methods:

Solve any TikTok CAPTCHA in milliseconds — for pennies.

Example

Table of Contents

  1. 🧑‍💻 What we do?
  2. 💡 Why choose us?
  3. 🤝 Need more?
  4. 🔗 Links
  5. ⚙️ Installation
  6. 📄 Usage examples
    6.1. Slide (puzzle)
    6.2. Whirl (rotate)
    6.3. 3D (same object)
    6.4. Hashcash
    6.5. End-to-end verification

🧑‍💻 What we do?

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
Hashcash 100% < 50 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.

💡 Why choose us?

  • 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.

🤝 Need more?

  • 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.

🔗 Links

Source Details
Telegram @justscrape
Email just.scrape.dev@gmail.com
RapidAPI JustScrape/api/tiktok-captcha-solver12
PyPI tiktok-captcha
TikTok Reverse Engineering tiktok-web-reverse-engineering

⚙️ Installation

# With uv
uv add tiktok-captcha

# With poetry
poetry add tiktok-captcha

# With pip
pip install tiktok-captcha

📄 Usage examples

Instantiate the service

from tiktok_captcha import TikTokCaptchaSolver, PrivateAPIServiceLocation

captcha_solver = TikTokCaptchaSolver(
    service_location=PrivateAPIServiceLocation(
        url="<private API URL>",
        api_key="<your private API key>"
    )
)

Slide (puzzle)

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)

Whirl (rotate)

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)

3D (same object)

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)

Hashcash

solution = await captcha_solver.solve_hashcash(
    prefix="1777662666", # hashcash question prefix returned by TikTok
    required_bits=8, # number of leading bits that must match
    stamp=3471963987, # hashcash question stamp returned by TikTok
)
print(solution.answer)

End-to-end verification

❗ 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.
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",
)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tiktok_captcha-0.3.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tiktok_captcha-0.3.0-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file tiktok_captcha-0.3.0.tar.gz.

File metadata

  • Download URL: tiktok_captcha-0.3.0.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tiktok_captcha-0.3.0.tar.gz
Algorithm Hash digest
SHA256 0f8fd017ea70ab34dc160d3229563152170234eaaa589586df499fa66b1878e7
MD5 5f2a9ef4bf635bb9801e7b48650d602c
BLAKE2b-256 86754dbfca143a38ac0b40138a5ef19d8856061c0d0678c21647f82437f8555e

See more details on using hashes here.

File details

Details for the file tiktok_captcha-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: tiktok_captcha-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tiktok_captcha-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d1cd668e7b29438c952e44184b08c384bb63549f51c98968a173e6afa42ed860
MD5 f64c753a4bbef84e190a656a52e10a5c
BLAKE2b-256 d51cebba19307450d20b0c8f3de1d50671d8958778dd1bb54edb0d0e0bfef06d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page