GithubHelp home page GithubHelp logo

amazon-product-api's Introduction

Node.js client for the Amazon Product Advertising API NPM version Dependency Status Build Status

Promise-based Node.js client for Amazon Product Advertising API

NPM

The major differences between this project and other implementations are:

  1. Item search returns an EcmaScript6 promise. (Check out a great article about ES6 promises)
  2. Item search is "yieldable". So it plays well with fantastic next-gen libs such as Koa and Co. See example
  3. The entire codebase is very small (~90 LOC)

Installation

Install using npm:

npm install amazon-product-api

Usage

###Basic usage

Require library

amazon = require('amazon-product-api');

Create client

var client = amazon.createClient({
	awsId: "aws ID",
	awsSecret: "aws Secret",
 	awsTag: "aws Tag"
});

Now you can search for items on amazon like this:

//search for Pulp Fiction dvd offers
client.itemSearch({
	keywords: 'Pulp fiction',
	searchIndex: 'DVD',
    responseGroup: 'ItemAttributes,Offers,Images'
}).then(function(results){
	console.log(results);
}).catch(function(error){
	console.log(error);
});

###Search query options:

condition: availiable options - 'All', 'New', 'Used', 'Refurbished', 'Collectible'. Defaults to 'All'
keywords: Defaults to ''
responseGroup: You can use multiple values by separating them with comma (e.g responseGroup: 'ItemAttributes,Offers,Images'). Defaults to'ItemAttributes'
searchIndex: Defaults to 'All'.

##Example ###Setup your own server that doesn't require signatures and timestamp and returns JSON

koa = require 'koa'
router = require 'koa-router'
amazonProductApi = require 'amazon-product-api' 

app = koa()
app.use router app

client = amazonProductApi.createClient
  awsTag: process.env.AWS_TAG
  awsId: process.env.AWS_ID
  awsSecret: process.env.AWS_SECRET
  
app.get '/amazon/:index', (next) ->*
  try
    searchResults = yield client.itemSearch
      keywords: @request.query.title
      searchIndex: @params.index
      responseGroup: 'ItemAttributes,Offers,Images'
    @body = searchResults
  catch error
    @body = error

app.listen process.env.PORT || 5000

Working demo:
Search for Alien DVDs
Search for Streets of Rage videogame
Search for shoes

amazon-product-api's People

Contributors

t3chnoboy avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.