Skip to content

What language should I use to build my bot?

Doni Rahma Tiana edited this page Jul 18, 2023 · 5 revisions

The best language to build your bot will depend on many factors.

If you are building a bot that requires rendering in the browser, you should generally use JavaScript with Puppeteer. API-based bots are out of scope for this wiki; however, if facing any serious adversary, you will likely have to implement TLS fingerprint forgery, which cannot be done/hasn't been demonstrated in all languages.

Advantages of using your favorite language

Let's start with the pros. If you're here, you were likely sent from our community chat, where this is a common question.

So let's give you some

  • you get to be as efficient as you can from day 1
  • if interacting directly with the browser using the CDP (Chrome Developer Protocol), you will gain knowledge on the internals of Chrome.

Advantages of using JavaScript/TypeScript

Larger scraping ecosystem

There will be more ready-made packages to use in the JavaScript ecosystem, such as:

... and many others.

Most of the time, there will be no equivalent in, i.e. Python. This leads to a significant increase in productivity simply by using JavaScript.

Avoiding context switches

Since you'll mostly encounter JS when scraping anyway, a JS framework naturally is helpful.

  • you will have a unified codebase. Nothing sucks more than having to constantly change your thinking context.
  • You will be better prepared for browser automation tasks or antibot-evasion tasks, which requires a moderate level of skills in JavaScript. Python developers will have to flex their brain muscles a lot to complete these tasks.

If browsers were scripted in with Python, Python would be favored.