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 publishWe 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
productionordev; 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)