# GG.deals — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search for games and browse current deals across multiple stores while tracking price history to find the best discounts. Get detailed pricing information and historical price data to make informed purchasing decisions.

**Category:** E-commerce | **Website:** [gg.deals/](https://gg.deals/) | **Docs:** [parse.bot/marketplace/3c89224d-a6b2-49a4-8f26-ec77243b17eb/gg-deals-api](https://parse.bot/marketplace/3c89224d-a6b2-49a4-8f26-ec77243b17eb/gg-deals-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-gg-deals-api-3c89224d/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_deals

List game deals with sorting and filtering options. Returns paginated results of current deals across stores. Each deal includes the game name, current and original price, discount percentage, store information, and whether it is a historical low. When currency is set to 'PLN', prices are displayed in Polish Zloty.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `currency` | string | No | Currency for deal prices. Set to 'PLN' to display prices in Polish Zloty. Omitting returns prices in the default currency (USD). |
| `drm` | string | No | Filter by DRM type (e.g. 'Steam', 'GOG'). |
| `max_price` | number | No | Maximum price filter. |
| `min_discount` | integer | No | Minimum discount percentage filter. |
| `min_price` | number | No | Minimum price filter. |
| `page` | integer | No | Page number for pagination. |
| `platform` | integer | No | Filter by platform ID. Accepted values: 1 (PC), 2 (Xbox), 3 (PlayStation), 4 (Switch). |
| `sort` | string | No | Sort order for deals. |
| `store` | string | No | Filter by store IDs (comma-separated). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-gg-deals-api-3c89224d/get_deals \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"currency":"<string>","drm":"<string>","max_price":"<number>","min_discount":"<integer>","min_price":"<number>","page":"<integer>","platform":"<integer>","sort":"<string>","store":"<string>"}'
```

### get_game_detail

Get detailed information for a specific game, including all current price offers from official stores and keyshops, ratings, and metadata. The slug is obtainable from search_games results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | The game slug from the URL (e.g. 'elden-ring', 'cyberpunk-2077'). Obtainable from search_games results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-gg-deals-api-3c89224d/get_game_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### get_game_price_history

Get the historical price chart data for a specific game. Returns retail and keyshop price history data points with timestamps, prices, and store names. Either slug or game_id must be provided; if only slug is given, it is used to resolve the game_id first.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `game_id` | string | No | The numeric game ID (e.g. '119003'). If not provided, slug is used to resolve it. |
| `slug` | string | No | The game slug (e.g. 'elden-ring'). Used to resolve game_id if game_id is not provided. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-gg-deals-api-3c89224d/get_game_price_history \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"game_id":"<string>","slug":"<string>"}'
```

### search_games

Search for games by title on GG.deals. Returns a list of matching games with their current lowest prices and discounts. Results are not paginated — the site returns all matches for the query in a single response.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search query for game title (e.g. 'elden ring', 'cyberpunk') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-gg-deals-api-3c89224d/search_games \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```
