Nintendo
Nintendo eShop Search API
Search the Nintendo eShop catalog by keyword on 42 markets, in the market's language and currency. Europe and Japan: games and DLC with the item id, price, regular price, sale price, discount, sale start and end, release date, publisher, platform (Switch or Switch 2) and age rating, up to 50 a page with the exact total, sorted by relevance, newest, price, title or discount and filtered by platform, on sale, price range, genre, players, publisher, demo and type where the catalog supports them. Americas: Nintendo's search pages, 40 tiles a page (games, hardware and merchandise) sorted by relevance or newest, each with its store slug. Costs 1 credit per request.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsonquerystringrequiredSearch keywords, 1-200 characters (Japanese titles on jp).
Example: mario
countrystringdefault:usThe eShop market, as a lowercase country code. This endpoint serves 42 markets: the Americas (us, ca, mx, br, ar, cl, co, pe), Europe with a catalog in its own language (gb, ie, de, at, ch, fr, be, nl, lu, it, es, pt, au, nz, za), 18 European countries with no Nintendo site of their own that read the English European catalog with their own prices (pl, cz, se, no, dk, fi, sk, hu, ro, bg, gr, hr, si, ee, lv, lt, mt, cy), and Japan (jp). kr, hk, tw and il are prices only and answer 400 here. Titles come back in the market's language and prices in its currency, never converted; the answer echoes country, language, currency and region. ph (Nintendo has not published Philippines item ids yet), ru (no eShop), uk (use gb) and countries with no eShop data answer 400, not charged.
Example: us
us— United States, USD, en (English); Americas store. The default.ca— Canada, CAD, en (English) or fr (French); default en; Americas store.mx— Mexico, MXN, es (Spanish); Americas store.br— Brazil, BRL, pt (Portuguese); Americas store.ar— Argentina, ARS, es (Spanish); Americas store.cl— Chile, CLP, es (Spanish); Americas store.co— Colombia, COP, es (Spanish); Americas store.pe— Peru, PEN, es (Spanish); Americas store.gb— United Kingdom, GBP, en (English); European catalog in the market's language.ie— Ireland, EUR, en (English); European catalog in the market's language.de— Germany, EUR, de (German); European catalog in the market's language.at— Austria, EUR, de (German); European catalog in the market's language.ch— Switzerland, CHF, de (German) or fr (French) or it (Italian); default de; European catalog in the market's language.fr— France, EUR, fr (French); European catalog in the market's language.be— Belgium, EUR, fr (French) or nl (Dutch); default fr; European catalog in the market's language.nl— Netherlands, EUR, nl (Dutch); European catalog in the market's language.lu— Luxembourg, EUR, fr (French); European catalog in the market's language.it— Italy, EUR, it (Italian); European catalog in the market's language.es— Spain, EUR, es (Spanish); European catalog in the market's language.pt— Portugal, EUR, pt (Portuguese); European catalog in the market's language.au— Australia, AUD, en (English); European catalog in the market's language.nz— New Zealand, NZD, en (English); European catalog in the market's language.za— South Africa, ZAR, en (English); European catalog in the market's language.pl— Poland, PLN, en (English); English European catalog, this country's prices.cz— Czechia, CZK, en (English); English European catalog, this country's prices.se— Sweden, SEK, en (English); English European catalog, this country's prices.no— Norway, NOK, en (English); English European catalog, this country's prices.dk— Denmark, DKK, en (English); English European catalog, this country's prices.fi— Finland, EUR, en (English); English European catalog, this country's prices.sk— Slovakia, EUR, en (English); English European catalog, this country's prices.hu— Hungary, EUR, en (English); English European catalog, this country's prices.ro— Romania, EUR, en (English); English European catalog, this country's prices.bg— Bulgaria, EUR, en (English); English European catalog, this country's prices.gr— Greece, EUR, en (English); English European catalog, this country's prices.hr— Croatia, EUR, en (English); English European catalog, this country's prices.si— Slovenia, EUR, en (English); English European catalog, this country's prices.ee— Estonia, EUR, en (English); English European catalog, this country's prices.lv— Latvia, EUR, en (English); English European catalog, this country's prices.lt— Lithuania, EUR, en (English); English European catalog, this country's prices.mt— Malta, EUR, en (English); English European catalog, this country's prices.cy— Cyprus, EUR, en (English); English European catalog, this country's prices.jp— Japan, JPY, ja (Japanese); Japanese catalog.
languagestringThe answer's language, from the market's own list (the first is the default): ca en or fr; ch de, fr or it; be fr or nl; mx, ar, cl, co, pe and es es; br and pt pt; de and at de; fr and lu fr; it it; nl nl; jp ja; kr ko; hk and tw zh; every other market en. Titles, genres and descriptions come back in it. A language the market does not serve answers 400.
Example: fr
pageintegerdefault:1Results page, 1-based. Up to 400 (Europe and jp); up to 50 on the Americas.
Example: 2
page_sizeintegerdefault:24Items per page, 1 to 50 (Europe and jp). Fixed at 40 on the Americas: another value answers 400.
Example: 50
sortenum<string>default:relevanceResult order. Americas: relevance and newest; jp: relevance, newest, price_asc, price_desc; Europe: all six. Another sort answers 400, never silently dropped.
Example: newest
relevance— Nintendo's relevance order. The default. Every catalog.newest— Newest release first. Every catalog.price_asc— Price, low to high. Europe and jp.price_desc— Price, high to low. Europe and jp.title— Title, A to Z. Europe.discount— Deepest discount first. Europe.
platformenum<string>switch or switch_2 (Europe and jp; default both).
Example: switch_2
switch— Nintendo Switch.switch_2— Nintendo Switch 2.
on_salebooleanOnly discounted games (Europe and jp).
Example: true
price_minnumberLowest price (Europe, on markets whose catalog is priced in the market's own currency: gb and the EUR markets with a catalog of their own). Elsewhere 400.
Example: 10
price_maxnumberHighest price (as price_min).
Example: 30
genrestringA genre as the catalog names it, in the request language (Europe, e.g. RPG, Action).
Example: RPG
playersintegerAt least this many players (Europe).
Example: 4
publisherstringExact publisher name (Europe; jp in Japanese, e.g. 任天堂).
Example: Nintendo
has_demobooleanOnly games with a free demo (Europe).
Example: true
typeenum<string>default:gamegame, dlc, bundle or all. Europe: game, dlc or all (the European catalog files bundles as games); jp: all four.
Example: dlc
game— Games. The default.dlc— Downloadable content.bundle— Bundles (jp).all— Everything the catalog lists.
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key", timeout=120)
# Switch 2 games on sale in the UK eShop, deepest discount first.
r = client.nintendo.search(query="mario", country="gb", platform="switch_2", on_sale=True, sort="discount")["data"]
print(r["total"], "results")
for i in r["items"]:
print(i["nsuid"], i["title"], i["price"], i["regular_price"], i["currency"], i["sale_end"])Response