POST /api/isthereanydeal/games
Price: 5 credits
Get full IsThereAnyDeal details for a PC game by slug, internal game id, or URL: title, Steam appid, tags, release date, developers and publishers, review scores (Steam/OpenCritic/Metacritic), current and peak players, HowLongToBeat times, current price at every store with discount, voucher and DRM, the current best deal, all-time / 1-year / 3-month historical lows, DLCs and editions with prices, bundles that include the game, and which subscription services carry it.
Get one PC game from IsThereAnyDeal by store slug, internal game id (UUID), or game URL. Set country (ISO-3166 alpha-2) and currency (ISO-4217) for regional store availability and prices. Returns game metadata (game_title, appid, tags, developers, publishers, release_date, reviews with positive_percent and review_count per source, current_players, peak_players, hltb times in seconds), deals (per-store current price, cut, currency, voucher, drm, platforms, flag N/H/S), best_deal, historical_low, year_low, three_month_low, dlcs and editions with their prices, containing_bundles, and subscriptions (Game Pass, Ubisoft+, EA Play, Prime Gaming) that include the game.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)game string required — IsThereAnyDeal game as a store slug, internal game id (UUID), or game URL (examples: "the-alters", "018d937f-6136-71e4-a7d4-088a32c7d518"; minLength: 1)country string — Store region, drives which shops and prices apply (default: "US"; one of: "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AR", "AT", "AU", "AW", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BM", "BN", "BO", "BR", "BS", "BT", "BW", "BY", "BZ", "CA", "CD", "CG", "CH", "CI", "CL", "CM", "CN", "CO", "CR", "CV", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "ER", "ES", "ET", "FI", "FJ", "FR", "GA", "GB", "GD", "GE", "GH", "GM", "GN", "GR", "GT", "GW", "GY", "HK", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IN", "IQ", "IS", "IT", "JM", "JO", "JP", "KE", "KG", "KH", "KM", "KN", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MG", "MK", "ML", "MM", "MN", "MO", "MR", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NE", "NG", "NI", "NL", "NO", "NP", "NZ", "OM", "PA", "PE", "PG", "PH", "PK", "PL", "PT", "PY", "QA", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SI", "SK", "SL", "SN", "SR", "ST", "SV", "SZ", "TC", "TD", "TG", "TH", "TJ", "TL", "TM", "TN", "TO", "TR", "TT", "TW", "TZ", "UA", "UG", "US", "UY", "UZ", "VC", "VE", "VN", "VU", "WS", "YE", "ZA", "ZM", "ZW")currency string — Currency for prices (default: "USD"; one of: "AED", "ARS", "AUD", "BGN", "BRL", "CAD", "CHF", "CLP", "CNY", "COP", "CRC", "CZK", "DKK", "EUR", "GBP", "HKD", "HUF", "IDR", "ILS", "INR", "JPY", "KRW", "KWD", "KZT", "MXN", "MYR", "NOK", "NZD", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "SEK", "SGD", "THB", "TRY", "TWD", "UAH", "USD", "UYU", "VND", "ZAR")@type string (default: "ItadGame")id string requiredslug string nullablegame_title string nullableurl string nullabletype string nullableis_mature boolean (default: false)is_early_access boolean (default: false)appid integer nullableimage string nullablebanner string nullabletags array (default: [])has_achievements boolean (default: false)has_trading_cards boolean (default: false)release_date integer nullablelast_updated_at integer nullabledevelopers array (default: [])publishers array (default: [])description string nullabledescription_source string nullablereviews array (default: [])@type string (default: "ItadReview")source string requiredreview_count integer nullablepositive_percent integer nullableneutral_percent integer nullablenegative_percent integer nullableurl string nullablerank integer nullablewaitlist_count integer nullablecollection_count integer nullablecurrent_players integer nullablepeak_players integer nullablehltb object nullable@type string (default: "ItadHowLongToBeat")main_seconds integer nullableextra_seconds integer nullablecomplete_seconds integer nullableall_seconds integer nullableurl string nullablebest_deal object nullable@type string (default: "ItadPriceLow")cut integer nullableprice number nullablecurrency string nullableshop string nullableshop_id integer nullableflag string nullablevoucher string nullableurl string nullabletime integer nullablehistorical_low object nullable@type string (default: "ItadPriceLow")cut integer nullableprice number nullablecurrency string nullableshop string nullableshop_id integer nullableflag string nullablevoucher string nullableurl string nullabletime integer nullableyear_low object nullable@type string (default: "ItadPriceLow")cut integer nullableprice number nullablecurrency string nullableshop string nullableshop_id integer nullableflag string nullablevoucher string nullableurl string nullabletime integer nullablethree_month_low object nullable@type string (default: "ItadPriceLow")cut integer nullableprice number nullablecurrency string nullableshop string nullableshop_id integer nullableflag string nullablevoucher string nullableurl string nullabletime integer nullableactive_bundle_count integer nullabletotal_bundle_count integer nullabledeals array (default: [])@type string (default: "ItadDeal")shop string nullableshop_id integer nullableurl string nullablecut integer nullableprice number nullableprice_old number nullablecurrency string nullablestore_low number nullablehistory_low number nullableflag string nullablevoucher string nullablepromo string nullableis_drm_free boolean (default: false)drm array (default: [])platforms array (default: [])added_at integer nullableexpiry_at integer nullablevoucher_offers array (default: [])@type string (default: "ItadVoucherOffer")cut integer nullableprice number nullablecurrency string nullablevoucher string nullabledlcs array (default: [])@type string (default: "ItadRelatedGame")id string requiredslug string nullablegame_title string nullabletype string nullableis_mature boolean (default: false)image string nullablebanner string nullablecut integer nullableprice number nullablecurrency string nullableshop string nullableflag string nullableurl string nullableeditions array (default: [])@type string (default: "ItadRelatedGame")id string requiredslug string nullablegame_title string nullabletype string nullableis_mature boolean (default: false)image string nullablebanner string nullablecut integer nullableprice number nullablecurrency string nullableshop string nullableflag string nullableurl string nullablecontaining_bundles array (default: [])@type string (default: "ItadContainingBundle")id integer requiredbundle_title string nullableshop string nullableshop_id integer nullablepage string nullableurl string nullablegame_count integer nullablepublished_at integer nullableexpiry_at integer nullablesubscriptions array (default: [])@type string (default: "ItadSubscriptionService")id integer requiredservice_title string requiredslug string required422 — The request body did not validate Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — Game not found (well-formed slug/id but no such game on IsThereAnyDeal) Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.