I've been using the Amazon Product API in Python via this client.
However, I want to get the "landing price" for a given product - the price that Amazon displays prominently, the most competitive price when taking into account both the base price and delivery price. For example if a product has 2 offers such as $1 + $5 delivery vs $3 Free delivery, the landing price would be the $3 and be shown prominently by Amazon as it's the most competitive.
If I use the OfferSummary ResponseGroup of the Amazon Product API, doing response = amazon.lookup(ItemId=asin, ResponseGroup='OfferSummary')
, then I get a response like
<?xml version="1.0"?>
<Item xmlns="http://webservices.amazon.com/AWSECommerceService/2013-08-01">
<ASIN>B072KHRPLF</ASIN>
<ParentASIN>B07CJ6DNF4</ParentASIN>
<OfferSummary>
<LowestNewPrice>
<Amount>7723</Amount>
<CurrencyCode>GBP</CurrencyCode>
<FormattedPrice>£77.23</FormattedPrice>
</LowestNewPrice>
<TotalNew>2</TotalNew>
<TotalUsed>0</TotalUsed>
<TotalCollectible>0</TotalCollectible>
<TotalRefurbished>0</TotalRefurbished>
</OfferSummary>
</Item>
for this product, which has a landing price of £92.08 Free delivery and another offer price of £77.23 + £17.50 delivery (£94.73 in total, and hence not the most competitive and not the landing price, despite having the lowest base price)
As far as I can tell I'd need to use the Amazon MWS API and call the GetCompetitivePricingForASIN
endpoint perhaps, but I believe this needs a $40/month seller account.
Is there any other way to get the landing price? or anyway to do it via the Product API?
This is not possible from PAPI. You either need MWS API, or you can use other free/cheaper third-party alternatives if you just need the landing price.
We use the amazon-price API from RapidAPI, it supports price/rating/review count fetching for up to 1000 products in a single request.