Topic

Amazon SP-API

Getting access, staying authorized, and pulling data out of Amazon's Selling Partner API without tripping over its quirks — reports, tokens, rate limits, order data, and the deprecations coming down the line.

15 guides, written from real builds.

SP-API is the interface to a seller's own operational data — orders, fees, settlements, reports. The hard part is almost never the HTTP call. It is that a successful request depends on four separate things agreeing — the role granted to your app, the regional endpoint you hit, the seller authorisation behind the refresh token, and sometimes a second short-lived token on top of the first — and when any one of them is wrong, Amazon returns the same 403 for all of them.

The five things that actually go wrong

  • Auth is layered, not single. Credentials, roles, region and seller consent are four failure points wearing one error message.
  • The useful data is asynchronous. Reports make you create a job, poll it, fetch a document, then decompress what comes back.
  • Field names overpromise. A column called net proceeds is not profit, and a list price is not the price the buyer paid.
  • Identifiers are less unique than they look. Assumptions you bake into a schema surface as corruption months later.
  • The surface moves. Endpoints you depend on already have published removal dates.

Getting in, and staying in

If you only need your own account, the short path is creating an app client under Develop Apps in Seller Central — pick roles, take the Client ID and Secret, self-authorize, keep the refresh token. If other sellers will authorize your app, you need a verified developer profile first, and the Solution Provider Portal walkthrough covers registration, LWA credentials, redirect URIs and the OAuth handoff. When a call that should work returns access denied, work through the eight causes of an SP-API 403 in triage order rather than regenerating tokens. Buyer name coming back null is a different mechanism: that is PII gating, and the Restricted Data Token flow explains the roles, the app-level gate and the dataElements trap.

Pulling data out

Start with the four-step Reports pattern: create, poll, fetch document, decompress. Most broken integrations either expect rows back from the create call or poll themselves into a throttle. In Data Kiosk, the economics dataset writeup shows why costOfGoodsSold is null on every row and what net proceeds actually adds up to. For Amazon Custom sellers, buyer personalisation text is not in getOrders at all — it sits behind a restricted endpoint, inside a ZIP, with a payload version that silently drops the text.

When the numbers don't agree

Right order count, wrong revenue is the classic support ticket, and the seven ways a dashboard drifts from Seller Central map each SP-API figure to its Seller Central counterpart and give you a reconciliation loop. Before that, check your schema: an order ID identifies a buyer's order, not a row you own, so a UNIQUE constraint on it loses real orders once you sync a second seller account. And put the deprecation calendar in your roadmap — settlement flat files go first in November 2026, then Orders v0, then Finances v0.

The gaps

Part of the job is building what Amazon does not offer. There is no seller demand-forecast endpoint, so you compute velocity from your own order history. Buy Shipping does not cover international shipments, and exporting cross-border means going straight to a carrier and rebuilding what Buy Shipping gave you, seller protection included. Review requests do have an API, though the Solicitations endpoint needs a role you probably lack and a delivery window you cannot observe. On the 1P side, the vendor family covers retail analytics, purchase orders, ASNs and invoices. And for listing content, generating copy from the actual product photographs beats generating it from a title.

The triage orders, formulas and schemas here came out of client builds rather than docs reads. Building this sort of integration is the work I take on.

The SP-API Reports Pattern Everyone Gets Wrong (Async, Step by Step)

Amazon SP-API

8 min read

The SP-API Reports Pattern Everyone Gets Wrong (Async, Step by Step)

The SP-API Reports API is asynchronous — request, poll, download, decompress — and most broken integrations either treat it like a synchronous call or poll it straight into a throttle. Here's the correct four-step flow, the status states that trip people up, and the gzip gotcha at the end.

Amazon Vendor Central API: What 1P Vendors Can Actually Automate

Amazon SP-API

7 min read

Amazon Vendor Central API: What 1P Vendors Can Actually Automate

Vendor Central (1P) has a real API surface through the SP-API vendor family — retail analytics, purchase orders, shipments, invoices, and direct fulfillment. Here's what's genuinely automatable, what still isn't, and where the fastest wins are for a 1P vendor.

Amazon SP-API 403 Unauthorized: Every Cause and How to Fix It

Amazon SP-API

8 min read

Amazon SP-API 403 Unauthorized: Every Cause and How to Fix It

A 403 "Access to requested resource is denied" from the SP-API almost never means your credentials are wrong — it usually means a role, a token, a region, or an authorization is mismatched. Here are the eight causes that produce a 403, in the order worth checking them, with the exact fix for each.

Amazon Solution Provider Portal (SPP) Setup: Full Guide for Developers (2026)

Amazon SP-API

10 min read

Amazon Solution Provider Portal (SPP) Setup: Full Guide for Developers (2026)

Before you can build an SP-API app that other sellers authorize, you need a verified developer profile in Amazon's Solution Provider Portal. This is the full 2026 walkthrough: developer registration and verification, registering your app, LWA credentials, roles, redirect URIs, and getting a seller to authorize you.

Amazon SP-API Restricted Data Token (RDT) — How to Pull Buyer PII Legally

Amazon SP-API

11 min read

Amazon SP-API Restricted Data Token (RDT) — How to Pull Buyer PII Legally

Your getOrders call returns the buyer name as null. That's not a bug — it's PII protection. Here's the full Restricted Data Token flow: roles, app-level gates, the dataElements gotcha, and a working Python demo that pulls real buyer name + shipping address.

How to Get Amazon SP-API Access (Seller Central) — Step-by-Step

Amazon SP-API

6 min read

How to Get Amazon SP-API Access (Seller Central) — Step-by-Step

SP-API setup is way simpler than Ads API. This guide shows you where to create the app client, pick roles, grab Client ID/Secret, and generate the refresh token.

Amazon Order IDs Are Not Unique (And It Will Corrupt Your Database)

Amazon SP-API

7 min read

Amazon Order IDs Are Not Unique (And It Will Corrupt Your Database)

If you sync orders for more than one Amazon seller account into one database, a UNIQUE constraint on the order ID is a data-loss bug waiting to happen. An Amazon order ID identifies a buyer's order, not a seller's — two of your own accounts can legitimately receive the same one. Here's how the corruption looks, why it hides for months, and the schema that prevents it.

The SP-API Deprecation Calendar: What Breaks in 2026 and 2027

Amazon SP-API

7 min read

The SP-API Deprecation Calendar: What Breaks in 2026 and 2027

Amazon has already announced removal dates for two APIs that sit at the centre of most seller integrations — Orders v0 and Finances v0 — plus the old settlement report formats. None of them break today, which is exactly why they get forgotten. Here are the dates, the replacements, and what actually changes in your code.

Why Your Custom Dashboard Doesn't Match Seller Central

Amazon SP-API

12 min read

Why Your Custom Dashboard Doesn't Match Seller Central

Your order count matches Seller Central exactly but the revenue doesn't. That is almost never a sync bug — it's a definition mismatch. Here are the seven ways marketplace revenue drifts, which SP-API figure maps to which Seller Central figure, and the reconciliation loop that tells you which side is wrong.

How to Get Amazon Custom Personalisation Text from SP-API

Amazon SP-API

8 min read

How to Get Amazon Custom Personalisation Text from SP-API

A buyer typed an engraving on your Amazon Custom listing and your production team needs those exact characters. The text isn't in getOrders — it's behind a restricted endpoint, inside a ZIP, at the end of an expiring URL. Here's the full retrieval path, plus the payload trap that silently drops half the fields.

Amazon Has No Seller Demand-Forecast API — Build Your Own From Velocity

Amazon SP-API

9 min read

Amazon Has No Seller Demand-Forecast API — Build Your Own From Velocity

You want a 30-day demand forecast per SKU so you know what to reorder. There is no SP-API endpoint that gives you one, and the restock report is US-only and being phased out. The good news: you already hold the only data that matters — your own order history. Here's a forecast that is responsive without being twitchy, and the reorder maths that follows from it.

Why Amazon Buy Shipping Doesn't Work for Cross-Border Export (And What It Costs You)

Amazon SP-API

8 min read

Why Amazon Buy Shipping Doesn't Work for Cross-Border Export (And What It Costs You)

If you fulfil Amazon orders from India, Turkey or anywhere else shipping internationally to buyers, Amazon's Buy Shipping is not an option — the Merchant Fulfillment API doesn't cover international shipments. That means buying labels directly from carriers, pushing tracking back yourself, and losing the seller protection that comes with Amazon-bought labels. Here's exactly what you give up and how to compensate.

Automating Amazon's Request a Review Button with the Solicitations API

Amazon SP-API

9 min read

Automating Amazon's Request a Review Button with the Solicitations API

The Request a Review button in Seller Central has an API behind it, and it is the only compliant way to ask for reviews at scale. The catch is a role you almost certainly don't have, a delivery window you can't detect from the order status, and a 403 that actually means success. Here's the whole thing.

Writing Amazon Listing Copy From Product Photos with Claude Vision

Amazon SP-API

8 min read

Writing Amazon Listing Copy From Product Photos with Claude Vision

Most AI listing tools start from a title and a few keywords, which means they describe a product nobody has looked at. Sending the actual product photographs to a vision model changes the output — it can see the material, the finish, the scale and what's in the shot. Here's the pipeline, the compliance gate that has to sit after it, and the parts that still need a human.

Amazon Data Kiosk netProceeds Is Not Profit (Cost of Goods Is Missing)

Amazon SP-API

9 min read

Amazon Data Kiosk netProceeds Is Not Profit (Cost of Goods Is Missing)

Data Kiosk's economics dataset returns netProceeds populated on every row and costOfGoodsSold null on every row. Net proceeds is net sales minus fees minus ad spend, and nothing else. Here is the exact formula, how to verify it against your own account, and why Sponsored Products spend arrives without an Ads API call.

Need this built rather than researched?

Shahzeb Khan runs Databaaba, a one-person studio that builds amazon sp-api integrations for sellers, agencies, and software teams. Every guide here came out of a real client build.

WhatsApp