imagetyperz-api-nodejs - Imagetyperz API wrapper
imagetyperzapi is a super easy to use bypass captcha API wrapper for imagetyperz.com captcha service
Installation
npm install imagetyperz-api
or
git clone https://github.com/imagetyperz-api/imagetyperz-api-nodejs
Usage
Simply require the module, set the auth details and start using the captcha service:
var imagetyperzapi = require('imagetyperz-api')
Set access_token for authentication:
const ACCESS_KEY = 'access_token_here'
imagetyperzapi.set_access_key(ACCESS_KEY)
Once you've set your authentication details, you can start using the API.
Get balance
const balance = await imagetyperzapi.account_balance()
console.log('Balance:', balance)
Solving
For solving a captcha, it's a two step process:
- submit captcha details - returns an ID
- use ID to check it's progress - and get solution when solved.
Each captcha type has it's own submission method.
For getting the response, same method is used for all types.
Image captcha
var captcha_params = {}
const captcha_id = await imagetyperzapi.submit_image('captcha.jpg', captcha_params)
ID is used to retrieve solution when solved.
Observation
It works with URL instead of image file too, but authentication has to be done using token.
reCAPTCHA
For recaptcha submission there are two things that are required.
- page_url (required)
- site_key (required)
- type (optional, defaults to 1 if not given)
1
- v22
- invisible3
- v34
- enterprise v25
- enterprise v3
- domain - used in loading of reCAPTCHA interface, default:
www.google.com
(alternative: recaptcha.net
) - optional
- v3_min_score - minimum score to target for v3 recaptcha
- optional
- v3_action - action parameter to use for v3 recaptcha
- optional
- proxy - proxy to use when solving recaptcha, eg.
12.34.56.78:1234
or 12.34.56.78:1234:user:password
- optional
- user_agent - useragent to use when solve recaptcha
- optional
- data-s - extra parameter used in solving recaptcha
- optional
- cookie_input - cookies used in solving reCAPTCHA -
- optional
var captcha_params = {}
captcha_params.page_url = 'https://your-site.com'
captcha_params.sitekey = '7LrGJmcUABBAALFtIb_FxC0LXm_GwOLyJAfbbUCL'
const captchaID = await imagetyperzapi.submit_recaptcha(captcha_params)
ID will be used to retrieve the g-response, once workers have
completed the captcha. This takes somewhere between 10-80 seconds.
Check Retrieve response
GeeTest
GeeTest is a captcha that requires 3 parameters to be solved:
- domain
- challenge
- gt
- api_server (optional)
The response of this captcha after completion are 3 codes:
Important
This captcha requires a unique challenge to be sent along with each captcha.
var captcha_params = {}
captcha_params.domain = 'https://your-site.com'
captcha_params.challenge = 'eea8d7d1bd1a933d72a9eda8af6d15d3'
captcha_params.gt = '1a761081b1114c388092c8e2fd7f58bc'
const captchaID = await imagetyperzapi.submit_geetest(captcha_params)
Optionally, you can send proxy and user_agent along.
GeeTestV4
GeeTesV4 is a new version of captcha from geetest that requires 2 parameters to be solved:
- domain
- geetestid (captchaID) - gather this from HTML source of page with captcha, inside the
<script>
tag you'll find a link that looks like this: https://i.imgur.com/XcZd47y.png
The response of this captcha after completion are 5 parameters:
- captcha_id
- lot_number
- pass_token
- gen_time
- captcha_output
var captcha_params = {};
captcha_params.domain = 'https://example.com';
captcha_params.geetestid = '647f5ed2ed8acb4be36784e01556bb71';
const captchaID = await imagetyperzapi.submit_geetest_v4(captcha_params);
Optionally, you can send proxy and user_agent along.
hCaptcha
Requires page_url and sitekey
var captcha_params = {}
captcha_params.page_url = 'https://your-site.com'
captcha_params.sitekey = '8c7062c7-cae6-4e12-96fb-303fbec7fe4f'
const captchaID = await imagetyperzapi.submit_hcaptcha(captcha_params)
Capy
Requires page_url and sitekey
var captcha_params = {}
captcha_params.page_url = 'https://your-site.com'
captcha_params.sitekey = 'Fme6hZLjuCRMMC3uh15F52D3uNms5c'
const captchaID = await imagetyperzapi.submit_capy(captcha_params)
Tiktok
Requires page_url and cookie_input
var captcha_params = {}
captcha_params.page_url = 'https://tiktok.com'
captcha_params.cookie_input = 's_v_web_id:verify_kd6243o_fd449FX_FDGG_1x8E_8NiQ_fgrg9FEIJ3f;tt_webid:612465623570154;tt_webid_v2:7679206562717014313;SLARDAR_WEB_ID:d0314f-ce16-5e16-a066-71f19df1545f;';
const captchaID = await imagetyperzapi.submit_tiktok(captcha_params)
FunCaptcha
Requires page_url, sitekey and s_url (source URL)
var captcha_params = {};
captcha_params.page_url = 'https://your-site.com';
captcha_params.sitekey = '11111111-1111-1111-1111-111111111111';
captcha_params.s_url = 'https://api.arkoselabs.com';
const captchaID = await imagetyperzapi.submit_funcaptcha(captcha_params)
Turnstile (Cloudflare)
Requires page_url and sitekey
captcha_params.page_url = 'https://your-site.com';
captcha_params.sitekey = '0x4ABBBBAABrfvW5vKbx11FZ';
Task
Requires template_name, page_url and usually variables
var captcha_params = {};
captcha_params = {
'template_name': 'Login test page',
'page_url': 'https://imagetyperz.net/automation/login',
'variables': {"username": 'abc', "password": 'paZZW0rd'},
}
const captchaID = await imagetyperzapi.submit_task(captcha_params)
Task pushVariable
Update a variable value while task is running. Useful when dealing with 2FA authentication.
When template reaches an action that uses a variable which wasn't provided with the submission of the task,
task (while running on worker machine) will wait for variable to be updated through push.
You can use the pushVariables method as many times as you need, even overwriting previously set variables.
await imagetyperzapi.task_push_variables(captchaID, {"twofactor_code": "32484"})
Retrieve response
Regardless of the captcha type (and method) used in submission of the captcha, this method is used
right after to check for it's solving status and also get the response once solved.
It requires one parameter, that's the captcha ID gathered from first step.
const response = await imagetyperzapi.retrieve_response(captchaID)
const captchaID = await imagetyperzapi.submit_recaptcha(captcha_params)
console.log('Waiting for captcha to be solved ...')
const response = await imagetyperzapi.retrieve_response(captchaID)
console.log(`Response: ${JSON.stringify(response)}`)
The response is a JSON object that looks like this:
{
"CaptchaId": 176707908,
"Response": "03AGdBq24PBCbwiDRaS_MJ7Z...mYXMPiDwWUyEOsYpo97CZ3tVmWzrB",
"Cookie_OutPut": "",
"Proxy_reason": "",
"Status": "Solved"
}
Other methods/variables
Affiliate id
Set affiliate ID, using set_affiliate_id
method
imagetyperzapi.set_affiliate_id(123)
Set captcha bad
When a captcha was solved wrong by our workers, you can notify the server with it's ID,
so we know something went wrong.
imagetyperzapi.set_captcha_bad(captchaID)
Examples
Check examples
folder.
It contains an example for each type of captcha.
License
API library is licensed under the MIT License
More information
More details about the server-side API can be found here
captcha, bypasscaptcha, decaptcher, decaptcha, 2captcha, deathbycaptcha, anticaptcha,
bypassrecaptchav2, bypassnocaptcharecaptcha, bypassinvisiblerecaptcha, captchaservicesforrecaptchav2,
recaptchav2captchasolver, googlerecaptchasolver, recaptchasolverjavascript, recaptchabypassscript