zhlhuang / keepa_php_api
API Framework for Keepa.com
Installs: 6
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 30
pkg:composer/zhlhuang/keepa_php_api
Requires
- php: >=7.1
- ext-curl: *
- ext-json: *
- netresearch/jsonmapper: ^3.0
Requires (Dev)
- phpunit/phpunit: ^10.5
This package is auto-updated.
Last update: 2026-01-08 08:21:05 UTC
README
Keepa API Framework
This framework is intended for users of the Keepa API.
Requirements
All needed requirements (php version/external libraries) you find in can find in composer.json or on packagist
Features
- Parses API response to easy to use PHP objects
- Provides methods that facilitate the work with price history data
Composer
composer require zhlhuang/keepa_php_api:*
Quick Example
Make an API request
<?php /* maybe required - depends if youre using a framework which automaticly loading this file require_once "vendor/autoload.php"; */ use Keepa\API\Request; use Keepa\API\ResponseStatus; use Keepa\helper\CSVType; use Keepa\helper\CSVTypeWrapper; use Keepa\helper\KeepaTime; use Keepa\helper\ProductAnalyzer; use Keepa\helper\ProductType; use Keepa\KeepaAPI; use Keepa\objects\AmazonLocale; $api = new KeepaAPI("YOUR_API_KEY"); $r = Request::getProductRequest(AmazonLocale::DE, 0, "2015-12-31", "2018-01-01", 0, true, ['B001G73S50']); $response = $api->sendRequestWithRetry($r); switch ($response->status) { case ResponseStatus::OK: // iterate over received product information foreach ($response->products as $product){ if ($product->productType == ProductType::STANDARD || $product->productType == ProductType::DOWNLOADABLE) { //get basic data of product and print to stdout $currentAmazonPrice = ProductAnalyzer::getLast($product->csv[CSVType::AMAZON], CSVTypeWrapper::getCSVTypeFromIndex(CSVType::AMAZON)); //check if the product is in stock -1 -> out of stock if ($currentAmazonPrice == -1) { echo sprintf("%s %s is currently not sold by Amazon (out of stock) %s",$product->asin,$product->title,PHP_EOL); } else { echo sprintf("%s %s Current Amazon Price: %s %s",$product->asin,$product->title,$currentAmazonPrice,PHP_EOL); } // get weighted mean of the last 90 days for Amazon $weightedMean90days = ProductAnalyzer::calcWeightedMean($product->csv[CSVType::AMAZON], KeepaTime::nowMinutes(),90, CSVTypeWrapper::getCSVTypeFromIndex(CSVType::AMAZON)); } else { } } break; default: print_r($response); }