This is the main API for tarkov.dev, and was forked from kokarn's Tarkov Tools API.
It's a simple GraphQL API running on Cloudflare workers.
This API powers all of tarkov.dev and other notable projects as well:
A community made GraphQL API for Escape from Tarkov
- 🆓 Free
- 🔨 Easy to use
- 📖 Open source
- 🧑🤝🧑 Community driven
- ⚡ Ultra fast
- ⏰ Data is constantly updated in real-time
- View the prices of items
- Get detailed ammo, armor, and weapon information
- Fetch flea market data
- View item weight, slots, etc
- Calculate barter and hideout profit
- Determine ergo, armor class, durability, etc for an item
- Fetch detailed quest information and unlocks
- View info about crafts and their requirements
- Find information about in-game bosses
- Detailed info on medicines, stims, and in-game healing
- So much more (it would take up this entire page to list everything 😸)
This API does almost everything you would ever want for EFT!
There is a GraphQL playground for you to use and test out
Link: api.tarkov.dev/
Example Query:
query {
items {
id
name
shortName
wikiLink
iconLink
updated
}
}
More examples can be found in our graphql example docs 📚
Even more examples can be found on our api page on tarkov.dev (includes many programming languages too)
Prerequisites:
- Install Wrangler
- Run
wrangler login
- (needed for k/v store and secrets)
You may want to create a .dev.vars file in the main project folder with the following values:
- CACHE_BASIC_AUTH (used for caching)
Start the API server:
- Start the dev environment by running
npm run dev
- Then open up the playground on localhost:8787/___graphql
If you wish to deploy locally and have permissions to do so, run the following command:
wrangler publish
We don't do this often and generally use GitHub actions to do all of our deployments for us
There's also an http webserver in the /http folder. It can be run with npm run dev
or npm start
. To run locally, you need to set the following vars (for local testing, you can use an .env file in the /http folder):
- CLOUDFLARE_TOKEN (token must have permissions to read the KVs the API uses)
- CACHE_BASIC_AUTH (used for caching)
- ENVIRONMENT (either
production
ordev
; determines which KVs are read) - PORT (defaults to 8088)
- WORKERS (defaults to # of cpus - 1; determines how many worker threads are created to respond to requests)