# CheapShark Game Deals Scraper (`parseforge/cheapshark-game-deals-scraper`) Actor

Track live PC game discounts from CheapShark across more than 30 stores. Each deal returns the title, store name, sale price, normal price, savings percent, Steam rating, and Metacritic score. Handy for price comparison sites, deal roundups, and discount trend research.

- **URL**: https://apify.com/parseforge/cheapshark-game-deals-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** E-commerce, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 89.3% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 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/platform/actors/running/actors-in-store#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 Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🦈 CheapShark Game Deals Scraper

> 🚀 **Export live PC game deals in seconds.** Pull 60 deals per page across 15 active stores with sale price, normal price, savings percent, Steam rating, and Metacritic score on every record.

Track every discount on the PC market without opening a single store tab. The CheapShark Game Deals Scraper reads the public CheapShark catalog and returns a clean, ready to use feed of game deals with store names already resolved, prices in US dollars, savings rounded to two decimals, and release dates converted to readable ISO timestamps.

It covers deals from Steam, GreenManGaming, GOG, Humble Store, Fanatical, Epic Games Store, Uplay, IndieGala, and more, so you can compare the cheapest price for any title across the whole storefront landscape in one pass. Two modes are built in. Browse the live deals feed with filters, or search a single game title and get its cheapest price across every store.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Deal hunters and gamers | Catch the lowest price before a sale ends |
| Price comparison sites | Power a cross store game price table |
| Content creators and bloggers | Build daily or weekly deal roundups |
| Resellers and key sites | Spot pricing gaps and discount trends |
| Data analysts | Study discount depth, ratings, and timing |

### 📋 What the CheapShark Game Deals Scraper does

- Pulls the live deals feed sorted by Deal Rating, Savings, Price, Metacritic, Reviews, Release Date, and more.
- Resolves every numeric store ID into a readable store name like Steam or GOG.
- Returns sale price, normal price, and savings percent for direct discount math.
- Adds Steam positive review percentage, Steam review label, review count, and Metacritic score.
- Converts release date and last price change from epoch to ISO 8601 timestamps.
- Builds a ready to click redirect URL for each deal.
- Offers a game title search mode that returns the cheapest price for a specific game across stores.
- Filters the feed by store, maximum sale price, and minimum Steam rating.

### 📊 Data fields

Each record includes: `dealRating`, `dealUrl`, `imageUrl`, `metacriticScore`, `normalPrice`, `results`, `salePrice`, `savingsPercent`, `scrapedAt`, `steamRatingPercent`, `storeName`, `title`. These field names come straight from the actor's dataset schema, so what you see here is what lands in your dataset.

### 🚀 How to use

1. Create a free Apify account with [this sign up link](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the CheapShark Game Deals Scraper in the Apify Console.
3. Pick a mode. Leave the title empty to browse the deals feed, or type a game title to search.
4. Set filters such as store, maximum price, or minimum Steam rating, then set how many records you want.
5. Run the Actor and collect the results from the output table or the API.

### 🔗 Recommended Actors

- [RAWG Scraper](https://apify.com/parseforge/rawg-scraper) for rich game metadata from the RAWG database.
- [Steam Store Scraper](https://apify.com/parseforge/steam-store-scraper) for full Steam store listings and details.
- [OpenCritic Games Scraper](https://apify.com/parseforge/opencritic-games-scraper) for aggregated critic scores.
- [GiantBomb Games Scraper](https://apify.com/parseforge/giantbomb-games-scraper) for the GiantBomb games encyclopedia.
- [Valorant Game Content Scraper](https://apify.com/parseforge/valorant-game-content-scraper) for Valorant agents, maps, and weapons.

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge).

> **⚠️ Disclaimer:** This is an independent tool, not affiliated with CheapShark. Only publicly available data is collected.

### 🆘 Need Help?

If you hit a bug, have questions about setup, or need a scraper we haven't built yet, open our [contact form](https://tally.so/r/BzdKgA) or write to parseforge@protonmail.com. We also take on paid custom data projects.

For faster answers, join our [Discord](https://parseforge.co/discord). It's the best place to get support and suggest new actors.

# Actor input Schema

## `searchTitle` (type: `string`):

Optional. Type a game title to switch to search mode and find that game's cheapest price across stores (for example Portal, Hades, Elden Ring). Leave empty to browse the live deals feed instead.

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

Maximum number of deals to collect per run.

## `sortBy` (type: `string`):

How to order the deals feed.

## `storeID` (type: `string`):

Limit deals to a single store. Leave empty for all stores.

## `upperPrice` (type: `integer`):

Only return deals at or below this sale price in US dollars. Leave empty for no price cap.

## `steamRating` (type: `integer`):

Only return deals whose Steam positive review percentage is at least this value.

## Actor input object example

```json
{
  "maxItems": 10,
  "sortBy": "Deal Rating",
  "storeID": ""
}
```

# 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 = {
    "searchTitle": "",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/cheapshark-game-deals-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 = {
    "searchTitle": "",
    "maxItems": 10,
}

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

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

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

```

## CLI example

```bash
echo '{
  "searchTitle": "",
  "maxItems": 10
}' |
apify call parseforge/cheapshark-game-deals-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/cheapshark-game-deals-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

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