/tarkov

A npm library for the Escape from Tarkov API

Primary LanguageTypeScriptMIT LicenseMIT

Tarkov · NPM npm PRs Welcome https://github.com/matias-kovero/tarkov/ Discord

This library is a wrapper for the Escape from Tarkov API.

Note: This requires node v8.9.0+

View Documentation
View Examples

Features

  • Authentication
  • Flea market
  • Traders
  • Hideout
  • Inventory management(*)
  • Messenger(**)
  • Quests

* Move & Stack are implemented
** Ragfair, System & Quests

Install

npm i tarkov

Usage

const { Tarkov } = require('tarkov');

// We can either provide a pre-generated hwid, or not pass it to Tarkov() for a randomly generated one
const hwid = 'awesome-sick-hwid';
const t = new Tarkov(hwid);

// Run everything in an async function
(async () => {

  // Login to tarkov, optionally also pass 2 factor code as a third param
  await t.login('email@email.com', 'password');

  // Load all profiles we have
  const profiles = await t.getProfiles();

  // We're just going to grab the second profile
  const profile = await t.selectProfile(profiles[1]);

  // Load our i18n translations
  await t.getI18n('en');
})();

View more examples

Hardware ID

Hardware ID (HWID) may be required on authentication, it can either be sniffed from the EFT launcher or generated. It's recommended to save the HWID and reuse it after the first successful authentication.

Using a fresh HWID means both captcha and 2FA code will be required on your first login attempt. This can be avoid by using the HWID generated by the EFT launcher or authenticating with your session cookie.

Captcha

This library does not attempt to solve captchas for you, the g-recaptcha-response token from reCAPTCHA may be required on authentication.

reCAPTCHA can be solved externally using tools like captcha-harvester.

"Unofficial"

I should emphasize that this library is unofficial. EFT does not have a public API, everything in this repo was reversed from the game.

The API is clearly designed for internal use. It contains numerous spelling mistakes, inconsistent conventions, and tons of bad practice JSON. The developers may push breaking changes without prior warning.

Want to Contribute?

Read this first!

License

MIT