Amazon Product Advertising API v5.0 for JavasScript & NodeJs
npm install amazon-pa-api50Learn more about Product Advertising API v5.
git clone git@github.com:arifulhb/amazon-pa-api50.git
`
$3
`
npm install amazon-pa-api50 --save
`$3
Import the Config module and Api client.
`
const Api = require('amazon-pa-api50')
const Config = require('amazon-pa-api50/lib/config')
`Optional loading of modules
All of these are optional. Depends on what you want to search or fetch.
`
const resources = require('amazon-pa-api50/lib/options').Resources // Optional for different resources
const condition = require('amazon-pa-api50/lib/options').Condition // for product condition
const country = require('amazon-pa-api50/lib/options').Country // Optional for different country
const searchIndex = require('amazon-pa-api50/lib/options').SearchIndex // for Search Index
`
Create Config instance
`
// By Default all resources and will connect to United States
let myConfig = new Config();// if you want other country then united states.
let myConfig = new Config(undefined, country.UnitedKingdom);
// if you want custom resources.
// this custom
resources.Offers will be set default to all of your search. You can customize the resources in your search specific function also.
let myConfig = new Config(resources.Offers);// if you want custom resources with different country
let myConfig = new Config(resources.ItemInfo, country.Canada);
`Configure the Config class
`
/**
* Add your Credentials Here
*/
myConfig.accessKey = ''
myConfig.secretKey = ''
myConfig.partnerTag = ''
`After adding the credentials in
myConfig, Create Api instance`
const api = new Api(myConfig)
`
If all of your credentials are valid, you must be able to serach in Amazon now.
###`
console.log(' ===== find by Item ids =====')
let resourceList = resources.getItemInfo
resourceList = resourceList
.concat(resources.getImagesPrimary) api.getItemById(['B079JD7F7G'], {
parameters: resourceList,
condition: condition.Any
}).then((response) => {
console.log('data', response.data)
}, (error) => {
console.log('Error: ', error)
})
`
Usage
api have four main functions to fetch data from amazon. Each function has 2 parameters and return promise.-
api.getItemById(['asin1', 'asin2'], {})
- api.search('keyword', {})
- api.getVariations('asin1', {})
- api.getBrowseNodes(['nodeid1', 'nodeid2'], {})Inside
then, block of the promise, response object contain response.data and response.response as full faw response from Amazon.Sample tutorial for how to use this library is given in
./demo/index.js file. $3
##### getItemById(['ASIN1', 'ASIN2'], params)
`
console.log(' ===== find by Item ids =====')
let resourceList = parameters.getItemInfo
resourceList = resourceList
.concat(parameters.getImagesPrimary)api.getItemById(['B079JD7F7G'], {
parameters: resourceList,
condition: condition.Any
}).then((response) => {
console.log('data', response.data)
}, (error) => {
console.log('Error: ', error)
})
`
$3
##### search('keyword', params)`
console.log(' ===== search result =====')
let resourceList = parameters.getItemInfo
resourceList = resourceList
.concat(parameters.getImagesPrimary)api.search("Cowin E8", {
parameters: resourceList,
searchIndex: searchIndex.Electronics
}).then((response) => {
console.log('data', response.data)
}, (error) => {
console.log('Error: ', error)
})
`
Inside then, response object contain response.data and response.response as full faw response from Amazon.$3
##### getVariations('asin1', params)
`
console.log(' ===== search result =====')
const resourceList = parameters.getVariationSummaryapi.getVariations("B079JD7F7G", {
parameters: resourceList,
condition: condition.Any
}).then((response) => {
console.log('data', response.data)
}, (error) => {
console.log('Error: ', error)
})
`$3
##### getBrowseNodes(['asin1'], params)
`
console.log(' ===== getBrowserNode =====')
const resourceList = parameters.getBrowserNodesapi.getBrowseNodes(['284507'], {
parameters: resourceList
}).then((response) => {
console.log('data', response.data)
}, (error) => {
console.log('Error: ', error)
})
``