Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use Amazon Selling Partner API (SP-API) Product Pricing for production offer retrieval. Call getItemOffers when you have an ASIN and getListingOffers when you have a seller SKU. Both require marketplace and condition context, and both return offer data rather than an isolated number. Amazon’s Product Advertising API (PA-API) can return offer listings and summaries through GetItems, but its documentation says PA-API is deprecated on May 15, 2026 and directs developers to Creators API, so confirm your migration and eligibility before starting new work.

Which Amazon endpoint should you use?

Your identifier determines the SP-API operation:

What you have Operation Scope Reference endpoint Documented default limit
An ASIN getItemOffers Lowest-priced offers for one item across merchants in the selected marketplace GET https://sellingpartnerapi-na.amazon.com/products/pricing/v0/items/{Asin}/offers 0.5 requests/second, burst 1
A seller SKU getListingOffers Lowest-priced offers for one seller’s listing GET https://sellingpartnerapi-na.amazon.com/products/pricing/v0/listings/{SellerSKU}/offers 1 request/second, burst 2
Catalog item IDs through an advertising/creator integration PA-API GetItems Offer listings and summaries when the required resources are requested Use the current PA-API or Creators API documentation for your marketplace Not stated in the material available here

The two SP-API operations are not interchangeable. getItemOffers is the ASIN route; getListingOffers is qualified by your seller ID and SKU. A SKU that means “blue shirt” in one seller account does not identify another seller’s listing.

What an offer response can tell you

Official offer resources can contain more than a sale price. Depending on operation, marketplace, condition, customer type and requested resources, expect fields such as:

  • Displayed price and savings or deal information.
  • Merchant or seller identity.
  • Item condition and availability.
  • Delivery-related information.
  • Buy-box status.
  • Offer counts and summary prices.
  • Loyalty-point information where OffersV2 resources expose it.

Do not collapse these into one “Amazon price.” Store the marketplace ID, currency, condition, customer type, merchant, fulfillment or delivery context when returned, and the retrieval timestamp with every observation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Sale
Tera Barcode Scanner Wireless 1D Laser Cordless Barcode Reader with Battery Level Indicator, Versatile 2 in 1 2.4Ghz Wireless and USB 2.0 Wired
  • Larger battery enables longer continuous usage and twice the stand-by time. With the unique battery indicator light showing the remaining battery level, no more Low Battery Anxiety.
  • The curved handle is extended and widened. With specially designed smooth and flat trigger for a better grip.
  • The orange anti shock silicone protective cover can prevent scratches and friction even when dropped from up to 6.56 feet. IP54 technology protects the wireless barcode scanner from dust.
  • Plug and play with the USB receiver or the USB cable, no driver installation needed. Easy and quick to set up. Wireless transmission distance reaches up to 328 ft. in barrier free environment.
  • Supports almost all 1D Barcodes: Febraban Bank Code, Codabar, Code 11, Code93, MSI, Code 128, EAN-128, Code 39, EAN-8, EAN-13, UPC-A, ISBN, Industrial 25, Interleaved 25, Standard 25, Matrix. Reads damaged, fuzzy, reflective and smudged barcodes.

Required context: marketplace, condition and customer type

Marketplace

Pass the destination marketplace as MarketplaceId. A US price cannot be compared directly with a UK or Japanese price: currency, tax treatment, delivery cost and inventory differ. Build comparisons per marketplace first, then normalize currency and landed cost in a separate step.

Condition

ItemCondition is required by the SP-API offer endpoints. Keep New, Used or another supported condition separate in your data model. A low used offer is not a lower new-offer price.

Customer type

Where supported, CustomerType distinguishes consumer and business offers. Request and label the correct audience; business pricing may not be comparable with consumer checkout pricing.

Seller scope

Use getItemOffers for a market-wide view of an ASIN’s lowest offers. Use getListingOffers when your application must monitor one seller’s SKU listing.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Authentication and prerequisites

SP-API requests require an eligible Amazon developer or selling-partner setup, a marketplace accessible to that account, Login With Amazon (LWA) access-token handling and AWS Signature Version 4 signing. The examples below show the HTTP request shape; replace the placeholders with a request signed by your own SP-API client. A bare request with only a URL will normally fail authentication.

Rank #2
WoneNice USB Laser Barcode Scanner Wired Handheld Bar Code Scanner Reader Black
  • Plug and play, This laser handheld barcode scanner has simple installation with any USB port and Ideal for businesses, shops and warehouse operations. Its function is unbeatable and easy to use, design is stylish
  • Compatible with Windows, Mac, and Linux; works with Word, Excel, Novell, and all common software
  • Scanning Speed: 200 scans per second. Scanning angle: Inclination angle 55°, Elevation angle 65°. Operational Light Source:Visible Laser 650-670nm.
  • Decode Capability: Code11, Code39, Code93, Code32, Code128, Coda Bar, UPC-A, UPC-E, EAN-8, EAN-13, ISBN/ISSN, JAN.EAN/UPC Add-on2/5 MSI/Plessey, Telepen and China Postal Code,Interleaved 2 of 5, Industrial 2 of 5, Matrix 2 of 5, etc ; 300 configurable options for prefix, suffix and termination strings, support turn on/off the beep.
  • Color: Black. Dimensions: 3.6 x 2.6 x 6.1 inches. Type of Cable: 2M or 6ft straight cable. Shock: 1.5m drop on concrete surface. Regulatory Approvals: FCC CE.
  • Confirm that your account and application are approved for Product Pricing operations.
  • Identify the seller ID when using a listing SKU.
  • Keep LWA refresh tokens and AWS credentials out of source control.
  • Use the regional SP-API host that matches the marketplace and your application configuration; the NA host shown in the reference is not universal.
  • Inspect x-amzn-RateLimit-Limit when Amazon returns it instead of assuming every account has the same quota.

Retrieve lowest offers for an ASIN with SP-API

cURL request shape

This command targets the US marketplace and new consumer offers. The authorization value must be generated with SP-API’s LWA and SigV4 process.

curl --request GET 
  'https://sellingpartnerapi-na.amazon.com/products/pricing/v0/items/B000123456/offers?MarketplaceId=ATVPDKIKX0DER&ItemCondition=New&CustomerType=Consumer' 
  --header 'x-amz-access-token: YOUR_LWA_ACCESS_TOKEN' 
  --header 'x-amz-date: 20260930T000000Z' 
  --header 'Authorization: YOUR_SIGV4_AUTHORIZATION_HEADER'

Replace B000123456, marketplace, condition and customer type with values valid for your account. Save the complete response and retrieval time; the lowest offer can change between calls.

Python with requests

import requests

endpoint = "https://sellingpartnerapi-na.amazon.com/products/pricing/v0/items/B000123456/offers"
params = {
    "MarketplaceId": "ATVPDKIKX0DER",
    "ItemCondition": "New",
    "CustomerType": "Consumer",
}
headers = {
    "x-amz-access-token": "YOUR_LWA_ACCESS_TOKEN",
    "x-amz-date": "20260930T000000Z",
    "Authorization": "YOUR_SIGV4_AUTHORIZATION_HEADER",
}

response = requests.get(endpoint, params=params, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data)

In production, generate the date and SigV4 authorization immediately before sending. Treat HTTP 429 responses as throttling, not as an empty offer set.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Node.js

const endpoint = new URL(
  "https://sellingpartnerapi-na.amazon.com/products/pricing/v0/items/B000123456/offers"
);
endpoint.search = new URLSearchParams({
  MarketplaceId: "ATVPDKIKX0DER",
  ItemCondition: "New",
  CustomerType: "Consumer"
});

const response = await fetch(endpoint, {
  headers: {
    "x-amz-access-token": "YOUR_LWA_ACCESS_TOKEN",
    "x-amz-date": "20260930T000000Z",
    "Authorization": "YOUR_SIGV4_AUTHORIZATION_HEADER"
  }
});
if (!response.ok) throw new Error(`${response.status} ${await response.text()}`);
const data = await response.json();
console.log(data);

Retrieve offers for a seller SKU

The listing operation has a different path and seller qualification. URL-encode a SKU when it contains spaces, slashes or other reserved characters.

curl --request GET 
  'https://sellingpartnerapi-na.amazon.com/products/pricing/v0/listings/YOUR_SELLER_SKU/offers?MarketplaceId=ATVPDKIKX0DER&ItemCondition=New&CustomerType=Consumer' 
  --header 'x-amz-access-token: YOUR_LWA_ACCESS_TOKEN' 
  --header 'x-amz-date: 20260930T000000Z' 
  --header 'Authorization: YOUR_SIGV4_AUTHORIZATION_HEADER'

The listing reference says this operation returns the lowest-priced offers for one SKU listing. Because the SKU belongs to a seller account, include the correct seller context in your signed request and storage key.

Rank #3
Sale
Eyoyo EYH2 Handheld USB Wired 2D 1D Barcode Scanner for POS Mobile Payment
  • Continuous Usage All Day: The EY-H2 USB barcode scanner is designed to always be ready for the next scan, which significantly reduces downtime and repair costs; it shortens checkout lines, improves customer service, and boosts business productivity
  • Plug and Play: Eyoyo wired barcode scanner is connected via a USB cable, with no need to install any driver or software; It offers effortless connection and is compatible with Windows, Mac, Android, and Linux; Seamlessly works with Quickbook, Word, Excel, Novell, and all common software
  • Supports Multiple 1D/2D Barcodes: Eyoyo QR code scanner scan with most 1D 2D barcodes with ease; 1D Barcodes: EAN, UPC, Code 39, Code 93, Code 128, UCC/EAN 128, Codabar, Interleaved 2 of 5, ITF-6, ITF-14, ISBN, ISSN, MSI-Plessey, GS1 Databar, Code 11, Industrial 25, Matrix 2 of 5, etc. 2D Barcodes: QR, DataMatrix, PDF417, and so on
  • Supports Screen Scanning: The Eyoyo 2D scanner is capable of reading barcodes from smartphone screens, such as mobile coupons, digital wallets, and digital loyalty cards; Before scanning, simply turn your screen brightness to the maximum
  • Sturdy Anti-Shock and Durable Design: The Eyoyo 2D barcode scanner features an ergonomic design made of high-quality ABS, enabling it to withstand repeated drops from 5 ft/1.5 m high onto the concrete ground; The durable plastic material ensures a long service life

Using PA-API GetItems or moving to Creators API

PA-API’s GetItems operation can return offer listings and summaries when you request the appropriate resources. Documented examples include Offers.Listings.Price, Offers.Listings.MerchantInfo, Offers.Summaries.HighestPrice, Offers.Summaries.LowestPrice and Offers.Summaries.OfferCount. Condition and merchant filters may be available, but support varies by operation and locale.

{
  "ItemIds": ["B000123456"],
  "Resources": [
    "Offers.Listings.Price",
    "Offers.Listings.MerchantInfo",
    "Offers.Summaries.LowestPrice",
    "Offers.Summaries.HighestPrice",
    "Offers.Summaries.OfferCount"
  ]
}

Amazon’s PA-API documentation states that PA-API will be deprecated on May 15, 2026 and points developers to Creators API. Since that date is now past, do not assume a new PA-API integration will be accepted or remain available. Check the current Creators API documentation, account eligibility and marketplace coverage before committing architecture. If you already have PA-API code, isolate the offer-resource mapping so a migration does not rewrite your comparison database.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Build a reliable price-comparison pipeline

1. Normalize the request key

Use a composite key such as marketplace, identifier type, ASIN or seller SKU, condition, customer type and currency. This prevents a US-New observation from overwriting a UK-Used observation.

2. Preserve every merchant offer

Keep merchant identity, availability, delivery details, deal or promotion fields and buy-box status when present. Calculate a lowest price only after deciding whether shipping, taxes, coupons or business pricing belong in your comparison.

3. Timestamp and expire observations

Offer data is volatile. Store retrieval time and source operation, and show users when a value was last observed. Never present yesterday’s cached value as a live checkout quote.

Rank #4
NETUM Bluetooth Barcode Scanner, Support 2.4G Wireless & Bluetooth & Wired
  • Widely Compatible: Bluetooth Barcode Scanner for iPhone iPad Android Tablet PC, Support HID / SPP / BLE mode via bluetooth, Work with Windows XP/7/8/10, Mac OS, Windows Mobile, Android OS, iOS, Linux.
  • Strong Recognition Ability: With the 2500 pixels high-resolution CCD sensor Engine, Rapidly decodes all 1D and stacked barcodes (including ISBN book), even worn, damaged or tightly spaced codes. Scan 1D codes directly from paper or screen, such as a computer monitor, smartphone, or tablet, or scan through glass surfaces, plastic shrink wrap, a CCD scanner is likely the best way to go.
  • Automatic Scanning: NT-1228bc barcode scanner have three scanning modes: manual trigger mode, continuous scanning mode and auto-sensing scanning mode. In addition, there is a storage mode. Storage mode can be used when you are out of range of Bluetooth and wireless connectivity. Supports storage of up to 100,000 barcodes. Note: Before use, you need to scan the corresponding setting barcode on the manual.
  • 2600mAh Battery Upgraded: Continuous scanning up to 200,000 times on a full charge. After a full charge the scanner can be used for one month at least, even in warehouses and at pos checkout counters where scanners are frequently used. In libraries and hospitals it can be used even longer.
  • Programmable Configuration: Add custom prefixes/ suffixes, delete characters, Add keyboard keys/ combinations (terminator TAB, CR&LF, Home etc.), Enable or disable the barcode type as you want. Buzzer can be set to mute to allow for a quiet operation.(Note: It does not work with square POS / Divalto / DoorDash / Lightspeed POS system)

4. Handle invalid or inaccessible IDs

PA-API can place invalid or inaccessible item IDs in an Errors container, and response order can change. Match results by returned item ID rather than array position. For SP-API, distinguish authentication, authorization, not-found and throttling errors so a missing item is not recorded as zero offers.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

5. Respect limits

The documented default usage plan is 0.5 requests per second with burst 1 for getItemOffers, and 1 request per second with burst 2 for getListingOffers. Seller-specific higher limits may exist. Queue requests, apply exponential backoff with jitter after 429 responses, and cap retries so a backlog cannot amplify traffic.

Comparing sellers across marketplaces

  1. Fetch each marketplace separately with its own marketplace ID and condition.
  2. Record the response currency and merchant data exactly as returned.
  3. Convert currencies using a rate source appropriate to your business, preserving the original amount.
  4. Decide whether to include shipping, tax, import duty and delivery time; document that rule beside the computed total.
  5. Compare like with like: same ASIN, condition, customer type and fulfillment assumptions.
  6. Display the marketplace and timestamp next to every result.

Without these controls, “lowest seller price” can simply mean “cheapest number in a different country” rather than the cheapest purchasable offer.

Troubleshooting common failures

Symptom Likely cause Fix
401 or 403 Expired LWA token, invalid SigV4 signature, wrong region or missing role permission Refresh the token, sign the exact host/path/query, verify clock accuracy and check application eligibility.
400 validation error Missing or unsupported marketplace, condition or customer type Check required parameters for the operation and locale; remove optional parameters that the target operation does not support.
429 Too Many Requests Requests exceed the usage plan Queue calls, honor backoff, inspect x-amzn-RateLimit-Limit, and reduce duplicate polling.
No offers returned Item is unavailable, inaccessible to the account, or filtered by condition/customer type Check the item or listing in the same marketplace, test the condition explicitly, and log the response’s error or summary container.
Prices look inconsistent Mixed currencies, conditions, shipping or customer types Separate dimensions in storage and normalize landed-cost rules before ranking.
Results change order Offer ranking is dynamic; PA-API may return errors and items in a different order Match by identifier, sort explicitly, and timestamp each retrieval.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Performance, caching and cost decisions

Cache only when your freshness requirement allows it. A short cache can protect the rate limit during repeated page views; a long cache can hide a seller change. Key the cache by every pricing dimension and invalidate it when marketplace, condition or customer type changes.

Batch work in a queue rather than firing parallel requests. Keep a durable retry record and a dead-letter path for items that repeatedly fail. Amazon’s published default limits are throughput limits, not a promise of a particular response time.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
NetumScan USB 1D Barcode Scanner, Handheld Wired CCD Barcode Reader (1)
  • CCD Image Scanning Technology - NetumScan 1D barcode reader is equiped with advanced CCD sensor, which can quick capture 1D codes from paper and screen, including CODE128, UPC/EAN Add on 2 or 5, that can read even deformed barcodes, i.e. smudged, damaged, fuzzy, reflective barcodes, etc. Reading faster and more accurate than laser scanner.
  • Sturdy Anti-shock and Durable Design - Ergonomic design with high-quality ABS making it can support withstand repeated drops from 2m high to the concrete ground, durable to use. Durable plastic material guarantees long service life.
  • Three scanning mode - Key trigger mode + Auto-induction mode + Continuous Mode. There is no need to pull the trigger in auto-sensing mode and continuous scanning. Sometimes the self-sensing scanning function is in the inactive stage, please contact us and be at your service at any time.
  • Supported 1D Bar Code - 1D Decode Capability: UPC-A, UPC-E, EAN-8, EAN-13, ISSN, ISBN, Code 128, GS1-128, Code39, Code93,Code32, Code11, UCC/EAN128, Interleaved 2 of 5, Industrial 2 of 5, Codabar(NW-7), MSI, Plessey, RSS, China Post, etc.
  • Widely Use Range - This NetumScan Handheld USB barcode scanner can be used in supermarkets, convenience stores, warehouse, library, bookstore, drugstore, retail shop for file management, inventory tracking and POS(point of sale), etc.

The supplied endpoint references do not establish a universal per-request price or commercial allowance. Verify current Amazon program terms, account eligibility and marketplace access before budgeting. Do not infer API cost from the retail price shown in an offer response.

Or skip the browser setup

If you need screenshots of an offer dashboard, listing page or audit result rather than raw API JSON, ScreenshotNeo provides a one-call website screenshot API and MCP server. It accepts cookie and consent banners as a visitor and removes more than 60 known consent platforms, newsletter popups and chat widgets before capture; those steps can be disabled. Bot checks, blank pages, timeouts, failed loads and cache hits are not billed, and each response reports the page verdict and billing status.

Call it from a script after you generate a comparison URL (do not place Amazon credentials in a public URL):

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Python:

import requests; r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90); open("shot.webp", "wb").write(r.content)

Node.js:

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' }); const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

See the full parameter list and response headers in the ScreenshotNeo documentation. Its MCP server includes take_screenshot, get_page_info and capture_pdf for Claude, Cursor and other MCP clients. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots, and every feature is on every plan. Create a free ScreenshotNeo account.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Implementation checklist

  • Choose ASIN plus getItemOffers, or seller SKU plus getListingOffers.
  • Send marketplace and condition on every request; set customer type deliberately.
  • Use signed SP-API requests and protect LWA and AWS credentials.
  • Persist merchant, condition, availability, delivery, deal, buy-box and timestamp fields when available.
  • Throttle to the documented defaults and honor 429 backoff.
  • Separate currencies and marketplaces before ranking prices.
  • Validate PA-API-to-Creators-API migration status before starting new PA-API work.

Bottom line

For an ASIN, start with SP-API getItemOffers; for one seller’s SKU, use getListingOffers. Treat every value as marketplace-, condition- and customer-specific offer data, not a timeless Amazon price. PA-API can expose similar resources, but its documented deprecation means new projects should verify Creators API access and migration requirements first.

Frequently Asked Questions

Can I use the lowest returned offer as the buy-box price?

No. Preserve buy-box status when the response supplies it and treat the lowest monetary value as a separate ranking; the cheapest offer is not necessarily the buy-box winner.

Should I poll an ASIN continuously for price changes?

Only at a frequency your documented usage plan supports. Queue requests, cache within your freshness requirement and use backoff rather than tight polling.

Is a seller SKU globally unique on Amazon?

No. A SKU is seller-scoped, which is why getListingOffers is tied to the seller context; store seller ID with the SKU.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What should a comparison UI show when an item ID is invalid?

Show an unavailable or error state tied to that identifier, not a zero-price result. PA-API may return invalid or inaccessible IDs in an Errors container.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.