IsThereAnyDeal
npx machina-cli add skill ryanlewis/claude-isthereanydeal/isthereanydeal --openclawIsThereAnyDeal
Look up current game prices across stores and check historical price data using the IsThereAnyDeal (ITAD) API.
API Key Setup
Before making any API calls, obtain the API key:
- Check settings file first: Read
.claude/isthereanydeal.local.jsonin the project root (or~/.claude/isthereanydeal.local.jsonfor global config). If it exists, extract theapi_keyfield from the JSON. - Fall back to environment variable: If no settings file exists or
api_keyis empty, use theITAD_API_KEYenvironment variable. - Prompt if missing: If neither source provides a key, inform the user they need to create an app at https://isthereanydeal.com/apps/ to get an API key, then configure it by either:
- Creating
.claude/isthereanydeal.local.jsonwith anapi_keyfield - Setting the
ITAD_API_KEYenvironment variable
- Creating
To obtain the key: read .claude/isthereanydeal.local.json (or ~/.claude/isthereanydeal.local.json) with the Read tool and parse the JSON to extract the api_key value. If the file does not exist or has no api_key field, check the ITAD_API_KEY environment variable.
Country/Region
Determine the country code for pricing:
- Check settings file: Look for a
countryfield in.claude/isthereanydeal.local.json. - Infer from context: If the user's locale, timezone, or other context clues indicate a region, use the corresponding 2-character ISO country code.
- Default to US: If no country can be determined, default to
US.
Core Workflow
Step 1: Search for the Game
Resolve the game name to an ITAD game ID using the search endpoint:
curl -s "https://api.isthereanydeal.com/games/search/v1?title=GAME_NAME&results=5&key=$ITAD_API_KEY"
Parse the response to find the best match. If multiple results are returned, select the one whose title most closely matches the user's query, preferring type: "game" over DLC or packages. If the match is ambiguous, present the top results and ask the user to clarify.
Extract the id field (UUID) from the matched game — this is needed for all subsequent API calls.
Step 2: Get Current Prices
Fetch current prices across all stores:
curl -s -X POST "https://api.isthereanydeal.com/games/prices/v3?country=$COUNTRY&capacity=0&key=$ITAD_API_KEY" \
-H "Content-Type: application/json" \
-d '["GAME_UUID"]'
Use capacity=0 to return all available prices across all stores. Optionally add deals=true as a query parameter if the user only wants to see discounted prices.
Step 3: Get Price Overview and History
Fetch the historical low and current best deal summary:
curl -s -X POST "https://api.isthereanydeal.com/games/overview/v2?country=$COUNTRY&key=$ITAD_API_KEY" \
-H "Content-Type: application/json" \
-d '["GAME_UUID"]'
This returns the current best price and the all-time historical low in a single call.
Step 4: Format and Present Results
Present the results in a clear, readable format. Include:
Price summary:
- Game title
- Current Steam price (always include this prominently, even if it's not the best deal)
- Current best price, store name, and discount percentage
- Historical low price, the store it was at, and when it occurred
- Whether the current price is at or near the historical low
Deal table (all stores that have the game):
| Store | Price | Discount | DRM | Link |
|---|---|---|---|---|
| Steam | $59.99 | — | Steam | Buy |
| GOG | $35.99 | -40% | DRM-Free | Buy |
| Humble | $39.99 | -33% | Steam | Buy |
Always list the Steam price first in the table, then sort remaining stores by price (lowest first). Highlight the best overall deal. Note any deals at historical low prices (flag "H" in the response). Include deal expiry dates when available. If Steam is not among the results, note that explicitly.
Multiple Games
To look up multiple games at once, search for each game individually to get their UUIDs, then batch the UUIDs into a single prices/overview call (up to 200 per request). Present results grouped by game.
API Reference
For complete endpoint documentation including all parameters, response schemas, and curl examples, consult references/api-reference.md.
Settings File Template
The settings file at .claude/isthereanydeal.local.json supports these fields:
{
"api_key": "your-api-key-here",
"country": "US"
}
api_key— IsThereAnyDeal API key (create an app at https://isthereanydeal.com/apps/ to get one)country— 2-character ISO country code for pricing (default: US)
Important Notes
- The API has no hard rate limit but has heuristic abuse detection. Avoid unnecessary repeated calls.
- Affiliate links in store URLs must not be modified (per ITAD Terms of Service).
- POST endpoints accept JSON arrays of game UUIDs. Always set
Content-Type: application/json. - Game IDs are UUIDs (e.g.,
018d937f-012f-73b8-ab2c-898516969e6a), not plain strings.
Source
git clone https://github.com/ryanlewis/claude-isthereanydeal/blob/main/skills/isthereanydeal/SKILL.mdView on GitHub Overview
IsThereAnyDeal uses the ITAD API to look up current game prices across stores and fetch price history. It helps you compare prices, spot discounts, and track historical lows for any game.
How This Skill Works
The skill resolves a game name to an ITAD game ID, fetches current prices across stores, and retrieves a price overview plus historical data. It then formats the results into a clear price summary and a deal table for easy comparison.
When to Use It
- You want to find current deals for a specific game.
- You need to know if a game is on sale and by how much.
- You want the price history for a game over time.
- You want the cheapest price across multiple stores.
- You want to know where to buy a game at the best value.
Quick Start
- Step 1: Provide the game title and optional country/region.
- Step 2: The skill authenticates with ITAD and searches for the game, then fetches current prices.
- Step 3: Review the price summary and deal table, then use the Buy links to purchase.
Best Practices
- Provide the exact game title to improve search accuracy.
- Specify your country/region to get local prices; default is US if unknown.
- Add deals=true to filter results to discounted offers.
- Compare current prices against the historical low to gauge deal quality.
- Review all stores for price, DRM, and platform compatibility before buying.
Example Use Cases
- IsThereAnyDeal for Elden Ring price
- Show me price history for Cyberpunk 2077
- What is the cheapest price for The Witcher 3
- Where to buy Hogwarts Legacy best deal
- Compare game prices for Starfield across stores