Tarkov Pilot
⬤
Tarkov Pilot v2 released — old versions don't work anymore, please download the new one. Easier setup, auto-update, all settings in the app window.
Suivi des prix, cartes interactives et outils de progression

Tarkov Market API

Prix du marché, prix marchands et données des objets d'Escape from Tarkov. URL de base : https://api.tarkov-market.app/api/v1

Clients officiels sans dépendances : Node.js, Python et Go — github.com/ggdiam/tarkov-market-api

Clé API

Pour utiliser l'API, il vous faut le statut Pro sur le site. Les exemples ci-dessous utilisent la valeur fictive your_api_key.

Authentification

La clé API autorise aussi les applications à lire et modifier la progression de vos personnages. Partagez-la uniquement avec des applications fiables. PRO est requis ; une nouvelle clé API révoque l’ancienne. Les requêtes de progression acceptent x-api-key uniquement en en-tête.

Transmettez votre clé dans un en-tête :

x-api-key: your_api_key

Ou comme paramètre de requête si les en-têtes ne conviennent pas (navigateur, bots de streaming, tableurs) :

?x-api-key=your_api_key

Clé absente, inconnue ou désactivée → 401 { "error": "Access denied" }

Modes de jeu

Chaque point d'accès aux objets existe pour trois modes de jeu. Choisissez le mode avec un préfixe de chemin ou le paramètre mode : les deux donnent la même réponse.

Mode
Préfixe de chemin
Paramètre
Source des prix
PVP
/api/v1/…
par défaut
collection items
PVE
/api/v1/pve/…
mode=pve
scan PVE
Season
/api/v1/season/…
mode=season
scan saisonnier

Personnages saisonniers

L'économie saisonnière est scannée séparément et son historique est récent. Un objet n'a un prix que lorsque le scanner l'a vu sur le marché saisonnier ; avg24hPrice / diff24h se remplissent à mesure que l'historique s'accumule. Les champs indépendants du marché, basePrice et le prix marchand, reprennent les valeurs PVP en attendant un export propre à la saison.

Exemple sans prix saisonnier (même objet, même requête, mode saisonnier) :

{
    "uid": "a7f7568c-61fb-437e-9f71-06e58aae26ba",
    "name": "LEDX Skin Transilluminator",
    "price": 0,               // Aucun prix saisonnier pour le moment
    "avg24hPrice": 0,
    "diff24h": 0,
    "updated": "",            // Jamais observé sur le marché saisonnier
    "haveMarketData": false,  // Ne pas utiliser le prix de cet objet
    "basePrice": 970000,      // Hors données du marché : identique au PVP
    "traderName": "Therapist",
    "traderPrice": 494700
}

Points d'accès

GET/item?q=ledx
Chercher un objet par nom, uid ou bsgId.
qNom complet ou court dans une langue prise en charge. Jusqu'à 5 résultats, correspondance exacte en premier
uiduid Tarkov Market : renvoie exactement un objet
bsgIdIdentifiant des fichiers du jeu : renvoie exactement un objet
langLangue des noms et du lien vers le site. Valeurs : en, ru, ch, cz, de, es, fr, hu, it, jp, kr, mx, pl, po, ro, sk, tr. Par défaut : en
URL
https://api.tarkov-market.app/api/v1/item?q=ledx&x-api-key=your_api_key
curl
curl -H "x-api-key: your_api_key" "https://api.tarkov-market.app/api/v1/item?q=ledx"
Exemple de réponse
[
    {
        "uid": "a7f7568c-61fb-437e-9f71-06e58aae26ba",
        "name": "LEDX Skin Transilluminator",
        "bannedOnFlea": false,
        "haveMarketData": true,
        "tags": ["Barter"],
        "shortName": "LEDX",
        "price": 550000,
        "basePrice": 970000,
        "avg24hPrice": 598993,
        "avg7daysPrice": 671670,
        "traderName": "Therapist",
        "traderPrice": 494700,
        "traderPriceCur": "₽",
        "traderPriceRub": 494700,
        "updated": "2026-08-05T17:34:28.319Z",
        "slots": 1,
        "diff24h": -8.18,
        "diff7days": -18.11,
        "icon": "https://cdn.tarkov-market.app/images/items/a7f7568c-61fb-437e-9f71-06e58aae26ba_sm.png",
        "link": "https://tarkov-market.com/item/ledx_skin_transilluminator",
        "wikiLink": "https://escapefromtarkov.fandom.com/wiki/LEDX_Skin_Transilluminator",
        "img": "https://cdn.tarkov-market.app/images/items/a7f7568c-61fb-437e-9f71-06e58aae26ba_sm.png",
        "imgBig": "https://cdn.tarkov-market.app/images/items/ledx_skin_transilluminator_lg.png",
        "bsgId": "5c0530ee86f774697952d952",
        "isFunctional": true,
        "reference": "https://www.patreon.com/tarkov_market"
    }
]
POST/item
Même recherche avec un corps JSON : utile pour les textes non latins afin d'éviter l'encodage d'URL.
q / uid / bsgIdIdentiques à GET, transmis dans le corps JSON
langIdentique à GET
curl
curl https://api.tarkov-market.app/api/v1/item \
  -H "x-api-key: your_api_key" \
  -H "Content-Type: application/json" \
  -X POST --data '{"q":"AI-2急救组合","lang":"ch"}'
Exemple de réponse
[
    {
        "uid": "2335b619-c562-41da-962f-e7b5aba5d45c",
        "name": "AI-2急救组合",
        "shortName": "AI-2",
        "tags": ["Meds"],
        "price": 6900,
        "basePrice": 4160,
        "avg24hPrice": 6695,
        "avg7daysPrice": 5912,
        "traderName": "Therapist",
        "traderPrice": 2121,
        "traderPriceCur": "₽",
        "traderPriceRub": 2121,
        "diff24h": 3.06,
        "diff7days": 16.71,
        "updated": "2026-08-05T17:07:42.165Z",
        "link": "https://tarkov-market.com/ch/item/ai-2_medikit",
        "bsgId": "5755356824597772cb798962",
        "isFunctional": true
    }
]
GET/items/all5 req/min
Tous les objets dans un tableau. Données mises en cache pendant 5 minutes ; interroger plus souvent n'apporte rien.
tagsConserver uniquement ces catégories, séparées par des virgules : tags=Ammo,Magazines
sortTrier par un champ de réponse, par exemple sort=price
sort_directionasc (par défaut) ou desc
langLangue des noms et des liens vers le site
URL
https://api.tarkov-market.app/api/v1/items/all?x-api-key=your_api_key
curl
curl -H "x-api-key: your_api_key" "https://api.tarkov-market.app/api/v1/items/all"
Exemple de réponse
[
    {
        "uid": "f0fa8457-6638-4ad2-b7e8-4708033d8f39",
        "name": "Secure Flash drive",
        "shortName": "Flash drive",
        "price": 37400,
        ...
    },
    {
        "uid": "33c15349-44e6-4553-9705-1b6417a1ad6a",
        "name": "SSD drive",
        ...
    },
    ...
]
GET/items/all/download5 req/min
La même liste complète dans un fichier JSON téléchargeable.
langLangue des noms et des liens vers le site
URL
https://api.tarkov-market.app/api/v1/items/all/download?x-api-key=your_api_key
curl
curl -H "x-api-key: your_api_key" "https://api.tarkov-market.app/api/v1/items/all/download"

Champs de réponse

Champ
Signification
uid
Identifiant stable Tarkov Market ; utilisez-le comme clé de votre côté
bsgId
Identifiant des fichiers du jeu
name / shortName
Nom dans la langue demandée
tags
Catégories de l'objet, identiques aux filtres du site
price
Dernier prix connu au marché, en ₽. 0 signifie aucun prix pour ce mode
avg24hPrice / avg7daysPrice
Prix moyen au marché sur 24 heures / 7 jours, en ₽
diff24h / diff7days
Écart du dernier prix par rapport à ces moyennes, en %
basePrice
Prix de base du catalogue, en ₽, utilisé pour calculer le rachat marchand
traderName
Marchand offrant le meilleur prix de rachat
traderPrice / traderPriceCur
Prix payé par ce marchand, dans sa devise (₽, $ ou €)
traderPriceRub
Même prix marchand converti en ₽ au taux du jeu
bannedOnFlea
L'objet ne peut pas être vendu au marché
haveMarketData
Objet échangeable au marché avec un prix récent ; false signifie que le prix n'est pas fiable
isFunctional
false pour les objets retirés du jeu ou impossibles à obtenir
updated
Dernière observation du prix par le scanner. Vide signifie jamais observé
slots
Taille de l'objet en cases d'inventaire
img / imgBig
Icône et grande image sur mon CDN
icon
Ancien alias de img : même URL
link / wikiLink
Fiche de l'objet sur tarkov-market.com et sur le wiki

Progression du personnage

URL de base de l’API de progression : https://api.tarkov-market.app/api/v1

Obtenez charUid via /characters. Le personnage détermine PVP, PVE ou SEASON ; le sélecteur ci-dessus concerne les prix. itemId et questId sont des identifiants BSG, alias et références inclus. upgradeKey désigne un niveau de la planque, par exemple Workbench_2.

GET renvoie revision et ETag. Remplacez les paramètres des exemples par votre personnage, identifiant BSG et revision ; envoyez If-Match: "{revision}" avec chaque PATCH. Les écritures fixent des valeurs absolues. Après 409, relisez la progression et ajustez la modification. Une valeur déjà appliquée réussit sans nouvelle écriture.

Progression : 300 requêtes/minute par clé et propriétaire ; 60 tentatives PATCH/minute par propriétaire. Budgets distincts des prix. 429 inclut Retry-After: 60. Les états privés ne sont pas mis en cache.

GET/characters
Lister les personnages du propriétaire de la clé API.
curl
curl -H "x-api-key: your_api_key" "https://api.tarkov-market.app/api/v1/characters"
Exemple de réponse
{
    "characters": [
        {
            "charUid": "{charUid}",
            "name": "Main",
            "gameMode": "PVP"
        }
    ]
}
GET/characters/{charUid}/tracked-items
Lire noms et icônes avec requiredQuantity (besoins obligatoires restants), spentQuantity (déjà comptabilisé), availableQuantity (stock), remainingQuantity = max(0, requiredQuantity − availableQuantity) et sources. Les objets initiaux et étapes remises réduisent les besoins. Les objectifs facultatifs sont exclus ; firInventorySeparate:false signifie aucun stock FiR distinct. PATCH fixe availableQuantity ; aucun ajout ou retrait d’objectif personnalisé. Prix : /api/v1/item?bsgId={itemId}&mode={mode}, /api/v1/items/all?mode={mode}. Utilisez le mode du personnage (pvp/pve/season) ; calculez le prix par case avec price / slots.
langLangue des noms et du lien vers le site. Valeurs : en, ru, kr, it, es, de, jp, ch, tr, fr, pl, po, cz, sk, hu, ro, mx. Par défaut : en
curl
curl -H "x-api-key: your_api_key" "https://api.tarkov-market.app/api/v1/characters/{charUid}/tracked-items"
Exemple de réponse
{
    "charUid": "{charUid}",
    "gameMode": "PVP",
    "revision": "{revision}",
    "firInventorySeparate": false,
    "items": [
        {
            "itemId": "5c0530ee86f774697952d952",
            "name": "LEDX Skin Transilluminator",
            "shortName": "LEDX",
            "slots": 1,
            "icon": "https://cdn.tarkov-market.app/images/items/a7f7568c-61fb-437e-9f71-06e58aae26ba_sm.png",
            "requiredQuantity": 10,
            "spentQuantity": 0,
            "availableQuantity": 5,
            "remainingQuantity": 5,
            "sources": [
                {
                    "type": "quest",
                    "questId": "{BSG quest ID}",
                    "amount": 10,
                    "remainingRequiredQuantity": 10,
                    "fir": true,
                    "completed": false,
                    "canceled": false
                }
            ]
        }
    ]
}
PATCH/characters/{charUid}/tracked-items/{itemId}
Fixer la valeur absolue du JSON et envoyer la revision de GET dans If-Match.
availableQuantitySeul champ JSON autorisé, obligatoire : un entier de 0 à 1 000 000 000. Définit le stock disponible absolu, sans ajouter ni retirer cette quantité ; 0 remet le stock à zéro. Les autres champs sont en lecture seule. Champ absent, valeur invalide ou champs supplémentaires : 400 invalid_quantity.
curl
curl "https://api.tarkov-market.app/api/v1/characters/{charUid}/tracked-items/{itemId}" \
  -H "x-api-key: your_api_key" \
  -H 'If-Match: "{revision}"' \
  -H "Content-Type: application/json" \
  -X PATCH --data '{"availableQuantity":4}'
Exemple de réponse
{
    "ok": true,
    "changed": true,
    "revision": "{newRevision}",
    "notificationDelivered": true
}
GET/characters/{charUid}/quests
Lire les quêtes adaptées au personnage. status est calculé : completed, failed, unreachable, available ou locked ; il ne signifie pas que la quête est acceptée en jeu. PATCH completed:true ou false. La réinitialisation conserve les étapes cochées et les quêtes liées terminées.
langLangue des noms et du lien vers le site. Valeurs : en, ru, kr, it, es, de, jp, ch, tr, fr, pl, po, cz, sk, hu, ro, mx. Par défaut : en
curl
curl -H "x-api-key: your_api_key" "https://api.tarkov-market.app/api/v1/characters/{charUid}/quests"
Exemple de réponse
{
    "charUid": "{charUid}",
    "gameMode": "PVP",
    "revision": "{revision}",
    "quests": [
        {
            "questId": "{BSG quest ID}",
            "questIdAliases": [],
            "name": "Quest name",
            "trader": "Therapist",
            "completed": false,
            "status": "available"
        }
    ]
}
PATCH/characters/{charUid}/quests/{questId}
Fixer la valeur absolue du JSON et envoyer la revision de GET dans If-Match.
completedSeul champ JSON autorisé, obligatoire : un booléen. true termine la quête ; false réinitialise son achèvement en conservant les étapes cochées et les quêtes liées terminées. status, étapes et autres champs ne sont pas modifiables ici. Champ absent, valeur invalide ou champs supplémentaires : 400 invalid_completed.
curl
curl "https://api.tarkov-market.app/api/v1/characters/{charUid}/quests/{questId}" \
  -H "x-api-key: your_api_key" \
  -H 'If-Match: "{revision}"' \
  -H "Content-Type: application/json" \
  -X PATCH --data '{"completed":true}'
Exemple de réponse
{
    "ok": true,
    "changed": true,
    "revision": "{newRevision}",
    "notificationDelivered": true
}
GET/characters/{charUid}/hideout
Lire chaque niveau de la planque : upgradeKey, moduleId (identifiant BSG ou null), completed, prebuilt et canComplete. PATCH completed:true ou false. Terminer d’abord les prérequis, réinitialiser d’abord les dépendances. Les constructions initiales de l’édition ne peuvent être réinitialisées. canComplete vérifie les modules, pas l’argent ni les compétences en jeu.
langLangue des noms et du lien vers le site. Valeurs : en, ru, kr, it, es, de, jp, ch, tr, fr, pl, po, cz, sk, hu, ro, mx. Par défaut : en
curl
curl -H "x-api-key: your_api_key" "https://api.tarkov-market.app/api/v1/characters/{charUid}/hideout"
Exemple de réponse
{
    "charUid": "{charUid}",
    "gameMode": "PVP",
    "revision": "{revision}",
    "modules": [
        {
            "upgradeKey": "Workbench_2",
            "moduleId": "{BSG module ID}",
            "name": "Workbench",
            "level": 2,
            "completed": false,
            "prebuilt": false,
            "canComplete": true
        }
    ]
}
PATCH/characters/{charUid}/hideout/{upgradeKey}
Fixer la valeur absolue du JSON et envoyer la revision de GET dans If-Match.
completedSeul champ JSON autorisé, obligatoire : un booléen. true enregistre cette amélioration comme construite ; false réinitialise sa construction. Les autres champs sont en lecture seule. Champ absent, valeur invalide ou champs supplémentaires : 400 invalid_completed ; restrictions de dépendances ou de constructions initiales : 409.
curl
curl "https://api.tarkov-market.app/api/v1/characters/{charUid}/hideout/{upgradeKey}" \
  -H "x-api-key: your_api_key" \
  -H 'If-Match: "{revision}"' \
  -H "Content-Type: application/json" \
  -X PATCH --data '{"completed":true}'
Exemple de réponse
{
    "ok": true,
    "changed": true,
    "revision": "{newRevision}",
    "notificationDelivered": true
}

Erreurs : 400 données invalides ; 401 clé absente, désactivée, révoquée, sans propriétaire ou propriétaire banni ; 403 PRO requis ou saison désactivée ; 404 personnage inaccessible ou élément inconnu ; 409 conflit, identifiant BSG ambigu ou contrainte de construction ; 413 corps trop grand ; 428 If-Match absent ; 429 limite ; 503 service indisponible. Corps : {"error":"code"}.

notificationDelivered:false signifie que l’écriture est enregistrée, mais que la notification du site n’est pas confirmée. Actualisez la progression ; ce n’est pas un échec d’écriture.

Limites et erreurs

Règle
Détails
300 req/min
Par clé, pour tous les endpoints de prix. La progression dispose de limites distinctes de requêtes et d’écritures.
5 req/min
Liste complète et téléchargement, pour tous les modes. Les prix sont de toute façon mis en cache pendant 5 minutes.
401
Clé absente, inconnue ou désactivée.
429
Limite de requêtes atteinte ; le corps indique laquelle.

Conditions

L'API est destinée à un usage personnel.

Pour un projet public, veuillez citer tarkov-market.com avec un lien comme fournisseur des données.

Si votre projet public reproduit la majorité des fonctions de Tarkov Market, votre accès peut être interrompu sans préavis ni compensation.

Si vous revendez l'API, votre accès sera interrompu sans préavis ni compensation.