{"id":19411011,"url":"https://github.com/nopechallc/nopecha-nodejs","last_synced_at":"2025-05-15T17:01:28.713Z","repository":{"id":147107328,"uuid":"618087557","full_name":"NopeCHALLC/nopecha-nodejs","owner":"NopeCHALLC","description":"Automated CAPTCHA solver for Node.js.","archived":false,"fork":false,"pushed_at":"2024-05-31T11:42:39.000Z","size":7,"stargazers_count":974,"open_issues_count":6,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-31T22:15:24.307Z","etag":null,"topics":["aws-waf-captcha","aws-waf-token-solver","captcha","captcha-recognition","captcha-solver","captcha-solving","funcaptcha","funcaptcha-solver","hcaptcha","hcaptcha-solver","recaptcha","recaptcha-solver","text-captcha","text-captcha-solver"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NopeCHALLC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-23T18:16:11.000Z","updated_at":"2025-03-31T04:35:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"d50833e9-a71a-496e-bef7-6f40e97f6445","html_url":"https://github.com/NopeCHALLC/nopecha-nodejs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NopeCHALLC%2Fnopecha-nodejs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NopeCHALLC%2Fnopecha-nodejs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NopeCHALLC%2Fnopecha-nodejs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NopeCHALLC%2Fnopecha-nodejs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NopeCHALLC","download_url":"https://codeload.github.com/NopeCHALLC/nopecha-nodejs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247744294,"owners_count":20988781,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-waf-captcha","aws-waf-token-solver","captcha","captcha-recognition","captcha-solver","captcha-solving","funcaptcha","funcaptcha-solver","hcaptcha","hcaptcha-solver","recaptcha","recaptcha-solver","text-captcha","text-captcha-solver"],"created_at":"2024-11-10T12:18:44.626Z","updated_at":"2025-04-07T23:03:42.099Z","avatar_url":"https://github.com/NopeCHALLC.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NopeCHA Node.js Library\n\n![NPM Version](https://img.shields.io/npm/v/nopecha?label=NPM\u0026link=https%3A%2F%2Fnopecha.com\u0026link=https%3A%2F%2Fnopecha.com%2Fnpm)\n![PyPI - Version](https://img.shields.io/pypi/v/nopecha?label=PyPI\u0026link=https%3A%2F%2Fnopecha.com\u0026link=https%3A%2F%2Fnopecha.com%2Fpypi)\n![GitHub Release](https://img.shields.io/github/v/release/NopeCHALLC/nopecha-extension?label=Extension%20Release\u0026color=4a4\u0026link=https%3A%2F%2Fnopecha.com\u0026link=https%3A%2F%2Fnopecha.com%2Fgithub)\n![Chrome Web Store Version](https://img.shields.io/chrome-web-store/v/dknlfmjaanfblgfdfebhijalfmhmjjjo?label=Chrome%20Web%20Store\u0026color=4a4\u0026link=https%3A%2F%2Fnopecha.com\u0026link=https%3A%2F%2Fnopecha.com%2Fchrome)\n![Mozilla Add-on Version](https://img.shields.io/amo/v/noptcha?label=Mozilla%20Add-on\u0026color=4a4\u0026link=https%3A%2F%2Fnopecha.com\u0026link=https%3A%2F%2Fnopecha.com%2Ffirefox)\n\nThe NopeCHA Node.js library provides convenient access to the NopeCHA API\nfrom applications written in the Node.js language. It includes a\npre-defined set of classes for API resources that initialize\nthemselves dynamically from API responses.\n\n**Important note: this library is meant for server-side usage only, as using it in client-side browser code will expose your secret API key. [See here](https://developers.nopecha.com) for more details.**\n\n\n## Supported CAPTCHA types:\n- reCAPTCHA v2\n- reCAPTCHA v3\n- reCAPTCHA Enterprise\n- hCaptcha\n- hCaptcha Enterprise\n- FunCAPTCHA\n- AWS WAF CAPTCHA\n- Text-based CAPTCHA\n\n\n## Documentation\n\nSee the [NopeCHA API docs](https://developers.nopecha.com).\n\n\n## Installation\n\n```bash\n$ npm install nopecha\n```\n\n\n## Usage\n\nThe library needs to be configured with your account's secret key which is available on the [website](https://nopecha.com/manage). Either set it as the `NOPECHA_API_KEY` environment variable before using the library:\n\n```bash\nexport NOPECHA_API_KEY='...'\n```\n\nOr set `nopecha.api_key` to its value:\n\n```javascript\nconst { Configuration, NopeCHAApi } = require(\"nopecha\");\n\nconst configuration = new Configuration({\n    apiKey: process.env.NOPECHA_API_KEY,\n});\nconst nopecha = new NopeCHAApi(configuration);\n\n// solve a recognition challenge\nconst clicks = await nopecha.solveRecognition({\n    type: 'hcaptcha',\n    task: 'Please click each image containing a cat-shaped cookie.',\n    image_urls: Array.from({length: 9}, (_, i) =\u003e `https://nopecha.com/image/demo/hcaptcha/${i}.png`),\n});\n\n// print the grids to click\nconsole.log(clicks);\n\n// solve a token\nconst token = await nopecha.solveToken({\n    type: 'hcaptcha',\n    sitekey: 'ab803303-ac41-41aa-9be1-7b4e01b91e2c',\n    url: 'https://nopecha.com/demo/hcaptcha',\n});\n\n// print the token\nconsole.log(token);\n\n// get the current balance\nconst balance = await nopecha.getBalance();\n\n// print the current balance\nconsole.log(balance);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnopechallc%2Fnopecha-nodejs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnopechallc%2Fnopecha-nodejs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnopechallc%2Fnopecha-nodejs/lists"}