Solverecaptchas
An async Python library to automate solving ReCAPTCHA v2 using Playwright.
Install / Use
/learn @embium/SolverecaptchasREADME
.. image:: https://img.shields.io/pypi/v/solverecaptchas.svg
:alt: PyPI
:target: https://pypi.org/project/solverecaptchas/
.. image:: https://img.shields.io/pypi/pyversions/solverecaptchas.svg
:alt: PyPI - Python Version
:target: https://pypi.org/project/solverecaptchas/
.. image:: https://img.shields.io/pypi/l/solverecaptchas.svg
:alt: PyPI - License
:target: https://pypi.org/project/solverecaptchas/
.. image:: https://img.shields.io/pypi/status/solverecaptchas.svg
:alt: PyPI - Status
:target: https://pypi.org/project/solverecaptchas/
Solverecaptchas
An async Python library to automate solving ReCAPTCHA v2 using Playwright.
Disclaimer
This project is for educational and research purposes only. Any actions and/or activities related to the material contained on this GitHub Repository is solely your responsibility. The misuse of the information in this GitHub Repository can result in criminal charges brought against the persons in question. The author will not be held responsible in the event any criminal charges be brought against any individuals misusing the information in this GitHub Repository to break the law.
Trained model
I've trained a model that detects each of the following classes which support 9x grid.
- bicycle
- boat
- bridge
- bus
- car
- chimneys
- crosswalk
- fire hydrant
- motorcycles
- mountains or hills
- palm trees
- stair
- taxi
- tow truck
- traffic light
- traffic sign
- truck
This model can be downloaded from https://mikey.id/yolov3.weights. I've provided the other necessary files under model/.
Compatibility
Linux, macOS, and Windows!
Installation
.. code:: shell
$ pip install solverecaptchas
Usage
If you want to use it in your own script
.. code:: python
import asyncio
import sys
from solverecaptchas.solver import Solver
if len(sys.argv) == 4:
pageurl, sitekey, proxy = sys.argv[1:]
else:
print('Invalid number of arguments (pageurl, sitekey, proxy)')
sys.exit(0)
if proxy.lower() == "none":
proxy = None
client = Solver(pageurl, sitekey, proxy=proxy)
result = asyncio.run(client.start())
if result:
print(result)
Related Skills
node-connect
340.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
84.2kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
84.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
340.5kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
