revolution/laravel-amazon-product-api
Amazon Product Advertising API for Laravel
54,945
80
| Install | |
|---|---|
composer require revolution/laravel-amazon-product-api |
|
| Latest Version: | 4.10.0 |
| PHP: | ^8.3 |
| License: | MIT |
| Last Updated: | Jul 24, 2026 |
| Links: | GitHub · Packagist |
Maintainer: revolution
Amazon Product Advertising API for Laravel
End of active support (2020/06)
The recent Amazon Product Advertising API has become more restrictive and difficult to use.
Although we support the latest Laravel/PHP, it is in maintenance mode with no other development work.
Requirements
- PHP >= 8.3
- Laravel >= 12.0
Installation
composer require revolution/laravel-amazon-product-api
Uninstall
composer remove revolution/laravel-amazon-product-api
Publishing config (Optional)
php artisan vendor:publish --tag=amazon-product-config
.env
AMAZON_API_KEY=
AMAZON_API_SECRET_KEY=
AMAZON_ASSOCIATE_TAG=
AMAZON_HOST=webservices.amazon.com
AMAZON_REGION=us-east-1
Country lists
https://webservices.amazon.com/paapi5/documentation/common-request-parameters.html
Note
Usage
<?php
use Revolution\Amazon\ProductAdvertising\Facades\AmazonProduct;
# string $category, string $keyword = null, int $page = 1
$response = AmazonProduct::search(category: 'All', keyword: 'amazon' , page: 1);
dd($response);
# returns normal array
# string $browse Browse node
$response = AmazonProduct::browse(node: '1');
# string $asin ASIN
$response = AmazonProduct::item(asin: 'ASIN1');
# array $asin ASIN
$response = AmazonProduct::items(asin: ['ASIN1', 'ASIN2']);
# setIdType: support only item() and items()
$response = AmazonProduct::setIdType(idType: 'EAN')->item(asin: 'EAN');
# reset to ASIN
AmazonProduct::setIdType(idType: 'ASIN');
# PA-APIv5 not support EAN?
browse() is not contains detail data.
use Revolution\Amazon\ProductAdvertising\Facades\AmazonProduct;
$response = AmazonProduct::browse(node: '1');
$nodes = data_get($response, 'BrowseNodesResult');
$items = data_get($nodes, 'BrowseNodes.TopSellers.TopSeller');
$asins = data_get($items, '*.ASIN');
$results = AmazonProduct::items(asin: $asins);
# PA-APIv5 not support TopSeller?
Probably, you need try-catch or Laravel's rescue() helper.
use Revolution\Amazon\ProductAdvertising\Facades\AmazonProduct;
try {
$response = AmazonProduct::browse(node: '1');
} catch(ApiException $e) {
}
$response = rescue(function () use ($browse_id) {
return AmazonProduct::browse(node: $browse_id);
}, []);
LICENSE
MIT
Copyright kawax
Related Packages
db1-fpp/laravel-elasticache
Add new cache and session driver to use AWS ElastiCache with auto discovery
1,318
2
aws/aws-sdk-php-laravel
A simple Laravel 9/10/11/12/13 service provider for including the AWS SDK for PH...
40,458,060
1,716
mesingh/amazon-mws-laravel
Use Amazon's MWS web services with Laravel 5.x. Based on przemekperon/amazon-mws...
1,623
2