CheapShark API

Beginner's Pick Games & Comics / No Auth Required Beginner HTTPS CORS
Free to Use
84 A
Measured Score 0 50 100 Speed 24/30 Consistency 17/20 Security 20/20 Browser access 15/15 Transparency 8/15 TESTED 2026-08-10

Overview

CheapShark aggregates PC game deals from major stores like Steam, GOG, and Humble Bundle, letting you search for the lowest current price on any game. No API key is required — just make HTTP GET requests and receive JSON responses. It's ideal for building deal alert bots, price comparison tools, or shopping assistants.

Beginner Tip

Use the 'title' parameter with a partial game name to search broadly, then narrow results using 'storeID' — store IDs are listed in the /stores endpoint.

Measurement Record

What actually happened when we called this API from our own infrastructure. Every value below was recorded by the request, not copied from the provider's documentation.

Request
GET https://www.cheapshark.com/api/1.0/deals?title=cyberpunk&upperPrice=20&pageSize=5
Result
HTTP 200 · application/json · 3,170 bytes · compressed
Response time
48 ms (median of 3) · fastest 42 ms
Transport
TLSv1.3 · TLS_AES_256_GCM_SHA384 · certificate issued by Google Trust Services
Browser CORS
Allowed — Access-Control-Allow-Origin: *
Served by
cloudflare
Recorded
2026-08-10

Fields Returned

Top-level fields present in the response we captured, with the type and value we actually received.

Field Type Value received
internalName string CYBERPUNK2077
title string Cyberpunk 2077
metacriticLink string /game/cyberpunk-2077/
dealID string KTOzm9HzGL%2FECX6QwgAdbEdqnw8fAWGTIfrly4J9Cfg%3D
storeID string 7
gameID string 202350
salePrice string 17.99
normalPrice string 59.99
isOnSale string 1
savings string 70.011669
metacriticScore string 86
steamRatingText string Very Positive
steamRatingPercent string 89
steamRatingCount string 386510

Captured Response

Captured from a real request to https://www.cheapshark.com/api/1.0/deals?title=cyberpunk&upperPrice=20&pageSize=5 on 2026-08-10. Long arrays and nested objects are truncated to keep the shape readable.

JSON Response · Captured
[
  {
    "internalName": "CYBERPUNK2077",
    "title": "Cyberpunk 2077",
    "metacriticLink": "/game/cyberpunk-2077/",
    "dealID": "KTOzm9HzGL%2FECX6QwgAdbEdqnw8fAWGTIfrly4J9Cfg%3D",
    "storeID": "7",
    "gameID": "202350",
    "salePrice": "17.99",
    "normalPrice": "59.99",
    "isOnSale": "1",
    "savings": "70.011669",
    "metacriticScore": "86",
    "steamRatingText": "Very Positive",
    "steamRatingPercent": "89",
    "steamRatingCount": "386510",
    "…": "(5 more fields)"
  }
]

Field Reference

gameID CheapShark's unique identifier for the game across all stores.
title Game title as indexed by CheapShark.
salePrice Current discounted price in USD.
normalPrice Original full price in USD before the discount.
savings Percentage saved compared to the normal price (0–100).
storeID Numeric identifier for the store; map to store names via the /stores endpoint.

Implementation Example

Calls a real endpoint of this API. Replace any placeholder credentials with your own key.

Request
const url = "https://www.cheapshark.com/api";
const response = await fetch(url);
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

How This API Fails

We deliberately sent this API a broken request and recorded exactly what came back on 2026-08-10. Knowing the shape of an error before you hit it makes error handling much easier to write.

HTTP 500 Requesting a path that does not exist text/html

Returned an HTML error page rather than JSON — worth knowing if your client assumes every response can be parsed as JSON.

Common Errors & Troubleshooting

Generated guidance based on this API's documentation, not observed by us. Treat it as a starting point and check against the provider's own error reference.

Empty results array Your search title doesn't match any indexed game titles.
Try a shorter or different spelling of the game title; CheapShark matches on partial strings.
Unexpected storeID values in results Each store has a numeric ID, not a name string.
Call https://www.cheapshark.com/api/1.0/stores first to get a mapping of store IDs to store names.
dealID not found when redirecting Deal IDs expire as prices change; stored IDs may become stale.
Always fetch fresh deal data before using a dealID for the redirect endpoint.

Measured Score Breakdown

Live HTTP request to the API endpoint

Speed 24/30
Consistency 17/20
Security 20/20
Browser access 15/15
Transparency 8/15
Endpoint Response Time 48ms

Fully tested on Aug 10, 2026

Technical Specifications

Auth No Auth
HTTPS REQUIRED
CORS YES
Category Games & Comics
Difficulty Beginner
Endpoint last called: 2026-08-10

Related Tags

Similar APIs

View All →