alefiori82 / amazon-paapi5

Amazon Product Advertising API 5.0 wrapper for Python
MIT License
30 stars 4 forks source link
amazon python3

Amazon Product Advertising API 5.0 wrapper for Python

A simple Python wrapper for the last version of the Amazon Product Advertising API. This module allows to get product information from Amazon using the official API in an easier way. Like Bottlenose you can use cache reader and writer to limit the number of api calls.

PyPI Python GitHub Support Amazon API PyPI - Wheel Documentation Status

Features

Installation

You can install or upgrade the module with:

pip install amazon-paapi5 --upgrade

Usage guide

Search items::

from amazon.paapi import AmazonAPI
amazon = AmazonAPI(KEY, SECRET, TAG, COUNTRY)
products = amazon.search_items(keywords='harry potter')
print(product['data'][0].image_large)
print(product['data'][1].prices.price)

Get multiple products information::

from amazon.paapi import AmazonAPI
amazon = AmazonAPI(KEY, SECRET, TAG, COUNTRY)
products = amazon.get_items(item_ids=['B01N5IB20Q','B01F9G43WU'])
print(products['data']['B01N5IB20Q'].image_large)
print(products['data']['B01F9G43WU'].prices.price)

Get variations::

from amazon.paapi import AmazonAPI
amazon = AmazonAPI(KEY, SECRET, TAG, COUNTRY)
products = amazon.get_variations(asin=['B01N5IB20Q','B01F9G43WU'])

Get browse nodes::

from amazon.paapi import AmazonAPI
amazon = AmazonAPI(KEY, SECRET, TAG, COUNTRY)
browseNodes = amazon.get_browse_nodes(browse_node_ids=['473535031'])

Use cache reader and writer::

from amazon.paapi import AmazonAPI

DATA = []

def custom_save_function(url, data, http_info):  
    DATA.append({'url':url, 'data': data, 'http_info':http_info}) 

def custom_retrieval_function(url):  
    for item in DATA:  
        if item["url"] == url: 
            return {'data':item['data'], 'http_info': item['http_info']}  
    return None

amazon = AmazonAPI(KEY, SECRET, TAG, COUNTRY, CacheReader=custom_retrieval_function, CacheWriter=custom_save_function) 
products = amazon.search_items(keywords='harry potter')

Changelog

Version 1.1.2
    - License MIT
Version 1.1.1
    - add additional parameters to api calls
Version 1.1.0
    - CacheReader and CacheWriter available for all the search functions
    - Defintion af AmazonException to get exceptions during the api calls
    - Constants defintion
    - AmazonProduct and AmazonBrowseNode definition
    - Uniform data structure returned by all the api calls
Version 1.0.0
    - CacheReader and CacheWriter
    - Enable throttling
Version 0.1.0
    - First release

Buy Me A Coffee