diff --git a/amazon-product-api/amazon-product-api-tests.ts b/amazon-product-api/amazon-product-api-tests.ts
new file mode 100644
index 0000000000..b98e15710f
--- /dev/null
+++ b/amazon-product-api/amazon-product-api-tests.ts
@@ -0,0 +1,84 @@
+///
+///
+
+import amazon = require('amazon-product-api');
+
+var client = amazon.createClient({
+ awsId: process.env.AWS_ACCESS_KEY_ID,
+ awsSecret: process.env.AWS_SECRET,
+ awsTag: process.env.AWS_ASSOCIATE_TAG
+});
+
+
+// Item Search
+
+var searchQuery = {
+ director: 'Quentin Tarantino',
+ actor: 'Samuel L. Jackson',
+ searchIndex: 'DVD',
+ audienceRating: 'R',
+ responseGroup: 'ItemAttributes,Offers,Images'
+};
+
+client.itemSearch(searchQuery).then((results) => {
+ console.log(getResultCount(results) + " search results");
+}).catch(function(err){
+ console.log(err);
+});
+
+client.itemSearch(searchQuery, (err, results) => {
+ if(err) {
+ console.log(err);
+ return;
+ }
+ console.log(getResultCount(results) + " search results");
+});
+
+
+// Item Lookup
+
+var lookupQuery = {
+ itemId: 'B00008OE6I',
+ idType: 'ASIN',
+ responseGroup: 'OfferFull',
+ Condition: 'All'
+};
+
+client.itemLookup(lookupQuery).then((results) => {
+ console.log(getResultCount(results) + " lookup results");
+}).catch(function(err){
+ console.log(err);
+});
+
+client.itemLookup(lookupQuery, (err, results) => {
+ if(err) {
+ console.log(err);
+ return;
+ }
+ console.log(getResultCount(results) + " lookup results");
+});
+
+// Browse Node Lookup
+
+var nodeLookupQuery = {
+ browseNodeId: '2625373011'
+};
+
+client.browseNodeLookup(nodeLookupQuery).then((results) => {
+ console.log(getResultCount(results) + " node lookup results");
+}).catch(function(err){
+ console.log(err);
+});
+
+client.browseNodeLookup(nodeLookupQuery, (err, results) => {
+ if(err) {
+ console.log(err);
+ return;
+ }
+
+ console.log(getResultCount(results) + " node lookup results");
+});
+
+function getResultCount(results: Object[]) {
+ return results != undefined ? results.length : 0;
+}
\ No newline at end of file
diff --git a/amazon-product-api/amazon-product-api.d.ts b/amazon-product-api/amazon-product-api.d.ts
new file mode 100644
index 0000000000..fc84dcc090
--- /dev/null
+++ b/amazon-product-api/amazon-product-api.d.ts
@@ -0,0 +1,27 @@
+// Type definitions for amazon-product-api
+// Project: https://github.com/t3chnoboy/amazon-product-api
+// Definitions by: Matti Lehtinen
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+///
+
+declare module "amazon-product-api" {
+
+ interface ICredentials {
+ awsId: string,
+ awsSecret: string,
+ awsTag: string
+ }
+
+ interface IAmazonProductQueryCallback {
+ (err: string, results: Object[]): void;
+ }
+
+ interface IAmazonProductClient {
+ itemSearch(query: any, callback?: IAmazonProductQueryCallback) : Promise