# GOG.com Games Scraper (`parseforge/gog-games-scraper`) Actor

Scrapes GOG.com game listing pages and returns each title as a flat row with price, rating, genre, and platform data. Feed it any catalog URL and set a max item count.

- **URL**: https://apify.com/parseforge/gog-games-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Games
- **Stats:** 2 total users, 1 monthly users, 93.5% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.83 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

[![ParseForge](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)](https://apify.com/parseforge?fpr=vmoqkp)

### GOG.com Games Scraper

**Scrape GOG.com game listings by page URL, up to any number of titles per run.** Every game comes with its title, price, rating, genre, and platform details. No API key or login required. Export to CSV, JSON, Excel, or XML.

GOG.com's storefront lists thousands of DRM-free games, but manually browsing pages to collect titles, prices, and ratings is slow and repetitive. This Actor reads the public game listing pages directly, so you can pull structured data from any catalog page URL without writing a single line of code. It handles pagination automatically and stops when it hits your item limit.

| Who uses it | What they scrape GOG.com for |
|---|---|
| Game market analysts | Tracking which DRM-free titles are discounted or trending on GOG.com this week. |
| Price comparison developers | Pulling current GOG.com prices alongside other storefronts to build deal aggregators. |
| Indie game researchers | Cataloging indie titles by genre and rating to spot emerging developers on the platform. |
| Content curators | Building a searchable database of GOG.com games with genres and platforms for editorial use. |

### What it does

This Actor collects game listing data from GOG.com catalog pages and returns each title as a flat row with its price, rating, genre, and platform information.

- 📄 **Page-based scraping:** feed it any GOG.com games listing URL and it extracts every visible title on that page and beyond.
- 🔢 **Configurable item limit:** set a maximum number of games to scrape, from a quick sample of 10 to a full catalog pass.
- 🔄 **Automatic pagination:** follows the next-page links on GOG.com listings so you get continuous results without manual URL stitching.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with GOG.com data

**📊 Monitor GOG.com pricing trends.**

A market analyst runs the Actor weekly on the main games page to track which titles get permanent price drops or join limited-time sales.

**🎮 Build a DRM-free game database.**

A hobbyist developer scrapes genre-filtered listing pages to populate a personal catalog of DRM-free games with ratings and platform tags.

**🔍 Compare storefront availability.**

A deal-site operator pulls GOG.com listings alongside other store scrapers to show visitors where a title is available and at what price.

**📝 Feed editorial research.**

A gaming journalist scrapes new-release pages to quickly assemble a list of recent GOG.com launches for a monthly roundup article.

### Why choose this scraper

| | What you get |
|---|---|
| **DRM-free catalog data** | Structured rows of GOG.com titles with prices, ratings, and genres |
| **No authentication** | Reads public listing pages with zero API registration or OAuth |
| **Flat output schema** | Every game lands as one row ready for CSV, JSON, Excel, or XML export |

### How it compares

This Actor focuses on listing-page extraction with simple URL-based input, while other GOG scrapers target detail pages, reviews, or API-based catalog access.

| Feature | ParseForge | GOG.com Game Data Scraper | GOG Game Review Scraper | GOG.com Game Scraper |
|---|---|---|---|---|
| Scrapes listing pages by URL | Yes | Not listed | Not listed | Not listed |
| Returns game prices and discounts | Yes | Yes | Not listed | Yes |
| Returns user ratings | Yes | Not listed | Yes | Yes |
| Returns genre and platform tags | Yes | Not listed | Not listed | Yes |
| Extracts individual game reviews | Not listed | Not listed | Yes | Not listed |
| No API key or login required | Yes | Not listed | Not listed | Not listed |

### Configure the run

Drive the Actor from any GOG.com games listing page URL and set a maximum item count to control how many titles reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

```json
{
 "maxItems": 10
}
```

A larger pull:

```json
{
 "maxItems": 200
}
```

### Pricing

Pay-per-result: **$0.00313 per result** collected. You pay only for the results written to your dataset.

| Results collected | Approximate cost |
|---|---|
| 100 results | $0.31 |
| 1,000 results | $3.13 |
| 10,000 results | $31.30 |

New Apify accounts start with $5 in free credit.

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [GOG.com Games Scraper](https://apify.com/parseforge/gog-games-scraper?fpr=vmoqkp).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to GOG.com through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com/?tools=parseforge/gog-games-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**The scraper returns zero results even though the URL works in my browser.**

Check that the Start URL points to a valid GOG.com games listing page with visible game cards. Pages that require login or are not standard catalog views may not contain extractable listings.

**I am getting fewer results than my max items setting.**

The Actor stops when it reaches the end of the paginated listing. If the listing has fewer total games than your max items value, you will receive all available titles.

**Some games are missing their price or rating in the output.**

GOG.com listing pages sometimes omit prices for upcoming or region-locked titles, and ratings may not appear for games with too few reviews. This reflects the data as shown on the page.

**The run takes a long time with a high max items value.**

Each page request adds time. Lower the max items limit for faster test runs, or be patient with large catalog scrapes as the Actor respects polite crawling delays.

### FAQ

| Question | Answer |
|---|---|
| Do I need a GOG.com account or API key to use this scraper? | No. The Actor reads the public game listing pages that anyone can visit in a browser. No login, API registration, or OAuth flow is required. |
| What data fields does the scraper return for each game? | Each row includes the game title, current price, discount percentage if on sale, user rating, supported platforms, and genre tags as they appear on the listing page. |
| Can I scrape a specific genre or filtered page instead of the whole catalog? | Yes. Paste any GOG.com games listing URL into the Start URL field, including genre-filtered, sorted, or tagged pages. The Actor scrapes exactly the listing you point it at. |
| How many games can I scrape in one run? | You set the maximum items limit in the input. The Actor stops when it reaches that count, so you control the volume from a handful of titles up to the full paginated listing. |
| Does this scraper handle GOG.com sales and discount badges? | Yes. When a game is on sale, the scraper captures the discounted price and the discount percentage as displayed on the listing page. |
| Can I scrape individual game detail pages with this Actor? | This Actor is designed for listing pages. If you need deep detail-page data like screenshots, system requirements, or full descriptions, consider a detail-page scraper instead. |
| What output formats are supported? | You can export your dataset to CSV, JSON, Excel, or XML directly from the Apify platform run results. |
| Does the scraper follow pagination automatically? | Yes. It detects the next-page link on GOG.com listing pages and continues scraping until it reaches your configured item limit or runs out of pages. |
| Is this an official GOG.com API integration? | No. This Actor reads the public web pages. It is not affiliated with or endorsed by GOG sp. z o.o. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

🆘 **Need help?** Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by GOG sp. z o.o. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

## `maxItems` (type: `integer`):

Maximum number of items to scrape from the GOG.com games listing.

## `startUrl` (type: `string`):

The URL of the GOG.com games listing page to start scraping from. Defaults to the main games page.

## Actor input object example

```json
{
  "maxItems": 10,
  "startUrl": "https://www.gog.com/en/games?page=1"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/gog-games-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "maxItems": 10 }

# Run the Actor and wait for it to finish
run = client.actor("parseforge/gog-games-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxItems": 10
}' |
apify call parseforge/gog-games-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/gog-games-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/x95e6YpbNTWlaAa0P/builds/vQuGens1m6vCXqClK/openapi.json
