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.
Preços, mapas interativos e ferramentas de progressão

Tarkov Market API

Preços do mercado, preços dos comerciantes e dados de objetos de Escape from Tarkov. URL base: https://api.tarkov-market.app/api/v1

Clientes oficiais, sem dependências: Node.js, Python e Go — github.com/ggdiam/tarkov-market-api

Chave API

Para usar a API, precisas de estatuto Pro no site. Os exemplos abaixo usam o marcador your_api_key.

Autenticação

A chave API também permite às aplicações ler e alterar o progresso das suas personagens. Partilhe-a apenas com aplicações de confiança. É necessário PRO; uma nova chave API revoga a anterior. O progresso aceita x-api-key apenas no cabeçalho.

Envia a chave num cabeçalho:

x-api-key: your_api_key

Ou como parâmetro de consulta, se os cabeçalhos forem inconvenientes (navegador, bots de streaming, folhas de cálculo):

?x-api-key=your_api_key

Chave ausente, desconhecida ou desativada → 401 { "error": "Access denied" }

Modos de jogo

Cada endpoint de objetos existe nos três modos de jogo. Podes definir o modo pelo prefixo do caminho ou pelo parâmetro mode — ambos devolvem a mesma resposta:

Modo
Prefixo do caminho
Parâmetro
Preços de
PVP
/api/v1/…
predefinido
coleção de objetos
PVE
/api/v1/pve/…
mode=pve
recolha PVE
Season
/api/v1/season/…
mode=season
recolha da temporada

Personagens de temporada

A economia da temporada é acompanhada separadamente e ainda é recente: um objeto só tem preço depois de ser observado no mercado da temporada, e avg24hPrice / diff24h são preenchidos à medida que o histórico se acumula. Os campos independentes do mercado, basePrice e preço do comerciante, usam os valores PVP até existir uma extração própria dos dados de jogo da temporada.

Um objeto ainda sem preço de temporada aparece assim (mesmo objeto, mesmo pedido, modo de temporada):

{
    "uid": "a7f7568c-61fb-437e-9f71-06e58aae26ba",
    "name": "LEDX Skin Transilluminator",
    "price": 0,               // ainda sem preço no mercado da temporada
    "avg24hPrice": 0,
    "diff24h": 0,
    "updated": "",            // nunca observado no mercado da temporada
    "haveMarketData": false,  // não usar o preço deste objeto
    "basePrice": 970000,      // não são dados do mercado — igual a PVP
    "traderName": "Therapist",
    "traderPrice": 494700
}

Endpoints

GET/item?q=ledx
Encontrar um objeto por nome, uid ou bsgId.
qNome ou nome abreviado do objeto em qualquer idioma suportado. Devolve até 5 resultados, primeiro a correspondência exata
uiduid do objeto em Tarkov Market — devolve exatamente um objeto
bsgIdID do objeto nos ficheiros do jogo — devolve exatamente um objeto
langIdioma dos nomes e da ligação ao site. Um de: en, ru, ch, cz, de, es, fr, hu, it, jp, kr, mx, pl, po, ro, sk, tr. Predefinido: 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"
Exemplo de resposta
[
    {
        "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
A mesma pesquisa, mas com corpo JSON; usa-a para consultas com caracteres não latinos sem precisares de codificar o URL.
q / uid / bsgIdIgual a GET, enviado no corpo JSON
langIgual a 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"}'
Exemplo de resposta
[
    {
        "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 pedidos/min
Todos os objetos num único array. Os dados ficam em cache durante 5 minutos, pelo que consultar mais vezes não traz vantagem.
tagsManter apenas objetos com estas etiquetas, separadas por vírgulas: tags=Ammo,Magazines
sortOrdenar por um campo da resposta, por exemplo sort=price
sort_directionasc (predefinido) ou desc
langIdioma dos nomes e ligações ao 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"
Exemplo de resposta
[
    {
        "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 pedidos/min
A mesma lista completa num ficheiro JSON para transferir.
langIdioma dos nomes e ligações ao 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"

Campos de resposta

Campo
Significado
uid
ID do objeto em Tarkov Market — estável, usa-o como chave no teu sistema
bsgId
ID do objeto nos ficheiros do jogo
name / shortName
Nome do objeto no idioma pedido
tags
Categorias do objeto, as mesmas usadas nos filtros do site
price
Último preço conhecido no mercado, ₽. 0 significa que não há preço para este modo
avg24hPrice / avg7daysPrice
Preço médio no mercado nas últimas 24 horas / 7 dias, ₽
diff24h / diff7days
Variação do último preço face a essas médias, %
basePrice
Preço base do objeto no manual, ₽ — usado para calcular o valor pago pelos comerciantes
traderName
Comerciante que paga mais pelo objeto
traderPrice / traderPriceCur
Valor pago por esse comerciante na sua moeda (₽, $ ou €)
traderPriceRub
O mesmo preço convertido em ₽ à taxa do jogo
bannedOnFlea
O objeto não pode ser vendido no mercado de pulgas
haveMarketData
O objeto pode ser negociado no mercado e o preço é recente; false significa que o preço não é fiável
isFunctional
false para objetos removidos do jogo ou impossíveis de obter
updated
Quando o preço foi observado pela última vez. Vazio significa nunca
slots
Tamanho do objeto em células do inventário
img / imgBig
Ícone e imagem grande do objeto no meu CDN
icon
Alias antigo de img — o mesmo URL
link / wikiLink
Página do objeto em tarkov-market.com e na Wiki

Progresso da personagem

URL base da API de progresso: https://api.tarkov-market.app/api/v1

Obtenha charUid em /characters. A personagem determina PVP, PVE ou SEASON; o seletor acima aplica-se aos preços. itemId e questId são IDs BSG, incluindo aliases e referências. upgradeKey identifica um nível do esconderijo, por exemplo Workbench_2.

GET devolve revision e ETag. Substitua os marcadores pela personagem, ID BSG e revision; envie If-Match: "{revision}" em cada PATCH. Os valores são absolutos. Após 409, leia o progresso atual e reconcilie a alteração. Repetir um valor aplicado tem sucesso sem nova escrita.

Progresso: 300 pedidos/minuto por chave e proprietário; 60 tentativas PATCH/minuto por proprietário. Limites separados dos preços. 429 inclui Retry-After: 60. Os estados privados não são guardados em cache.

GET/characters
Lista as personagens do proprietário da chave API.
curl
curl -H "x-api-key: your_api_key" "https://api.tarkov-market.app/api/v1/characters"
Exemplo de resposta
{
    "characters": [
        {
            "charUid": "{charUid}",
            "name": "Main",
            "gameMode": "PVP"
        }
    ]
}
GET/characters/{charUid}/tracked-items
Leia nomes e ícones com requiredQuantity (requisitos obrigatórios restantes), spentQuantity (já contabilizado), availableQuantity (stock), remainingQuantity = max(0, requiredQuantity − availableQuantity) e sources. Objetos iniciais e etapas entregues reduzem requisitos. Objetivos opcionais são excluídos; firInventorySeparate:false significa que não existe stock FiR separado. PATCH define availableQuantity; não adiciona nem remove objetivos personalizados. Preços: /api/v1/item?bsgId={itemId}&mode={mode}, /api/v1/items/all?mode={mode}. Use o modo do personagem (pvp/pve/season); calcule o preço por espaço como price / slots.
langIdioma dos nomes e da ligação ao site. Um de: en, ru, kr, it, es, de, jp, ch, tr, fr, pl, po, cz, sk, hu, ro, mx. Predefinido: en
curl
curl -H "x-api-key: your_api_key" "https://api.tarkov-market.app/api/v1/characters/{charUid}/tracked-items"
Exemplo de resposta
{
    "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}
Defina o valor absoluto do JSON e envie revision de GET em If-Match.
availableQuantityÚnico campo JSON permitido e obrigatório: um inteiro de 0 a 1.000.000.000. Define o estoque disponível absoluto, em vez de alterá-lo nessa quantidade; 0 zera o estoque. Os demais campos são somente leitura. Campo ausente, valor inválido ou campos extras: 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}'
Exemplo de resposta
{
    "ok": true,
    "changed": true,
    "revision": "{newRevision}",
    "notificationDelivered": true
}
GET/characters/{charUid}/quests
Leia missões compatíveis. status é calculado: completed, failed, unreachable, available ou locked; não indica aceitação da missão no jogo. PATCH completed:true ou false. Repor mantém as etapas assinaladas e missões associadas concluídas.
langIdioma dos nomes e da ligação ao site. Um de: en, ru, kr, it, es, de, jp, ch, tr, fr, pl, po, cz, sk, hu, ro, mx. Predefinido: en
curl
curl -H "x-api-key: your_api_key" "https://api.tarkov-market.app/api/v1/characters/{charUid}/quests"
Exemplo de resposta
{
    "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}
Defina o valor absoluto do JSON e envie revision de GET em If-Match.
completedÚnico campo JSON permitido e obrigatório: um booleano. true conclui a missão; false redefine a conclusão, preservando as etapas marcadas e as missões vinculadas concluídas. status, etapas e outros campos não podem ser alterados aqui. Campo ausente, valor inválido ou campos extras: 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}'
Exemplo de resposta
{
    "ok": true,
    "changed": true,
    "revision": "{newRevision}",
    "notificationDelivered": true
}
GET/characters/{charUid}/hideout
Leia cada nível do esconderijo: upgradeKey, moduleId (ID BSG ou null), completed, prebuilt e canComplete. PATCH completed:true ou false. Conclua os pré-requisitos primeiro e reponha primeiro as construções dependentes. As iniciais da edição não podem ser repostas. canComplete verifica dependências, não dinheiro ou capacidades no jogo.
langIdioma dos nomes e da ligação ao site. Um de: en, ru, kr, it, es, de, jp, ch, tr, fr, pl, po, cz, sk, hu, ro, mx. Predefinido: en
curl
curl -H "x-api-key: your_api_key" "https://api.tarkov-market.app/api/v1/characters/{charUid}/hideout"
Exemplo de resposta
{
    "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}
Defina o valor absoluto do JSON e envie revision de GET em If-Match.
completedÚnico campo JSON permitido e obrigatório: um booleano. true registra esta melhoria como construída; false redefine a construção. Os demais campos são somente leitura. Campo ausente, valor inválido ou campos extras: 400 invalid_completed; restrições de dependências ou construções iniciais: 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}'
Exemplo de resposta
{
    "ok": true,
    "changed": true,
    "revision": "{newRevision}",
    "notificationDelivered": true
}

Erros: 400 dados inválidos; 401 chave ausente, desativada, revogada, sem proprietário ou proprietário banido; 403 PRO necessário/temporada desativada; 404 personagem inacessível/entidade desconhecida; 409 conflito, ID BSG ambíguo ou restrições de construção; 413 corpo demasiado grande; 428 falta If-Match; 429 limite; 503 serviço indisponível. Corpo: {"error":"code"}.

notificationDelivered:false significa escrita guardada sem confirmação da notificação do site. Atualize o progresso; a escrita não falhou.

Limites e erros

Regra
Detalhes
300 pedidos/min
Por chave, em todos os endpoints de preços. O progresso tem limites separados de pedidos e escritas.
5 pedidos/min
Lista completa de objetos e respetiva transferência, em todos os modos. Os preços ficam sempre em cache durante 5 minutos.
401
Chave ausente, desconhecida ou desativada.
429
Limite de pedidos atingido — o corpo indica qual o limite.

Termos

A API destina-se a uso pessoal.

Se a usares num projeto público, indica tarkov-market.com como fornecedor dos dados.

Se o teu projeto público copiar a maioria das funcionalidades de tarkov-market, o acesso pode ser terminado sem aviso nem compensação.

Se revenderes a API, o acesso será terminado sem aviso nem compensação.