테마 선택

🎮 스팀 게임 구매 내역

Steam 계정의 라이선스 목록(JSON)을 불러와 연도별·월별·획득 방법별 막대 그래프로 보여줍니다. 데이터는 브라우저 안에서만 처리되며 서버로 전송되지 않습니다.

🔍 내 데이터는 어떻게 가져오나요?
  1. Steam 라이선스 및 제품 키 활성화 페이지에 접속합니다 (로그인 필요).
  2. 개발자 도구 콘솔(F12 → Console)에 아래 스크립트를 붙여넣고 실행합니다. 목록이 여러 페이지로 나뉘어 있어도 끝까지 순회하며, 완료되면steam-licenses.json 파일이 다운로드됩니다.
  3. 내려받은 파일을 아래 첨부 영역에 넣습니다.
(async () => {
  const licenses = [];
  let url = 'https://store.steampowered.com/account/licenses/';

  while (url) {
    const response = await fetch(url, { credentials: 'include' });
    const html = await response.text();
    const doc = new DOMParser().parseFromString(html, 'text/html');
    const rows = [...doc.querySelectorAll('.account_table tr')]
      .filter((tr) => tr.querySelector('td.license_date_col'));

    for (const row of rows) {
      const date = row.querySelector('td.license_date_col').textContent.trim();
      const typeCell = row.querySelector('td.license_acquisition_col');
      const type = typeCell ? typeCell.textContent.trim() : '';
      const nameCell = [...row.querySelectorAll('td')].find((td) => !td.className);
      let name = '';
      if (nameCell) {
        const clone = nameCell.cloneNode(true);
        const removeLink = clone.querySelector('.free_license_remove_link');
        if (removeLink) removeLink.remove();
        name = clone.textContent.trim();
      }
      licenses.push({ date: date, name: name, type: type });
    }

    console.log('누적 ' + licenses.length + '건 수집');
    const nextLink = doc.querySelector('a.license_paginator_next');
    url = nextLink ? new URL(nextLink.getAttribute('href'), url).href : null;
    await new Promise((resolve) => setTimeout(resolve, 300));
  }

  console.log('총 ' + licenses.length + '건 수집 완료');
  const blob = new Blob([JSON.stringify(licenses, null, 2)], { type: 'application/json' });
  const anchor = document.createElement('a');
  anchor.href = URL.createObjectURL(blob);
  anchor.download = 'steam-licenses.json';
  anchor.click();
  URL.revokeObjectURL(anchor.href);
  console.log('steam-licenses.json 다운로드 완료');
})();

스크립트는 로그인된 내 브라우저 세션으로 내 계정 페이지만 읽습니다. 계정 정보를 외부로 보내지 않습니다. 콘솔에서 붙여넣기가 막혀 있으면 먼저allow pasting을 입력하세요.

steam-licenses.json 파일을 여기에 드래그하거나 붙여넣기(Ctrl+V)하세요.

또는 JSON 텍스트로 붙여넣기

데이터를 불러오는 중…