What the Selling Partner API is, and what it replaced
Every serious tool that touches your Amazon account, from repricers to accounting exports to an order alert app, talks to the same place: the Selling Partner API, usually shortened to SP-API. An app only ever sees what you have authorised it to see.
It is also fairly new. Its predecessor was Amazon Marketplace Web Service, MWS for short. Amazon announced the end of it on the Seller Forums: "SP-API will fully replace MWS, and we are migrating developers to SP-API as we work to deprecate MWS", with the hard date that MWS "will no longer be available after March 31, 2024". If an older guide tells you to generate MWS keys, it is describing a system that no longer exists.
There is no single Amazon Seller Central API
People search for "Amazon Seller Central API" as though it were one thing. It is a family: an Orders API for orders, a Sales API for daily totals, a Reports API for the flat files you can also download by hand, a Notifications API for push messages, a Finances API for transactions. An order alert app touches three of them at most.
SP-API is also split by region. Europe, North America and the Far East are separate endpoints with separate authorisations, which is why an app asks you to connect once for Europe and again for North America if you sell in both. That is the technical reason behind the account structure in selling across several Amazon marketplaces.
What a seller grants when an app connects
Access is not a password. You land on a consent page on Amazon's own domain, you see which roles the app asks for, and you tap Confirm. Your login details never pass through the app.
Roles are the part worth reading. Amazon describes the one an order app needs like this: "The Inventory and Order Tracking role provides access to operations that analyze and manage inventory." It covers reading orders and subscribing to ORDER_CHANGE. Roles that expose buyer names and addresses are a separate, restricted category with a heavier review, and an alert app has no reason to ask for them.
Two facts sellers rarely hear. Authorisation is not permanent: Amazon states that "the selling partner must reauthorize your public application every 365 days, or anytime you add a role to your application". And you can end it in a minute in Seller Central under Apps and Services, Manage Your Apps. The full walkthrough is in how to connect an app to Seller Central safely.
ORDER_CHANGE: the message, and the queue behind it
Amazon's Notifications API offers roughly two dozen notification types. The one that matters for orders is ORDER_CHANGE: "The ORDER_CHANGE notification is sent whenever there is an important change in the order. Important changes include order status changes and buyer requested cancelations." An older type called ORDER_STATUS_CHANGE existed, and Amazon's own tutorial says it "have been deprecated" and tells developers to move to ORDER_CHANGE.
Delivery is where most people guess wrong. Amazon does not post to a webhook address of your choosing for this type. It writes into an Amazon SQS queue, a message queue the app operator sets up in its own cloud account and then allows Amazon to write to. Amazon's setup page lists ORDER_CHANGE among the types delivered this way, and adds a constraint that tells you something about the design: "Selling Partner API does not support delivery to FIFO queues. You must use Amazon SQS standard queues to receive notifications."
Standard queues can deliver a message more than once and out of order. That is normal, and it is why a careful app keeps a record of every notification id it has already handled. If an app ever plays the same cha-ching twice, this is usually where it went wrong.

What the payload contains, and what it leaves out
The message is compact and built around the order, not the item. Amazon is explicit: "If you have multiple order items in the order, you will receive consolidated payloads at the order level." One order with four products is one message with four entries inside it, not four alerts.
| In the message | What it tells you |
|---|---|
| AmazonOrderId | The order number you also see in Seller Central |
| OrderStatus | Pending, Unshipped, PartiallyShipped, Shipped, Canceled and a few more |
| MarketplaceId | Which marketplace the sale happened on, for example amazon.de or amazon.com |
| PurchaseDate | When the buyer ordered, which is not when the message was published |
| FulfillmentType | MFN or AFN, in plain words FBM or FBA |
| OrderItems | Per item the seller SKU and the quantity |
What is missing is the part sellers care about most. There is no order total, no item price, no ASIN and no product title. Amazon's solution architects describe ORDER_CHANGE as a trigger to fetch the full order from the Orders API rather than a replacement for it, so an app that shows you an amount has made a second call to get it.
That second call has a limit while the order is fresh. Amazon defines Pending as "The order has been placed but payment has not been authorized", and during that window "the getOrderItems operation does not return information about pricing, taxes, shipping charges, gift status or promotions". Pending usually clears in about half an hour, since "the fulfillable date of an order is usually 30 minutes after the order has been created". So any amount in the first minutes is an estimate. We show ours with a "≈" sign and update it quietly once Amazon releases the real number, for the reasons set out in what a Pending order means for a seller.
One field deserves a note: the payload includes a destination postal code, and Amazon's Data Protection Policy counts a postal code as personally identifiable information. An app that wants no buyer data on its servers throws that field away before anything is stored. Ours does.
Why FBA orders stay silent while they are Pending
This is the part that is not in the documentation, because we only found it by running the whole chain against our own seller account.
What we measured
On 28 August 2026 we ran our order pipeline against our own Amazon seller account (FBA on the European marketplaces, mostly amazon.de).
- 14 orders in one day, 0 missed.
- Median 200 seconds from order to sound on the phone, by asking the Orders API every minute.
- Two separate evening orders arrived in 155 and 136 seconds.
- Amazon sent no ORDER_CHANGE push for any FBA order while it was Pending. The first push came at a later status, and orders stayed Pending for hours.
- New Pending orders sometimes appeared in the Orders API only 10 to 15 minutes after the order was placed, so our poller looks back 30 minutes on every run.
If push is your only channel, an FBA seller hears about a sale once payment is authorised, which on our account was hours after the buyer clicked buy, not seconds. That is why we use three layers, in the opposite order to the one most architecture diagrams suggest.
| Layer | What it does | Typical delay | Weakness |
|---|---|---|---|
| 1. Polling the Orders API | Asks Amazon every minute for orders created in the last 30 minutes | Median 200 seconds from order to phone in our measurement | Up to a minute of waiting by design, and new Pending orders sometimes surface only after 10 to 15 minutes |
| 2. ORDER_CHANGE push through SQS | Amazon publishes a message on each important change | Amazon says "usually trivial (in seconds)", up to 2 minutes on Prime Day | Silent for FBA orders in Pending on our account, and there is no service level |
| 3. Nightly reconciliation | Compares the day against Amazon's order report | Runs at night, because reports take longer to produce | Far too slow to alert you, but it catches whatever the first two layers dropped |
The third layer is not our invention. Amazon asks for it: "As a best practice, we recommend that you have a means to retrieve needed information in the event of an unexpected outage or delay in notification delivery." An app without a backup will quietly lose an order one day and never tell you. How the layers add up in wall clock time is covered in how fast an Amazon order alert can really be.
What this means when you are choosing an app
You do not need to read a line of code to judge an order alert app. Four questions separate the careful ones from the rest.
- Which layers does it use? Push only is the cheapest to build and the one that goes quiet for FBA orders in Pending. Ask whether it also polls, and how often.
- Does it count what it missed? A backup layer is only worth something if the result is visible. Our app shows a missed order count with a target of zero, and every alert shows how long it was in transit.
- Which roles does it ask for? You see them on the consent page before you confirm. One read only role is enough. A request for buyer addresses on an alert app is a reason to stop.
- What does it store? The payload contains a postal code, and Amazon treats that as buyer data. Ask whether it is discarded, and how fast everything goes when you disconnect.
If you are still weighing up whether you need a third party app at all, start with what the official Amazon Seller app does and does not send.
Frequently asked questions
What is the Amazon SP-API?
SP-API stands for Selling Partner API. It is the set of interfaces Amazon publishes so apps can read and manage a seller account with the seller's permission, covering orders, sales totals, reports, notifications and finances. It replaced Amazon Marketplace Web Service, which Amazon said would no longer be available after 31 March 2024. As a seller you never touch it directly; the apps you authorise use it on your behalf.
How do I get order notifications on Amazon?
Seller Central sends order emails under Settings, Notification Preferences, and the official Seller app pushes for FBM orders. For a push on every order, including FBA, you need an app connected through SP-API that subscribes to ORDER_CHANGE and checks the Orders API as a backup. You authorise it on Amazon's consent page and can revoke it under Apps and Services, Manage Your Apps.
How do I get access to the Amazon SP-API myself?
You register as a developer with Amazon first, then register the application. Amazon separates private applications, self authorised for your own account, from public applications, which "are publicly available and are authorized by sellers or by vendors using OAuth" and go through a longer review. Most sellers never need this, because the app they install has already done it.
What does the Amazon SP-API cost?
Amazon's registration documentation lists no price for using the SP-API itself. What you pay are the normal costs of selling, such as the Professional selling plan and referral fees, plus your own cloud costs for the queue and the servers reading it if you build the integration yourself. Check Amazon's current fee page, since selling costs differ by category and country.
Sources
- https://developer-docs.amazon.com/sp-api/docs/notification-type-values
- https://developer-docs.amazon.com/sp-api/docs/tutorial-subscribe-to-order-change-notification
- https://developer-docs.amazon.com/sp-api/docs/set-up-notifications-with-amazon-sqs
- https://developer-docs.amazon.com/sp-api/docs/notifications-api
- https://developer-docs.amazon.com/sp-api/docs/orders-api-v0-reference
- https://developer-docs.amazon.com/sp-api/docs/report-type-values-order
- https://developer-docs.amazon.com/sp-api/docs/role-mappings-for-types
- https://developer-docs.amazon.com/sp-api/docs/roles-in-the-selling-partner-api
- https://developer-docs.amazon.com/sp-api/docs/renew-authorizations
- https://developer-docs.amazon.com/sp-api/docs/sp-api-registration-overview
- https://developer-docs.amazon.com/sp-api/docs/data-protection-policy
- https://github.com/amzn/selling-partner-api-samples/discussions/104
- https://sellercentral.amazon.com/seller-forums/discussions/t/6403cff0d2c92b4ef066d93210fe51a3



