Topic

Marketplace APIs

What Amazon, Etsy, Walmart, and eBay actually give you — auth models, data gaps, and the integration problems that only show up once you're multi-marketplace.

11 guides, written from real builds.

Marketplace integration is reconciliation work: someone else's model of an order, a shop, a buyer and a credential, mapped onto yours. The second marketplace is where it starts to hurt, because the abstraction you wrote for the first has assumptions baked into it — that a stored refresh token stays valid, that a buyer has a phone number, that orders only ever come into existence — and the next marketplace does not share them.

The four things that go wrong

  • Auth diverges under a shared name. Amazon, Etsy, Walmart and eBay all use OAuth 2.0 on paper. What differs is who owns the credentials, whether the stored secret changes during normal operation, and how long anything lasts.
  • The field you need is not returned. Marketplaces intermediate buyer contact, and something downstream — a carrier, a support desk — demands it anyway.
  • Deletion is invisible. An incremental sync asks what changed. Nothing answers what stopped existing.
  • Concurrency nobody specified. A scheduled worker usually guards against overlapping itself. It rarely guards against a human clicking Sync now in the middle of a run.

Auth first, because it decides your schema

If you are building for more than one marketplace, the four auth models set side by side is the place to start: Amazon's roles and second token for buyer PII, Etsy's mandatory PKCE, Walmart's missing refresh token and headers in place of an Authorization header, eBay's RuName where a redirect URL should go — and then what all of that means for your account schema.

Etsy earns its own guide. Its refresh token rotates on every refresh and kills the previous one, so one failed write or two overlapping syncs can disconnect a shop for good, with only a human re-login to bring it back. Why a working Etsy integration rots after a few weeks covers the crash window, the race between a scheduled pull and a manual Sync now, the fix (cache the access token, refresh only near expiry, lock per shop), and the scope-frozen-at-consent rule that turns adding write access into a re-login.

Then the data gaps

If you are pushing marketplace orders into a carrier, you will hit a required consignee phone that the order payload does not contain — Etsy and Walmart do not return one. What each marketplace actually returns in place of a buyer phone sets out the three options, which one to pick, and why the fallback number's country is not a detail.

If you are building support tooling, stop looking for the endpoint that returns what buyers wrote — Amazon's Messaging API only sends. The email-relay pattern for ingesting buyer messages explains why the read side does not exist, the wrong turns worth skipping (Notifications, scraping), how to match a message to its order and seller account, how to avoid processing the same email twice, and where you cannot reply.

And the slow drift

The last one is structural: every row looks fine and the total is wrong. Rows for orders that no longer exist upstream is about the gap in upsert-only syncs — why the sync cannot see it, why a single 404 is a hypothesis rather than a verdict, why you retire rather than hard-delete, and the sibling bug of pulling an incremental sync on created date.

These are the problems that only show up once you are multi-marketplace, which is why they sit in one place here. Building integrations like these is what I do.

Connect an eBay Seller Account over OAuth (Keyset, RuName, getOrders)

Marketplace APIs

11 min read

Connect an eBay Seller Account over OAuth (Keyset, RuName, getOrders)

Wiring one eBay seller into a custom app end to end: the production keyset, why redirect_uri is the RuName string and not your callback URL, the read-only scopes, token exchange with Basic auth, the ~18-month non-rotating refresh token, and the first getOrders pull.

Amazon vs Etsy vs Walmart vs eBay: Four Marketplace APIs, Four Auth Models

Marketplace APIs

8 min read

Amazon vs Etsy vs Walmart vs eBay: Four Marketplace APIs, Four Auth Models

If you're integrating more than one marketplace, the authentication layer is where your abstraction breaks first. All four use OAuth 2.0 on paper, and no two behave the same way in practice. Here's what actually differs — token lifetimes, rotation, credential ownership — and how those differences should shape your database schema.

No Marketplace Gives You a Real Buyer Phone Number (What to Do Instead)

Marketplace APIs

6 min read

No Marketplace Gives You a Real Buyer Phone Number (What to Do Instead)

Your carrier API rejects the shipment because the consignee phone is missing, and the order payload simply doesn't contain one. That's not a bug in your integration — Etsy and Walmart don't return a buyer phone at all, and Amazon's is a relay number. Here's what each marketplace actually gives you and how to satisfy the carrier without inventing data.

Etsy's Rotating OAuth Refresh Token (and the Sync Race It Creates)

Marketplace APIs

8 min read

Etsy's Rotating OAuth Refresh Token (and the Sync Race It Creates)

Your Etsy integration works for weeks, then a shop quietly stops syncing and only a human re-login fixes it. That is the rotating refresh token: Etsy issues a new one on every refresh and kills the old, so a crashed write or two concurrent syncs orphan the shop. Here is the mechanism, the scheduled-vs-manual sync race, and the cache-plus-lock fix.

There's No API to Read Amazon Buyer-Seller Messages (The Workaround)

Marketplace APIs

9 min read

There's No API to Read Amazon Buyer-Seller Messages (The Workaround)

You went looking for a Selling Partner API endpoint that returns the messages buyers send you, and there isn't one — Amazon's Messaging API only sends. Here's why the read side doesn't exist, and the email-relay ingestion pattern that gets buyer messages into your own app instead, matched to the right order and the right seller account.

Phantom Orders: Your Upsert-Only Sync Never Deletes Anything

Marketplace APIs

7 min read

Phantom Orders: Your Upsert-Only Sync Never Deletes Anything

Marketplace syncs are almost always written as upserts, which means they can create and update rows but can never remove one. When an order disappears upstream — a receipt that starts 404ing, an order that ages out — it lives in your database forever, quietly inflating counts and revenue. Here's how to detect phantoms without deleting real data by mistake.

How to Get Etsy API Access (Open API v3): A Step-by-Step Guide

Marketplace APIs

9 min read

How to Get Etsy API Access (Open API v3): A Step-by-Step Guide

You want to pull your Etsy orders, listings or inventory into your own system. This walks you through the whole thing from nothing: registering an app, the two credentials Etsy gives you, the 5-shop limit nobody warns you about, and the OAuth flow — with the exact errors you will hit and what each one means.

How to Get Walmart Marketplace API Access: A Step-by-Step Guide

Marketplace APIs

7 min read

How to Get Walmart Marketplace API Access: A Step-by-Step Guide

Walmart's API is the easiest of the big marketplaces to get into — no app review, no consent screen, no refresh tokens. But the parts that are different from Amazon and Etsy will cost you an afternoon if nobody tells you first. Here is the whole process, plus the four header rules that make or break every call.

Getting Personalisation Text Out of the Etsy API

Marketplace APIs

6 min read

Getting Personalisation Text Out of the Etsy API

Etsy is refreshingly simple here — the buyer's personalisation arrives inline on the receipt, no extra call and no download. The catches are which field to read, why buyers put engraving instructions somewhere else entirely, and a parsing mistake that silently produces blank personalisation for some orders and correct text for others.

Why Your Shopify Custom App Won't Install on a Client's Store

Marketplace APIs

12 min read

Why Your Shopify Custom App Won't Install on a Client's Store

Your Shopify app installs fine on your own store, then returns a bare HTTP 500 on a client's. The cause is that apps created in a merchant Dev Dashboard organization can only install inside that organization — and the fix, custom distribution from a Partner org, quietly means one app per store. Here is the full failure sequence, the dead ends, and what it does to your schema.

How to Get Shopify API Access: A Step-by-Step Guide (2026)

Marketplace APIs

10 min read

How to Get Shopify API Access: A Step-by-Step Guide (2026)

Connecting to the Shopify Admin API changed twice in 2026, and most guides still describe the removed route. Here is the whole process as it works now — Partner organization, app, scopes, custom distribution, install link, first GraphQL call — plus the two limits that decide what you can actually pull.

Need this built rather than researched?

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