We are in a point in time where technology is changing drastically by the year.
Along with the technology change, the captchas are also changing. Web developers are trying harder and harder to block automated traffic and actions that are performed on the websites.
Because captcha types are changing as often as technology does, we decided to try and go a different way about it.
We implemented what we are calling BCS tasks. This is an entirely new way of going about website automation, along captcha bypassing and others.
The main idea of the task is the following:
This gives the users lots of different uncharted possibilities when it comes to automation. The template acts as the steps that have to be performed, automatically or manually by the worker. User can then restore the session on his end, without the need to relogin.
Templates are at the core of the BCS tasks.
They defined exactly what steps (or actions) will be executed on the workers machine. Template actions are sequential, meaning they get executed one after the other.
To define a template check out this page: https://bestcaptchasolver.com/captcha-tasks/templates
At the core of the template, are the actions.
FILL_INPUT_AUTO - auto complete field value with text
WAIT_CONTROL_TEXT_PRESENT - wait for text to appear in DOM
WAIT_CONTROL_TEXT_NOT_PRESENT - wait for text to disappear from DOM
WAIT_SELECTOR_PRESENT - wait for CSS selector to appear
WAIT_SELECTOR_NOT_PRESENT - wait for CSS selector to disappear
WAIT_URL_KEYWORD_PRESENT - wait for keyword (text) in URL to appear
WAIT_URL_KEYWORD_NOT_PRESENT - wait for keyword (text) in URL to disappear
CLICK_ON_SELECTOR - wait for CSS selector to appear and click on it
CLICK_ON_ELEMENT_WITH_TEXT - wait for an element containing specific text to appear and click on it
HIDE_ELEMENT_BY_SELECTOR - Hide an element by CSS selector to help worker focus on task
CHANGE_DESCRIPTION - Changes description text for worker. Useful when he's required to do another step
TAKE_SCREENSHOT - Takes screenshot of current page state
DELAY_TIME - Delay for an amount of seconds
And more will be added.
Actions can have the following properties:
In case an action does not succeed, and it's not set as optional, the task will retry that action until it suceeds.
Load the example template into the form, to get an idea of how a new template looks.
Each template requires the following:
When publishing templates, it's important to know that the template can have two different visibility types:
For public templates, you'll earn %5 on each customer's expenses with this template. You'll need to leave some contacts for our customers to reach out for your help if something goes wrong with your template.
We review all templates carefully. You need to follow some basic requirements to switch successfully to production mode:
You can check all the public available templates here: https://bestcaptchasolver.com/captcha-tasks/templates The templates that show up, are those that are public but were also verified by our team.
You can also search by template name and description.
Templates having the green shield are added by us so they are the most safe to use, from the public templates.
In order to submit a task, the following parameters have to be provided to the API:
The task information such as template_name, page_url, variables and user-agent are submitted through our API. Each submission is considered a different run of the template, with the specified information.
Some websites will respond differently, if connected from mobile or desktop. If that's the case, make sure you use the same user agent used when creating the template, or at least from the same platform, when you submit a new task.
Although user_agent
parameter is optional, it can be very important.
curl -H "Content-Type: application/json" \
-X POST \
-d '{"access_token": "YOUR_ACCESS_TOKEN", "template_name": "Login test page", "user_agent": "the same UA used when creating the template", "page_url": "https://bestcaptchasolver.com/automation/login", "variables": {"username": "abc", "password": "0000"}}' \
https://bcsapi.xyz/api/captcha/task
# response
{"id":543934857,"status":"submitted"}
Use the returned captchaID like a regular captcha to get the solution.
To find out all the information regarding the API for submitting tasks, check our API docs
This feature allows for variables to be pushed for the task, while task was already received by a worker.
Useful in situations where you don't know a specific value of a variable, only after a certain action occurs in the task template. For example, when dealing with 2FA.
Here's how to push variables:
curl -H "Content-Type: application/json" \
-X POST \
-d '{"access_token": "YOUR_ACCESS_TOKEN", "pushVariables": {"tfa_code": "1084"}}' \
https://bcsapi.xyz/api/captcha/task/pushVariables/YOUR_CAPTCHA_ID
# response
{"status":"updated"}
For variables that are required, but were not submitted with the task will be threated as variables that require a push update.
Tasks that are completed successfully will return the following:
Use the cookies, localStorage and fingerprint to restore the session into a different browser. Technologies such as selenium, puppeteer and playwright allow you to do so.
We've created an application in nodejs using playwright that imports the cookies. Source code is available here: https://github.com/bestcaptchasolver/task-cookies-importer
At this time, we set the price at $2.5 per 1000 tasks. Additionally, every second of the task execution costs 1/60 of the task price. For example, the task costs $0.0025, and the worker spent 20 seconds solving it.
The final cost will be $0.00333 = 0.0025 + (0.0025 / 60 * 20) .
The tasks are in beta currently. Feel free to message about your thoughts on tasks.