POST /api/isthereanydeal/games/search
Price: 5 credits
Search and filter PC game deals on IsThereAnyDeal: browse current deals or all games with an extensive filter set (store, product type, platform, DRM, tags, price and discount range, deal flag, review scores) and sorting. Each result carries the game with its current best price, discount, store and all current per-store offers.
Search/browse PC game deals on IsThereAnyDeal. Provide keyword to search games by name, or omit it to browse deals with filters. Set count and deals_only (true = only games on sale, false = all games). Filter by shops, product_types, platforms, drm, tags, price_min/price_max, cut_min/cut_max (discount %), flag (N/H/S), steam_rating_min, metacritic_min, opencritic_min; order with sort; set country and currency. Each result has the game (id, slug, game_title, type), its best current price, cut, shop and flag, plus deals (every current per-store offer).
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)count integer required — Max number of games to return (min: 1)keyword string nullable — Search games by name (filters below are ignored when set)deals_only boolean — Only games with an active deal, else browse all games (default: true)shops array nullable — Restrict to these stores (one of: "Steam", "Epic Game Store", "GOG", "Humble Store", "Fanatical", "GreenManGaming", "GamesPlanet US", "GamesPlanet UK", "GamesPlanet DE", "GamesPlanet FR", "GameBillet", "GamersGate", "WinGameStore", "MacGameStore", "Microsoft Store", "Ubisoft Store", "EA Store", "itch.io", "IndieGala Store", "AllYouPlay", "Nuuvem", "Voidu", "DLGamer", "Noctre", "GamesPlanet US", "Amazon", "Playsum")product_types array nullable — Restrict to these product types (one of: "game", "dlc", "package", "software", "hardware")platforms array nullable — Restrict to these platforms (one of: "windows", "mac", "linux")drm array nullable — Restrict to these DRM/activation platforms (one of: "drm_free", "Steam", "Epic Game Store", "GOG", "Ubisoft Store", "EA Store", "Microsoft Store", "itch.io")tags array nullable — Restrict to games having all these tagsprice_min number nullable — Minimum current price (min: 0)price_max number nullable — Maximum current price (min: 0)cut_min integer nullable — Minimum discount percent (min: 0; max: 100)cut_max integer nullable — Maximum discount percent (min: 0; max: 100)flag string nullable — Deal flag: N new low, H historical low, S store low (one of: "N", "H", "S")steam_rating_min integer nullable — Minimum Steam review score percent (min: 0; max: 100)metacritic_min integer nullable — Minimum Metacritic score (min: 0; max: 100)opencritic_min integer nullable — Minimum OpenCritic score (min: 0; max: 100)sort string — Sort order (default: "-hot"; one of: "-hot", "-time", "-cut", "price", "expiry", "-release-date", "rank", "-waitlisted", "-collected", "-steam-players", "-steam-reviews", "-steam-reviews-count", "-opencritic", "-metacritic", "-metacritic-user")show_mature boolean — Include mature games (default: false)country string — Store region, drives shops and prices (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: "ItadSearchResult")id string requiredslug string nullablegame_title string nullabletype string nullableis_mature boolean (default: false)image string nullablebanner string nullablehas_achievements boolean (default: false)has_trading_cards boolean (default: false)is_early_access boolean (default: false)is_pre_order boolean (default: false)cut integer nullableprice number nullableprice_old number nullablecurrency string nullableshop string nullableflag string nullableurl string 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 nullable422 — 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 — The entity was not found, or a precondition failed 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.