Independent REST API to serve Escape from Tarkov data. This API provides easy access to game data without depending on Cloudflare or other external services.
cd api
npm installnpm startnpm run devThe API starts by default on http://localhost:3000
GET /- API information and endpoints list
GET /health- API status
-
GET /api/items- List all items- Query parameters:
search- Search by namelimit- Number of items per pageoffset- Offset for pagination
- Example:
/api/items?search=ak&limit=10&offset=0
- Query parameters:
-
GET /api/items/:id- Get specific item by ID- Example:
/api/items/619d272b0f9e4513744e7699
- Example:
-
GET /api/ammunition- List all ammunition- Query parameters:
caliber- Filter by calibersearch- Search by namelimit- Number of ammunition per pageoffset- Offset for pagination
- Example:
/api/ammunition?caliber=Caliber762x39&limit=20
- Query parameters:
-
GET /api/ammunition/:id- Get specific ammunition by ID- Example:
/api/ammunition/5e023cf8186a883be655e54f
- Example:
-
GET /api/ammunition/calibers/list- List all available calibers
-
GET /api/hideout- Get all hideout data -
GET /api/hideout/:moduleId- Get specific hideout module
-
GET /api/quests- List all quests- Query parameters:
trader- Filter by tradersearch- Search by namelimit- Number of quests per pageoffset- Offset for pagination
- Example:
/api/quests?trader=prapor
- Query parameters:
-
GET /api/quests/:questId- Get specific quest
-
GET /api/traders- List all traders -
GET /api/traders/:traderId- Get specific trader
-
GET /api/maps- List all maps -
GET /api/maps/:mapId- Get specific map
-
GET /api/item-presets- List all item presets- Query parameters:
baseId- Filter by base IDsearch- Search by namelimit- Number of presets per pageoffset- Offset for pagination
- Query parameters:
-
GET /api/item-presets/:id- Get specific preset
GET /api/levels- Get level information
-
GET /api/storyline- List all storylines- Query parameters:
search- Search by name or descriptionlimit- Number of storylines per pageoffset- Offset for pagination
- Example:
/api/storyline?search=skies
- Query parameters:
-
GET /api/storyline/:id- Get specific storyline
curl "http://localhost:3000/api/items?search=helmet&limit=5"curl "http://localhost:3000/api/ammunition?caliber=Caliber762x39"curl "http://localhost:3000/api/items/619d272b0f9e4513744e7699"curl "http://localhost:3000/api/ammunition/calibers/list"Environment variables:
PORT- Server listening port (default: 3000)
Example:
PORT=8080 npm startapi/
├── server.js # Main Express server
├── package.json # Dependencies and scripts
└── README.md # Documentation
tarkovdata/
├── items.en.json
├── ammunition.json
├── hideout.json
├── quests.json
├── traders.json
├── maps.json
├── item_presets.json
├── levels.json
└── storyline.json
- No Cloudflare dependency - Completely independent standalone API
- RESTful - Simple and standard REST architecture
- CORS enabled - Usable from any domain
- Compression - Compressed responses for better performance
- Security - Security headers with Helmet
- Search - Text search on items, ammunition and quests
- Filtering - Filters by caliber, trader, etc.
- Pagination - Pagination support for large lists
- In-memory cache - Data loaded at startup for optimal performance
All list responses include metadata:
{
"total": 1234,
"count": 10,
"offset": 0,
"items": [...]
}404- Resource not found500- Internal server error
Error format:
{
"error": "Error message"
}ISC
Data provided by TarkovData
Inspired by Tarkov API but completely independent of Cloudflare.