itad-api-client-ts
A typescript api library/client for IsThereAnyDeal.
Most calls should be 1 to 1 with the API documentation.
NOTE: Currently does not implement calls that require authentication. I will implement these calls if requested.
Installation
npm install itad-api-client-ts --save
Usage
import { IsThereAnyDealApi } from "itad-api-client-ts";
const itadApi = new IsThereAnyDealApi(apiKey);
const shops = await itadApi.getShops();
const regions = await itadApi.getRegions();
const regionalShops = await itadApi.getRegionalShops("eu1");
const deals = await itadApi.getDeals({
shops: ["steam", "gog"],
limit: 20,
offset: 20,
region: "eu1",
country: "AL"
});
const matchingDeals = await itadApi.searchDeals("fallout", {
shops: ["steam"]
});
const dealsWithGameInfo = await itadApi.getDealsFull({
shops: ["steam"]
}, "fallout");
Methods
The only call that does not map 1 to 1 is getDealsFull
as it is a convenience method for calling both getDeals/searchDeals
and subsequently getGameInfo utilizing the plains/ids retrieved,
merging the game info into the deal entry.
getShops: /v01/web/stores/all/
getRegionalShops: /v02/web/stores/?region=&country=
getRegions: /v01/web/regions/
getPlain: /v02/game/plain/?key=&shop=&game_id=&title=&url=
getPlains: /v01/game/plain/list/?key=&shops=
getGameInfo: /v01/game/info/?key=&plains=
getGamePrices: /v01/game/prices/?key=&plains=®ion=&country=&shops=&exclude=&added=
getHistoricalLow: /v01/game/lowest/?key=&plains=®ion=&country=&shops=&exclude=&since=
getDeals: /v01/deals/list/?key=&shops=&offset=&limit=®ion=&country=
searchDeals: /v01/search/search/?key=&q=&shops=&offset=&limit=®ion=&country=