/isthereanydeal/games/search
curl --request POST \
--url https://api.anysite.io/api/isthereanydeal/games/search \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"count": 2,
"timeout": 300,
"keyword": "<string>",
"deals_only": true,
"shops": [],
"product_types": [],
"platforms": [],
"drm": [],
"tags": [
"<string>"
],
"price_min": 1,
"price_max": 1,
"cut_min": 50,
"cut_max": 50,
"steam_rating_min": 50,
"metacritic_min": 50,
"opencritic_min": 50,
"sort": "-hot",
"show_mature": false,
"country": "US",
"currency": "USD"
}
'import requests
url = "https://api.anysite.io/api/isthereanydeal/games/search"
payload = {
"count": 2,
"timeout": 300,
"keyword": "<string>",
"deals_only": True,
"shops": [],
"product_types": [],
"platforms": [],
"drm": [],
"tags": ["<string>"],
"price_min": 1,
"price_max": 1,
"cut_min": 50,
"cut_max": 50,
"steam_rating_min": 50,
"metacritic_min": 50,
"opencritic_min": 50,
"sort": "-hot",
"show_mature": False,
"country": "US",
"currency": "USD"
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
count: 2,
timeout: 300,
keyword: '<string>',
deals_only: true,
shops: [],
product_types: [],
platforms: [],
drm: [],
tags: ['<string>'],
price_min: 1,
price_max: 1,
cut_min: 50,
cut_max: 50,
steam_rating_min: 50,
metacritic_min: 50,
opencritic_min: 50,
sort: '-hot',
show_mature: false,
country: 'US',
currency: 'USD'
})
};
fetch('https://api.anysite.io/api/isthereanydeal/games/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.anysite.io/api/isthereanydeal/games/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'count' => 2,
'timeout' => 300,
'keyword' => '<string>',
'deals_only' => true,
'shops' => [
],
'product_types' => [
],
'platforms' => [
],
'drm' => [
],
'tags' => [
'<string>'
],
'price_min' => 1,
'price_max' => 1,
'cut_min' => 50,
'cut_max' => 50,
'steam_rating_min' => 50,
'metacritic_min' => 50,
'opencritic_min' => 50,
'sort' => '-hot',
'show_mature' => false,
'country' => 'US',
'currency' => 'USD'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.anysite.io/api/isthereanydeal/games/search"
payload := strings.NewReader("{\n \"count\": 2,\n \"timeout\": 300,\n \"keyword\": \"<string>\",\n \"deals_only\": true,\n \"shops\": [],\n \"product_types\": [],\n \"platforms\": [],\n \"drm\": [],\n \"tags\": [\n \"<string>\"\n ],\n \"price_min\": 1,\n \"price_max\": 1,\n \"cut_min\": 50,\n \"cut_max\": 50,\n \"steam_rating_min\": 50,\n \"metacritic_min\": 50,\n \"opencritic_min\": 50,\n \"sort\": \"-hot\",\n \"show_mature\": false,\n \"country\": \"US\",\n \"currency\": \"USD\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.anysite.io/api/isthereanydeal/games/search")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"count\": 2,\n \"timeout\": 300,\n \"keyword\": \"<string>\",\n \"deals_only\": true,\n \"shops\": [],\n \"product_types\": [],\n \"platforms\": [],\n \"drm\": [],\n \"tags\": [\n \"<string>\"\n ],\n \"price_min\": 1,\n \"price_max\": 1,\n \"cut_min\": 50,\n \"cut_max\": 50,\n \"steam_rating_min\": 50,\n \"metacritic_min\": 50,\n \"opencritic_min\": 50,\n \"sort\": \"-hot\",\n \"show_mature\": false,\n \"country\": \"US\",\n \"currency\": \"USD\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/isthereanydeal/games/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"count\": 2,\n \"timeout\": 300,\n \"keyword\": \"<string>\",\n \"deals_only\": true,\n \"shops\": [],\n \"product_types\": [],\n \"platforms\": [],\n \"drm\": [],\n \"tags\": [\n \"<string>\"\n ],\n \"price_min\": 1,\n \"price_max\": 1,\n \"cut_min\": 50,\n \"cut_max\": 50,\n \"steam_rating_min\": 50,\n \"metacritic_min\": 50,\n \"opencritic_min\": 50,\n \"sort\": \"-hot\",\n \"show_mature\": false,\n \"country\": \"US\",\n \"currency\": \"USD\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"@type": "ItadSearchResult",
"slug": "<string>",
"game_title": "<string>",
"type": "<string>",
"is_mature": false,
"image": "<string>",
"banner": "<string>",
"has_achievements": false,
"has_trading_cards": false,
"is_early_access": false,
"is_pre_order": false,
"cut": 123,
"price": 123,
"price_old": 123,
"currency": "<string>",
"shop": "<string>",
"flag": "<string>",
"url": "<string>",
"deals": []
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/isthereanydeal
/isthereanydeal/games/search
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.
Price: 5 credits per 60 results
POST
/
api
/
isthereanydeal
/
games
/
search
/isthereanydeal/games/search
curl --request POST \
--url https://api.anysite.io/api/isthereanydeal/games/search \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"count": 2,
"timeout": 300,
"keyword": "<string>",
"deals_only": true,
"shops": [],
"product_types": [],
"platforms": [],
"drm": [],
"tags": [
"<string>"
],
"price_min": 1,
"price_max": 1,
"cut_min": 50,
"cut_max": 50,
"steam_rating_min": 50,
"metacritic_min": 50,
"opencritic_min": 50,
"sort": "-hot",
"show_mature": false,
"country": "US",
"currency": "USD"
}
'import requests
url = "https://api.anysite.io/api/isthereanydeal/games/search"
payload = {
"count": 2,
"timeout": 300,
"keyword": "<string>",
"deals_only": True,
"shops": [],
"product_types": [],
"platforms": [],
"drm": [],
"tags": ["<string>"],
"price_min": 1,
"price_max": 1,
"cut_min": 50,
"cut_max": 50,
"steam_rating_min": 50,
"metacritic_min": 50,
"opencritic_min": 50,
"sort": "-hot",
"show_mature": False,
"country": "US",
"currency": "USD"
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
count: 2,
timeout: 300,
keyword: '<string>',
deals_only: true,
shops: [],
product_types: [],
platforms: [],
drm: [],
tags: ['<string>'],
price_min: 1,
price_max: 1,
cut_min: 50,
cut_max: 50,
steam_rating_min: 50,
metacritic_min: 50,
opencritic_min: 50,
sort: '-hot',
show_mature: false,
country: 'US',
currency: 'USD'
})
};
fetch('https://api.anysite.io/api/isthereanydeal/games/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.anysite.io/api/isthereanydeal/games/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'count' => 2,
'timeout' => 300,
'keyword' => '<string>',
'deals_only' => true,
'shops' => [
],
'product_types' => [
],
'platforms' => [
],
'drm' => [
],
'tags' => [
'<string>'
],
'price_min' => 1,
'price_max' => 1,
'cut_min' => 50,
'cut_max' => 50,
'steam_rating_min' => 50,
'metacritic_min' => 50,
'opencritic_min' => 50,
'sort' => '-hot',
'show_mature' => false,
'country' => 'US',
'currency' => 'USD'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.anysite.io/api/isthereanydeal/games/search"
payload := strings.NewReader("{\n \"count\": 2,\n \"timeout\": 300,\n \"keyword\": \"<string>\",\n \"deals_only\": true,\n \"shops\": [],\n \"product_types\": [],\n \"platforms\": [],\n \"drm\": [],\n \"tags\": [\n \"<string>\"\n ],\n \"price_min\": 1,\n \"price_max\": 1,\n \"cut_min\": 50,\n \"cut_max\": 50,\n \"steam_rating_min\": 50,\n \"metacritic_min\": 50,\n \"opencritic_min\": 50,\n \"sort\": \"-hot\",\n \"show_mature\": false,\n \"country\": \"US\",\n \"currency\": \"USD\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.anysite.io/api/isthereanydeal/games/search")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"count\": 2,\n \"timeout\": 300,\n \"keyword\": \"<string>\",\n \"deals_only\": true,\n \"shops\": [],\n \"product_types\": [],\n \"platforms\": [],\n \"drm\": [],\n \"tags\": [\n \"<string>\"\n ],\n \"price_min\": 1,\n \"price_max\": 1,\n \"cut_min\": 50,\n \"cut_max\": 50,\n \"steam_rating_min\": 50,\n \"metacritic_min\": 50,\n \"opencritic_min\": 50,\n \"sort\": \"-hot\",\n \"show_mature\": false,\n \"country\": \"US\",\n \"currency\": \"USD\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/isthereanydeal/games/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"count\": 2,\n \"timeout\": 300,\n \"keyword\": \"<string>\",\n \"deals_only\": true,\n \"shops\": [],\n \"product_types\": [],\n \"platforms\": [],\n \"drm\": [],\n \"tags\": [\n \"<string>\"\n ],\n \"price_min\": 1,\n \"price_max\": 1,\n \"cut_min\": 50,\n \"cut_max\": 50,\n \"steam_rating_min\": 50,\n \"metacritic_min\": 50,\n \"opencritic_min\": 50,\n \"sort\": \"-hot\",\n \"show_mature\": false,\n \"country\": \"US\",\n \"currency\": \"USD\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"@type": "ItadSearchResult",
"slug": "<string>",
"game_title": "<string>",
"type": "<string>",
"is_mature": false,
"image": "<string>",
"banner": "<string>",
"has_achievements": false,
"has_trading_cards": false,
"is_early_access": false,
"is_pre_order": false,
"cut": 123,
"price": 123,
"price_old": 123,
"currency": "<string>",
"shop": "<string>",
"flag": "<string>",
"url": "<string>",
"deals": []
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API token from the dashboard
Headers
Body
application/json
Required range:
x >= 1Required range:
20 <= x <= 1500Available options:
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 Available options:
game, dlc, package, software, hardware Available options:
windows, mac, linux Available options:
drm_free, Steam, Epic Game Store, GOG, Ubisoft Store, EA Store, Microsoft Store, itch.io Required range:
x >= 0Required range:
x >= 0Required range:
0 <= x <= 100Required range:
0 <= x <= 100Available options:
N, H, S Required range:
0 <= x <= 100Required range:
0 <= x <= 100Required range:
0 <= x <= 100Available options:
-hot, -time, -cut, price, expiry, -release-date, rank, -waitlisted, -collected, -steam-players, -steam-reviews, -steam-reviews-count, -opencritic, -metacritic, -metacritic-user Available options:
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 Available options:
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 Response
Successful Response
Show child attributes
Show child attributes