Se você tem um bot de trading, um bot de Discord, uma loja de skins ou uma planilha, cedo ou tarde precisará de preços de mais de um marketplace. Fazer scraping de cada um é lento, quebra com frequência e leva a bloqueios. Uma API de preços entrega tudo em uma resposta.
Uma requisição, todos os marketplaces
A API de preços da API Skins retorna o menor anúncio de um item em cada um dos 22 marketplaces. Obtenha uma chave na página de documentação da API depois de entrar com a Steam e envie-a no cabeçalho X-API-KEY:
curl -H "X-API-KEY: ask_..." \ "https://api.apiskins.com/v1/offers/AK-47%20%7C%20Redline%20(Field-Tested)"
A resposta lista cada marketplace que vende o item, com o preço em USD e quando ele mudou pela última vez:
{
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"offers": [
{ "provider": "buff_163", "price": 31.42 },
{ "provider": "cs_float", "price": 33.1 }
]
}Lotes e o mercado inteiro
Informe vários itens repetindo market_hash_name, ou deixe de fora para obter todos de uma vez. Adicione providers=cs_float,buff_163 para receber só os marketplaces que importam. Cada requisição conta uma vez no limite de 30 dias, não importa quantos itens retorne, então um download completo por hora é o jeito mais barato de manter uma cópia local do mercado.
const response = await fetch("https://api.apiskins.com/v1/offers?providers=cs_float,buff_163", {
headers: { "X-API-KEY": process.env.API_SKINS_KEY! },
});
const items: { market_hash_name: string; offers: { provider: string; price: number }[] }[] = await response.json();Limites
O plano grátis inclui 100 requisições a cada 30 dias para os preços e ordens de compra da Steam, o bastante para testar. As assinaturas pagas adicionam todos os outros marketplaces e chegam a 100,000 requisições a cada 30 dias. Cada requisição também conta para um limite por minuto; acima dele, a API responde 429 com um cabeçalho Retry-After. Uma descrição legível por máquina de cada rota está em /openapi.json.