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.
Seguimiento de precios, mapas interactivos y herramientas de progreso

Tarkov Market API

Precios del mercadillo, precios de vendedores y datos de objetos de Escape from Tarkov. URL base: https://api.tarkov-market.app/api/v1

Clientes oficiales sin dependencias: Node.js, Python y Go — github.com/ggdiam/tarkov-market-api

Clave API

Para usar la API necesitas estado Pro en la web. Los ejemplos siguientes usan el marcador your_api_key.

Autenticación

La clave API también permite a las aplicaciones leer y cambiar el progreso de tus personajes. Compártela solo con aplicaciones de confianza. Se requiere PRO; generar una nueva clave API revoca la anterior. El progreso solo acepta x-api-key en la cabecera.

Envía tu clave en una cabecera:

x-api-key: your_api_key

O como parámetro de consulta si las cabeceras resultan incómodas (navegador, bots de streaming, hojas de cálculo):

?x-api-key=your_api_key

Clave ausente, desconocida o desactivada → 401 { "error": "Access denied" }

Modos de juego

Cada endpoint de objetos existe en tres modos. El modo se establece con un prefijo de ruta o con mode como parámetro: ambos devuelven la misma respuesta:

Modo
Prefijo de ruta
Parámetro
Origen de precios
PVP
/api/v1/…
predeterminado
colección items
PVE
/api/v1/pve/…
mode=pve
escaneo PVE
Season
/api/v1/season/…
mode=season
escaneo de temporada

Personajes de temporada

La economía de temporada se escanea por separado y es reciente: un objeto tiene precio cuando el escáner lo ha visto en el mercadillo de temporada; avg24hPrice / diff24h se completan al acumular historial. Los campos independientes del mercadillo, basePrice y precio del vendedor, usan valores PVP hasta que la temporada tenga su propia exportación de datos del juego.

Así se ve un precio de temporada aún ausente (mismo objeto y solicitud, modo de temporada):

{
    "uid": "a7f7568c-61fb-437e-9f71-06e58aae26ba",
    "name": "LEDX Skin Transilluminator",
    "price": 0,               // aún sin precio en el mercadillo de temporada
    "avg24hPrice": 0,
    "diff24h": 0,
    "updated": "",            // nunca visto en el mercadillo de temporada
    "haveMarketData": false,  // no usar el precio de este objeto
    "basePrice": 970000,      // datos ajenos al mercadillo: iguales a PVP
    "traderName": "Therapist",
    "traderPrice": 494700
}

Endpoints

GET/item?q=ledx
Busca un objeto por nombre, uid o bsgId.
qNombre o nombre corto del objeto en cualquier idioma admitido. Devuelve hasta 5 coincidencias, primero la exacta
uidUID de Tarkov Market del objeto: devuelve exactamente un objeto
bsgIdID del objeto en los archivos del juego: devuelve exactamente un objeto
langIdioma de los nombres y del enlace web. Uno de: en, ru, ch, cz, de, es, fr, hu, it, jp, kr, mx, pl, po, ro, sk, tr. Predeterminado: 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"
Ejemplo de respuesta
[
    {
        "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
La misma búsqueda con cuerpo JSON: úsala para consultas no latinas sin tener que codificarlas en la URL.
q / uid / bsgIdIgual que en GET, enviados en el cuerpo JSON
langIgual que en 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"}'
Ejemplo de respuesta
[
    {
        "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 solicitudes/min
Todos los objetos en un array. Los datos se guardan en caché 5 minutos: consultar más a menudo no aporta datos nuevos.
tagsConservar solo objetos con estas etiquetas, separadas por comas: tags=Ammo,Magazines
sortOrdenar por un campo de respuesta, por ejemplo sort=price
sort_directionasc (predeterminado) o desc
langIdioma de los nombres y enlaces web
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"
Ejemplo de respuesta
[
    {
        "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 solicitudes/min
La misma lista completa como archivo JSON descargable.
langIdioma de los nombres y enlaces web
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"

Campos de respuesta

Campo
Significado
uid
ID de Tarkov Market del objeto: estable, úsalo como clave en tu proyecto
bsgId
ID del objeto en los archivos del juego
name / shortName
Nombre del objeto en el idioma solicitado
tags
Categorías del objeto, las mismas que usan los filtros de la web
price
Último precio conocido del mercadillo, ₽. 0 significa sin precio para este modo
avg24hPrice / avg7daysPrice
Precio medio del mercadillo en las últimas 24 horas / 7 días, ₽
diff24h / diff7days
Variación del último precio respecto a esas medias, %
basePrice
Precio base del objeto (manual), ₽, del que se calcula la compra por vendedores
traderName
Vendedor que más paga por el objeto
traderPrice / traderPriceCur
Lo que paga ese vendedor en su divisa (₽, $ o €)
traderPriceRub
El mismo precio del vendedor convertido a ₽ al cambio del juego
bannedOnFlea
El objeto no se puede vender en el mercadillo
haveMarketData
El objeto se puede negociar en el mercadillo y el precio es reciente; false indica que no te fíes del precio
isFunctional
false para objetos retirados del juego o imposibles de obtener
updated
Cuándo vio el escáner el precio por última vez. Vacío significa nunca
slots
Tamaño del objeto en casillas del inventario
img / imgBig
Icono e imagen grande del objeto en mi CDN
icon
Alias antiguo de img: misma URL
link / wikiLink
Página del objeto en tarkov-market.com y en la wiki

Progreso del personaje

URL base de la API de progreso: https://api.tarkov-market.app/api/v1

Obtén charUid de /characters. El personaje determina PVP, PVE o SEASON; el selector superior corresponde a los precios. itemId y questId son ID BSG, incluidos alias y referencias. upgradeKey identifica un nivel del refugio, como Workbench_2.

GET devuelve revision y ETag. Sustituye los marcadores por tu personaje, ID BSG y revision; envía If-Match: "{revision}" en cada PATCH. Las escrituras fijan valores absolutos. Tras 409, lee el progreso actual y reconcilia el cambio. Repetir un valor aplicado tiene éxito sin otra escritura.

Progreso: 300 solicitudes/minuto por clave y propietario; 60 intentos PATCH/minuto por propietario. Límites separados de los precios. 429 incluye Retry-After: 60. Los estados privados no se almacenan en caché.

GET/characters
Lista los personajes del propietario de la clave API.
curl
curl -H "x-api-key: your_api_key" "https://api.tarkov-market.app/api/v1/characters"
Ejemplo de respuesta
{
    "characters": [
        {
            "charUid": "{charUid}",
            "name": "Main",
            "gameMode": "PVP"
        }
    ]
}
GET/characters/{charUid}/tracked-items
Lee nombres e iconos con requiredQuantity (requisitos obligatorios pendientes), spentQuantity (ya contabilizado), availableQuantity (existencias), remainingQuantity = max(0, requiredQuantity − availableQuantity) y sources. Los objetos iniciales y pasos entregados reducen los requisitos. Se excluyen objetivos opcionales; firInventorySeparate:false significa que no hay existencias FiR separadas. PATCH fija availableQuantity; no añade ni elimina objetivos personalizados. Precios: /api/v1/item?bsgId={itemId}&mode={mode}, /api/v1/items/all?mode={mode}. Usa el modo del personaje (pvp/pve/season); calcula el precio por casilla como price / slots.
langIdioma de los nombres y del enlace web. Uno de: en, ru, kr, it, es, de, jp, ch, tr, fr, pl, po, cz, sk, hu, ro, mx. Predeterminado: en
curl
curl -H "x-api-key: your_api_key" "https://api.tarkov-market.app/api/v1/characters/{charUid}/tracked-items"
Ejemplo de respuesta
{
    "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}
Fija el valor absoluto del JSON y envía la revision de GET en If-Match.
availableQuantityÚnico campo JSON permitido y obligatorio: un entero de 0 a 1.000.000.000. Establece las existencias disponibles absolutas, no una variación de esa cantidad; 0 las pone a cero. Los demás campos son de solo lectura. Campo ausente, valor inválido o campos adicionales: 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}'
Ejemplo de respuesta
{
    "ok": true,
    "changed": true,
    "revision": "{newRevision}",
    "notificationDelivered": true
}
GET/characters/{charUid}/quests
Lee las misiones compatibles. status se calcula: completed, failed, unreachable, available o locked; no indica que la misión esté aceptada en el juego. PATCH completed:true o false. Restablecer conserva las marcas de pasos y misiones vinculadas completadas.
langIdioma de los nombres y del enlace web. Uno de: en, ru, kr, it, es, de, jp, ch, tr, fr, pl, po, cz, sk, hu, ro, mx. Predeterminado: en
curl
curl -H "x-api-key: your_api_key" "https://api.tarkov-market.app/api/v1/characters/{charUid}/quests"
Ejemplo de respuesta
{
    "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}
Fija el valor absoluto del JSON y envía la revision de GET en If-Match.
completedÚnico campo JSON permitido y obligatorio: un booleano. true completa la misión; false restablece su finalización, conservando los pasos marcados y las misiones vinculadas completadas. Aquí no se pueden cambiar status, pasos ni otros campos. Campo ausente, valor inválido o campos adicionales: 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}'
Ejemplo de respuesta
{
    "ok": true,
    "changed": true,
    "revision": "{newRevision}",
    "notificationDelivered": true
}
GET/characters/{charUid}/hideout
Lee cada nivel del refugio: upgradeKey, moduleId (ID BSG o null), completed, prebuilt y canComplete. PATCH completed:true o false. Completa primero los requisitos previos y restablece primero las construcciones dependientes. Las iniciales de la edición no se pueden restablecer. canComplete comprueba módulos, no dinero ni habilidades del juego.
langIdioma de los nombres y del enlace web. Uno de: en, ru, kr, it, es, de, jp, ch, tr, fr, pl, po, cz, sk, hu, ro, mx. Predeterminado: en
curl
curl -H "x-api-key: your_api_key" "https://api.tarkov-market.app/api/v1/characters/{charUid}/hideout"
Ejemplo de respuesta
{
    "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}
Fija el valor absoluto del JSON y envía la revision de GET en If-Match.
completedÚnico campo JSON permitido y obligatorio: un booleano. true registra esta mejora como construida; false restablece su construcción. Los demás campos son de solo lectura. Campo ausente, valor inválido o campos adicionales: 400 invalid_completed; restricciones de dependencias o construcciones iniciales: 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}'
Ejemplo de respuesta
{
    "ok": true,
    "changed": true,
    "revision": "{newRevision}",
    "notificationDelivered": true
}

Errores: 400 datos inválidos; 401 clave ausente, desactivada, revocada, sin propietario o propietario bloqueado; 403 PRO requerido o temporada desactivada; 404 personaje inaccesible o entidad desconocida; 409 conflicto, ID BSG ambiguo o restricciones de construcción; 413 cuerpo demasiado grande; 428 falta If-Match; 429 límite; 503 servicio no disponible. Cuerpo: {"error":"code"}.

notificationDelivered:false significa que el cambio se guardó pero no se confirmó la notificación del sitio. Actualiza el progreso; la escritura no falló.

Límites y errores

Regla
Detalles
300 solicitudes/min
Por clave, en los endpoints de precios. El progreso tiene límites separados de solicitudes y escrituras.
5 solicitudes/min
Lista completa y descarga, en todos los modos. Los precios se guardan en caché 5 minutos de todos modos.
401
Clave ausente, desconocida o desactivada.
429
Límite de solicitudes alcanzado: el cuerpo indica cuál.

Condiciones

La API está destinada al uso personal.

Si la usas para un proyecto público, enlaza tarkov-market.com como proveedor de datos.

Si tu proyecto público copia la mayoría de funciones de tarkov-market, tu acceso puede cancelarse sin aviso ni compensación.

Si revendes la API, tu acceso se cancelará sin aviso ni compensación.