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.
Monitoraggio prezzi, mappe interattive e strumenti per i progressi

Tarkov Market API

Prezzi del mercato, prezzi dei mercanti e dati degli oggetti di Escape from Tarkov. URL base: https://api.tarkov-market.app/api/v1

Client ufficiali senza dipendenze: Node.js, Python e Go — github.com/ggdiam/tarkov-market-api

Chiave API

Per usare l'API serve lo stato Pro sul sito. Gli esempi sotto usano il segnaposto your_api_key.

Autenticazione

La chiave API consente anche alle app di leggere e modificare i progressi dei tuoi personaggi. Condividila solo con app affidabili. È necessario PRO; una nuova chiave API revoca quella precedente. I progressi accettano x-api-key solo nell’header.

Invia la chiave in un'intestazione:

x-api-key: your_api_key

Oppure come parametro della query, se usare le intestazioni è scomodo (browser, bot per streaming, fogli di calcolo):

?x-api-key=your_api_key

Chiave mancante, sconosciuta o disabilitata → 401 { "error": "Access denied" }

Modalità di gioco

Ogni endpoint degli oggetti esiste in tre modalità. La modalità si imposta con un prefisso del percorso o con mode come parametro: entrambi restituiscono la stessa risposta:

Modalità
Prefisso percorso
Parametro
Origine prezzi
PVP
/api/v1/…
predefinita
collezione items
PVE
/api/v1/pve/…
mode=pve
scansione PVE
Season
/api/v1/season/…
mode=season
scansione stagionale

Personaggi stagionali

L'economia stagionale viene monitorata separatamente ed è recente: un oggetto ha un prezzo solo dopo che lo scanner l'ha visto sul mercato stagionale; avg24hPrice / diff24h si popolano con l'accumularsi dello storico. I campi indipendenti dal mercato, basePrice e prezzo del mercante, usano i valori PVP finché la stagione non dispone del proprio dump dei dati di gioco.

Ecco un prezzo stagionale ancora assente (stesso oggetto e richiesta, modalità stagione):

{
    "uid": "a7f7568c-61fb-437e-9f71-06e58aae26ba",
    "name": "LEDX Skin Transilluminator",
    "price": 0,               // ancora nessun prezzo sul mercato stagionale
    "avg24hPrice": 0,
    "diff24h": 0,
    "updated": "",            // mai visto sul mercato stagionale
    "haveMarketData": false,  // non usare il prezzo di questo oggetto
    "basePrice": 970000,      // dati non di mercato: uguali a PVP
    "traderName": "Therapist",
    "traderPrice": 494700
}

Endpoint

GET/item?q=ledx
Trova un oggetto per nome, uid o bsgId.
qNome o nome breve dell'oggetto in qualsiasi lingua supportata. Restituisce fino a 5 risultati, prima la corrispondenza esatta
uidUID Tarkov Market dell'oggetto: restituisce un solo oggetto
bsgIdID dell'oggetto nei file di gioco: restituisce un solo oggetto
langLingua dei nomi e del link al sito. Una tra: en, ru, ch, cz, de, es, fr, hu, it, jp, kr, mx, pl, po, ro, sk, tr. Predefinita: 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"
Esempio di risposta
[
    {
        "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
Stessa ricerca con corpo JSON: usala per query non latine senza doverle codificare nell'URL.
q / uid / bsgIdCome in GET, passati nel corpo JSON
langCome in 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"}'
Esempio di risposta
[
    {
        "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 richieste/min
Tutti gli oggetti in un array. I dati sono in cache per 5 minuti: richieste più frequenti non danno nuovi dati.
tagsMantieni solo gli oggetti con questi tag, separati da virgole: tags=Ammo,Magazines
sortOrdina per un campo della risposta, ad esempio sort=price
sort_directionasc (predefinito) o desc
langLingua dei nomi e dei link al sito
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"
Esempio di risposta
[
    {
        "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 richieste/min
Lo stesso elenco completo come file JSON scaricabile.
langLingua dei nomi e dei link al sito
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"

Campi della risposta

Campo
Significato
uid
ID Tarkov Market dell'oggetto: stabile, usalo come chiave nel tuo progetto
bsgId
ID dell'oggetto nei file di gioco
name / shortName
Nome dell'oggetto nella lingua richiesta
tags
Categorie dell'oggetto, le stesse usate dai filtri del sito
price
Ultimo prezzo noto sul mercato, ₽. 0 significa nessun prezzo per questa modalità
avg24hPrice / avg7daysPrice
Prezzo medio sul mercato nelle ultime 24 ore / 7 giorni, ₽
diff24h / diff7days
Variazione dell'ultimo prezzo rispetto a queste medie, %
basePrice
Prezzo base dell'oggetto (manuale), ₽, da cui si calcola il riacquisto dei mercanti
traderName
Mercante che paga di più per l'oggetto
traderPrice / traderPriceCur
Quanto paga quel mercante nella propria valuta (₽, $ o €)
traderPriceRub
Lo stesso prezzo del mercante convertito in ₽ al cambio del gioco
bannedOnFlea
L'oggetto non è vendibile sul mercato delle pulci
haveMarketData
L'oggetto è scambiabile sul mercato e il prezzo è recente; false indica di non fidarsi del prezzo
isFunctional
false per oggetti rimossi dal gioco o non ottenibili
updated
Quando lo scanner ha visto il prezzo per l'ultima volta. Vuoto significa mai
slots
Dimensione dell'oggetto in celle dell'inventario
img / imgBig
Icona e immagine grande dell'oggetto sulla mia CDN
icon
Alias legacy di img: stesso URL
link / wikiLink
Pagina dell'oggetto su tarkov-market.com e sulla wiki

Progressi del personaggio

URL di base dell’API dei progressi: https://api.tarkov-market.app/api/v1

Ottieni charUid da /characters. Il personaggio determina PVP, PVE o SEASON; il selettore sopra riguarda i prezzi. itemId e questId sono ID BSG, inclusi alias e riferimenti agli obiettivi. upgradeKey identifica un livello del rifugio, ad esempio Workbench_2.

GET restituisce revision ed ETag. Sostituisci i segnaposto con personaggio, ID BSG e revision; invia If-Match: "{revision}" in ogni PATCH. Le scritture impostano valori assoluti. Dopo 409 leggi i progressi attuali e riconcilia la modifica. Ripetere un valore applicato riesce senza un’altra scrittura.

Progressi: 300 richieste/minuto per chiave e proprietario; 60 tentativi PATCH/minuto per proprietario. Limiti separati dai prezzi. 429 include Retry-After: 60. Gli stati privati non sono memorizzati nella cache.

GET/characters
Elenca i personaggi del proprietario della chiave API.
curl
curl -H "x-api-key: your_api_key" "https://api.tarkov-market.app/api/v1/characters"
Esempio di risposta
{
    "characters": [
        {
            "charUid": "{charUid}",
            "name": "Main",
            "gameMode": "PVP"
        }
    ]
}
GET/characters/{charUid}/tracked-items
Leggi nomi e icone con requiredQuantity (requisiti obbligatori restanti), spentQuantity (già conteggiato), availableQuantity (scorte), remainingQuantity = max(0, requiredQuantity − availableQuantity) e sources. Gli oggetti iniziali e i passaggi consegnati riducono i requisiti. Gli obiettivi facoltativi sono esclusi; firInventorySeparate:false indica nessuna scorta FiR separata. PATCH imposta availableQuantity; non aggiunge o rimuove obiettivi personalizzati. Prezzi: /api/v1/item?bsgId={itemId}&mode={mode}, /api/v1/items/all?mode={mode}. Usa la modalità del personaggio (pvp/pve/season); calcola il prezzo per slot come price / slots.
langLingua dei nomi e del link al sito. Una tra: en, ru, kr, it, es, de, jp, ch, tr, fr, pl, po, cz, sk, hu, ro, mx. Predefinita: en
curl
curl -H "x-api-key: your_api_key" "https://api.tarkov-market.app/api/v1/characters/{charUid}/tracked-items"
Esempio di risposta
{
    "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}
Imposta il valore assoluto nel JSON e invia la revision di GET in If-Match.
availableQuantityUnico campo JSON consentito, obbligatorio: un intero da 0 a 1.000.000.000. Imposta la scorta disponibile assoluta, non una variazione di tale quantità; 0 azzera la scorta. Gli altri campi sono di sola lettura. Campo mancante, valore non valido o campi aggiuntivi: 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}'
Esempio di risposta
{
    "ok": true,
    "changed": true,
    "revision": "{newRevision}",
    "notificationDelivered": true
}
GET/characters/{charUid}/quests
Leggi le missioni compatibili. status è calcolato: completed, failed, unreachable, available o locked; non significa che la missione sia accettata in gioco. PATCH completed:true o false. Il ripristino mantiene le spunte dei passaggi e le missioni collegate completate.
langLingua dei nomi e del link al sito. Una tra: en, ru, kr, it, es, de, jp, ch, tr, fr, pl, po, cz, sk, hu, ro, mx. Predefinita: en
curl
curl -H "x-api-key: your_api_key" "https://api.tarkov-market.app/api/v1/characters/{charUid}/quests"
Esempio di risposta
{
    "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}
Imposta il valore assoluto nel JSON e invia la revision di GET in If-Match.
completedUnico campo JSON consentito, obbligatorio: un booleano. true completa la missione; false annulla il completamento, mantenendo le spunte dei passaggi e le missioni collegate completate. status, passaggi e altri campi non sono modificabili qui. Campo mancante, valore non valido o campi aggiuntivi: 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}'
Esempio di risposta
{
    "ok": true,
    "changed": true,
    "revision": "{newRevision}",
    "notificationDelivered": true
}
GET/characters/{charUid}/hideout
Leggi ogni livello del rifugio: upgradeKey, moduleId (ID BSG o null), completed, prebuilt e canComplete. PATCH completed:true o false. Completa prima i prerequisiti e ripristina prima le strutture dipendenti. Le strutture iniziali dell’edizione non sono ripristinabili. canComplete verifica i moduli, non denaro o abilità in gioco.
langLingua dei nomi e del link al sito. Una tra: en, ru, kr, it, es, de, jp, ch, tr, fr, pl, po, cz, sk, hu, ro, mx. Predefinita: en
curl
curl -H "x-api-key: your_api_key" "https://api.tarkov-market.app/api/v1/characters/{charUid}/hideout"
Esempio di risposta
{
    "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}
Imposta il valore assoluto nel JSON e invia la revision di GET in If-Match.
completedUnico campo JSON consentito, obbligatorio: un booleano. true registra il potenziamento come completato; false lo annulla. Gli altri campi sono di sola lettura. Campo mancante, valore non valido o campi aggiuntivi: 400 invalid_completed; vincoli di dipendenze o costruzioni iniziali: 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}'
Esempio di risposta
{
    "ok": true,
    "changed": true,
    "revision": "{newRevision}",
    "notificationDelivered": true
}

Errori: 400 dati invalidi; 401 chiave mancante, disattivata, revocata, senza proprietario o proprietario bannato; 403 PRO necessario o stagione disattivata; 404 personaggio inaccessibile o entità sconosciuta; 409 conflitto, ID BSG ambiguo o vincoli di costruzione; 413 corpo troppo grande; 428 If-Match mancante; 429 limite; 503 servizio indisponibile. Corpo: {"error":"code"}.

notificationDelivered:false indica una scrittura salvata ma una notifica del sito non confermata. Aggiorna i progressi; la scrittura non è fallita.

Limiti ed errori

Regola
Dettagli
300 richieste/min
Per chiave, su tutti gli endpoint dei prezzi. Il progresso ha limiti separati per richieste e scritture.
5 richieste/min
Elenco completo e download, in ogni modalità. I prezzi restano comunque in cache per 5 minuti.
401
Chiave mancante, sconosciuta o disabilitata.
429
Limite di richieste raggiunto: il corpo indica quale limite.

Condizioni

L'API è destinata all'uso personale.

Se la usi per un progetto pubblico, inserisci un link a tarkov-market.com come fonte dei dati.

Se il tuo progetto pubblico copia gran parte delle funzioni di tarkov-market, l'accesso può essere revocato senza preavviso né rimborso.

Se rivendi l'API, l'accesso sarà revocato senza preavviso né rimborso.