GOG-Free-Games-Claimer

GOG-Free-Games-Claimer

Docker app from GOG Free Games Claimer

Overview

Automatically claims free GOG giveaway games via the GOG API — no browser, no captchas, no Playwright. Paste your GOG session cookie once, run the container, and it will attempt the current giveaway claim. HOW TO GET YOUR GOG COOKIE: 1. Log in to gog.com in your browser 2. Press F12 to open DevTools 3. Go to the Network tab and refresh the page 4. Click any request to gog.com 5. Find the Cookie: header under Request Headers 6. Copy the entire value and paste it into the GOG Cookie field below Claim history is saved to /app/data/claims.json. SCHEDULING (OPTIONAL): This container starts, runs the claimer, and then stops on its own. If you want it to run automatically on a schedule, the recommended approach is to use the "User Scripts" Unraid plugin by Andrew Zawadzki (available in Community Applications). Once installed, create a new script, set it to run hourly, and use the following as the script content: #!/bin/bash docker start GOG-Free-Games-Claimer This will start the container once per hour. Since GOG giveaways typically last 48-72 hours, hourly is more than frequent enough to never miss one.

GOG Free Game Claimer 🎮

GOG Free Game Claimer icon

Automatically claims free GOG giveaway games

Just an authenticated HTTP GET to https://www.gog.com/giveaway/claim. That's it.

How it works

GOG exposes a /giveaway/claim endpoint that, when hit with valid session cookies, instantly adds the current free game to your library. This is the same thing your browser does when you click "Get it Free" — just without the browser.


Setup

1. Get your GOG cookies

You only need to do this once (or whenever your session expires — typically every few months).

  1. Open your browser and log in to GOG.com
  2. Open DevTools → F12 (or right-click → Inspect)
  3. Go to the Network tab
  4. Refresh the page
  5. Click any request to gog.com
  6. In the Request Headers, find the Cookie: header
  7. Copy the entire value — it will look something like:
    gog-al=eyJ....; gog_us=eyJ....; ...
    

2. Configure

cp .env.example .env

Paste your cookies into .env:

GOG_COOKIE=gog-al=eyJ....; gog_us=eyJ....
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/...   # optional

3. Run

One-shot (claim right now):

npm install
npm start

Test your cookies without claiming:

node claimer.js --dry-run

Docker

Pull from Docker Hub

docker pull corylewis/gog-free-games-claimer:latest

Run with Docker

docker run --rm \
  --name gog-claimer \
  -e GOG_COOKIE="your_full_cookie_string_here" \
  -e DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/..." \
  -v $(pwd)/data:/app/data \
  corylewis/gog-free-games-claimer:latest

Run with Docker Compose

  1. Copy .env.example to .env and fill in your cookies
  2. Update the image name in docker-compose.yml
  3. Run:
docker compose up

View logs:

docker logs -f gog-claimer

Build locally

docker build -t gog-free-games-claimer .
docker run -e GOG_COOKIE="..." gog-free-games-claimer

Discord notifications (optional)

Set DISCORD_WEBHOOK_URL to receive run updates in a Discord channel. If omitted, webhook notifications are skipped.

You can create a webhook in Discord via Server Settings → Integrations → Webhooks.


Publish to Docker Hub

One-time setup

  1. Create a repo on hub.docker.com named gog-free-games-claimer
  2. Add these secrets to your GitHub repo (Settings → Secrets → Actions):
    • DOCKERHUB_USERNAME — your Docker Hub username
    • DOCKERHUB_TOKEN — a Docker Hub access token (create one here)

Auto-publish

The included GitHub Actions workflow (.github/workflows/docker-publish.yml) will automatically build and push to Docker Hub on every push to main, and tag releases when you push a version tag:

git tag v1.0.0
git push origin v1.0.0

This builds for both linux/amd64 and linux/arm64 (works on Raspberry Pi too).


Claim history

Every claim is logged to data/claims.json:

[
  {
    "timestamp": "2026-04-26 09:00:01",
    "outcome": "claimed",
    "title": "The Whispering Valley",
    "username": "YourGOGUsername"
  }
]

Mount ./data:/app/data in Docker to persist this across runs.


Cookie expiry

GOG sessions typically last a few months. If the claimer starts logging auth errors, just repeat the cookie grab steps above and update your .env (or the Docker environment variable).


License

MIT

Install GOG-Free-Games-Claimer on Unraid in a few clicks.

Find GOG-Free-Games-Claimer in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for GOG-Free-Games-Claimer Review the template variables and paths Click Install

Download Statistics

1,555
Total Downloads

Related apps

Details

Repository
corylewis/gog-free-games-claimer:latest
Last Updated2026-05-23
First Seen2026-05-12

Runtime arguments

Network
bridge

Template configuration

GOG CookieVariable

Your GOG session cookie string. Log in to gog.com, open DevTools (F12), go to Network, click any gog.com request, and copy the full value of the Cookie header under Request Headers. Example: gog-al=eyJ...; gog_us=eyJ...

Target
GOG_COOKIE
Discord Webhook URLVariable

Optional. Post a Discord message whenever a free game is claimed. To get a webhook URL: open Discord, go to the channel you want notifications in, click the gear icon (Edit Channel), go to Integrations, click Webhooks, click New Webhook, give it a name, then click Copy Webhook URL and paste it here.

Target
DISCORD_WEBHOOK_URL