Tarkov
An unofficial client library for the Escape from Tarkov (EFT) API.
Note: The game updates faster than I can update this crate. Make sure the GAME_VERSION
and LAUNCHER_VERSION
consts are up to date.
Features
- Authentication
- Flea market
- Traders
- Hideout
- Inventory management (equip, move, delete, etc)
- Messenger
- Quests
Getting Started
Comprehensive examples can be found in the examples
directory.
Usage
Add this to your Cargo.toml
:
[dependencies]
tarkov = "0.1"
Authentication
There are three ways to authenticate your EFT account for tarkov
:
- Email & password is the easiest way to authenticate your account. However, a captcha and 2FA code may be required. Read the HWID section for more details.
- Access token or Bearer token can be found by sniffing EFT launcher traffic. HWID from the launcher is required.
- Session is a cookie called
PHPSESSID
, it can be found by sniffing EFT launcher traffic. HWID is not required for this method.
Your PMC character profile must be selected with select_profile
to complete the authentication.
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 in a persistent store 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.
Rust Version
tarkov
has a minimum version requirement of 1.40
.
"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.