Services
Custom software developmentUmbraco developmentWeb developmentCRM developmentERP developmentAI & LLM integration.NET development & modernizationE-commerce developmentIntegrations & automationCloud & DevOpsMaintenance, support & project rescueDedicated teams & white-label
Our Work
Case studiesProducts
About Blog Contact
Amazon SP-API integration

Amazon SP-API integration for sellers who make, source or ship their own goods.

Seller Central shows you orders. It does not open a print job, check a buyer’s file, reorder blanks or tell you what a product really earned. We build that layer on the Selling Partner API, around the way your workshop or warehouse actually runs.

What we build on SP-API

The work that starts after an order is placed.

Each item links to the client project where we built it. Most sellers start with order import and routing, then add stock and profit once the orders flow.

Order import and routing

Orders from every marketplace land in one list. Each new order is sent to the right production line, warehouse or person by rules your staff can edit.

  • Made-to-order and FBA orders in one feed
  • Ship-by date and buyer files on each job
  • Routing rules edited in the app
See it in Aspect · Amazon Custom orders to print queues

Inventory across marketplaces

Your own blanks or raw stock and your FBA stock in the same view, with a warning before something runs out.

  • Workshop and FBA stock side by side
  • Days-of-cover alerts
  • Draft purchase orders for reorders
See it in Aspect · blanks reordered from daily usage

Profit per product

Revenue is easy to see in Seller Central. Margin is not. We deduct what each sale really costs and show the result per product and per marketplace.

  • Marketplace fees and delivery
  • Ad spend from the Amazon Advertising API
  • Reprints, materials and ink
See it in Aspect · cost waterfall per marketplace

Automation rules

The checks a person used to do on every order become rules that run on their own and stop the order only when something is wrong.

  • Artwork resolution check before printing
  • Automatic request for a better file
  • Orders held with a clear reason
See it in Aspect · 300 dpi minimum enforced

Sourcing and fulfillment

When stock comes from suppliers, the purchase can be part of the order flow: buy, track, receive, bill.

  • Products mapped to suppliers once
  • Tracking numbers imported per order
  • Charges tied to order stages
See it in Peregrine Ship · 1688 sourcing automated

Reports and dashboards

Sales, net profit and the items that need attention on one screen, so the daily check happens in one place instead of a tour of browser tabs.

  • Sales and profit by marketplace
  • Items needing attention first
  • Order timeline and payout per order
See it in Aspect · one dashboard for 7 marketplaces
Client story · print on demand

Aspect: from Seller Central tabs to one workspace built around the print floor.

Aspect has printed custom mugs, shirts, puzzles and canvases in Zhytomyr, Ukraine, since 2000. Most of its sales now come through Amazon Custom, so most orders carry the buyer’s own artwork. Staff downloaded those files by hand, checked their resolution one by one and retyped orders into the workshop’s tracking.

  • Orders from 7 Amazon marketplaces sync through SP-API every 15 minutes, including made-to-order Amazon Custom items and pre-printed FBA stock.
  • A new Amazon Custom order opens a job on the right production line, with the image file, ship-by date and order details attached.
  • Artwork under 300 dpi is held back, and the buyer is asked for a better file automatically.
  • A profit view deducts marketplace fees, delivery, advertising, reprints, blanks and ink from each product’s sales.
  • In the demo scenario, 97% of Amazon Custom orders were routed with no human step.
Amazon SP-APIAmazon Advertising API.NET 8AngularSQL ServerAWS EC2AWS S3AWS SQS
Read the Aspect case
Profit analytics with a cost waterfall and net margin by marketplace
Inventory of workshop blanks and FBA stock with days of cover and reorder status
How an SP-API integration is built

Six parts of the API that shape the design.

These facts come from Amazon’s SP-API documentation, checked in October 2026. Each card links to the page it comes from. They decide how the sync is structured long before the first screen is drawn.

Access

Developer profile and roles

SP-API access is granted by role. A developer requests roles in the developer profile, Amazon approves or denies each one, and an application can only use roles approved for that profile. Calling an operation without the right role returns a 403.

What we do with it: Restricted roles, such as Direct-to-Consumer Shipping, cover operations with personal data and need extra details about data use and security controls.
Auth

Login with Amazon tokens

When a seller authorizes the app, it receives a refresh token. The app exchanges it at the Login with Amazon (LWA) token endpoint for an access token, which is sent in the x-amz-access-token header.

What we do with it: An LWA access token expires one hour after it is issued, so token refresh runs in one place and the result is cached.
PII

Buyer data and the new Orders API

In Orders API v0, operations that return buyer personal data, such as getOrderBuyerInfo and getOrderAddress, need a Restricted Data Token (RDT) from the Tokens API. Orders API v2026-01-01 replaces v0, lets apps skip the Tokens API step for PII, and v0 users must migrate by March 27, 2027.

What we do with it: New work targets Orders API v2026-01-01. We request buyer data only where the flow needs it and keep it out of logs.
Limits

Usage plans and throttling

SP-API rate limits use a token bucket. Tokens refill at a set rate per second up to a burst limit, and each request uses one. Most limits apply per selling partner and application pair. A throttled request gets HTTP 429, which is safe to retry.

What we do with it: The x-amzn-RateLimit-Limit header is not always present, so our client keeps its own limits per operation.
Events

Notifications instead of constant polling

The Notifications API pushes events to an Amazon SQS queue or Amazon EventBridge. ORDER_CHANGE fires on important order changes such as status updates and buyer cancellations. FBA_INVENTORY_AVAILABILITY_CHANGES fires when FBA quantities change. Both use the SQS workflow.

What we do with it: Amazon advises having another way to fetch data in case delivery is delayed, so a scheduled sync still runs alongside.
Reports

Reports are asynchronous

A report is requested with createReport, then checked with getReport until its status is DONE, CANCELLED or FATAL. A DONE report returns a document ID for the data. Reports can also run on a schedule, and REPORT_PROCESSING_FINISHED can signal completion over SQS.

What we do with it: getReport only serves requests created in the last 90 days, so we store report results on our side.
Built to keep running

Sync jobs that survive a busy Monday.

Peak days are when throttling, late events and bad files show up together. This is how we build for them, with the projects where each safeguard runs today.

Every order processed once

We key each imported order on its Amazon order ID and update the existing record when it comes back. A push event and a scheduled sync can see the same order without creating a second job.

ExampleAspect
one print job per Amazon Custom order

Paced to the usage plan

Calls go through a client-side limiter per seller and operation. On a 429 the job waits and retries instead of hammering the endpoint. Sync work runs in background jobs, not on a user’s screen.

ExampleAspect
AWS SQS in the stack

A catch-up sync on a timer

Push events are fast, but Amazon itself advises having another way to fetch data if delivery is delayed. A scheduled pull on a fixed interval fills the gap and keeps stock counts honest.

ExampleAspect
every 15 minutes

Bad input stopped early

Checks run before work starts, not after. A low-resolution file holds the order and the buyer is asked for a better one, so a weak image never reaches the printer.

ExampleAspect
300 dpi minimum

Money at the right step

Charges and cost deductions are tied to real events in the order lifecycle, using real product and shipping values, so balances match what actually happened.

stage-based billing

Settings without a developer

Routing rules, taxes, fees and exchange rates are admin settings with their own history. Changing a rule is a form, not a deployment.

pricing settings with history
Client story · sourcing and fulfillment

Peregrine Ship buys stock for each order without placing it by hand.

Marketplace orders are only half the job when stock comes from suppliers. Peregrine Ship, a Hong Kong logistics company, runs a dropshipping and fulfillment platform. OSKI worked on it from June 2024 to July 2025, with automated sourcing from China’s 1688 marketplace at the center.

  • A sourcing manager links each internal product to its 1688 supplier once, through Factory Connections built on TMApi.
  • The platform places the supplier order, imports the tracking number and updates warehouse stock when goods arrive.
  • Clients pay for sourcing after a purchase succeeds and for shipping once goods are ready to dispatch.

The same pattern fits an Amazon seller who restocks from suppliers. More on this kind of work in logistics software development.

Read the Peregrine Ship case
Peregrine Ship
“They maintained reliability without needing constant oversight, which made the collaboration efficient.”
Executive · Peregrine Ship, Hong Kong · verified Clutch review, July 2025
~30%
of manual order flow automated
~35%
faster fulfillment, per client
0
excess inventory stored
How an SP-API project runs

Access first, then the order flow.

The slowest part of an Amazon project is often not the code. It is waiting on role approval or finding out late that a field you need sits behind a restricted operation. We check both at the start.

Related: e-commerce development for the wider order and fulfillment back office, integrations and automation for other systems, and QuickBooks integration when sales and costs need to reach the books. If the back office itself needs replacing, see ERP development and our guide to a two-way QuickBooks sync for a custom ERP.

C# / .NET 8ASP.NET CoreAngularSQL ServerAWS EC2AWS S3AWS SQSAmazon SP-APIAmazon Advertising API
  1. Map one order end to end

    From the moment a buyer pays on Amazon to the moment the parcel ships and the margin is known. Each manual step, file download and spreadsheet goes on the list.

  2. Sort out access early

    Developer profile, roles, and whether any restricted roles are needed for buyer data. Approval is Amazon’s decision, so it starts before the build, not after.

  3. Agree the rules

    Routing rules, stock thresholds, which costs go into the profit view and who is alerted when an order is held. You approve them before we write code.

  4. Build the highest-cost step first

    Usually order import and routing. Then stock, then profit. Each phase is demoed on real orders from your account.

  5. Run and adjust

    Amazon changes APIs, fees and usage plans. We support the integration in production and update it when they do.

SP-API FAQ

Amazon SP-API questions we hear most.

Anything missing? Send us your question and an engineer will answer, usually within one business day.

Contact us
Should we build on SP-API or use a third-party seller tool?+

If an existing tool covers your flow, start there. It is cheaper. A custom SP-API integration makes sense when your process is specific to you: personalized orders that become production jobs, your own routing rules, a profit view that includes your materials and reprints, or a link to your own ERP or supplier. Aspect needed all four, which is why its platform is custom.

Who registers as the SP-API developer, us or you?+

We recommend the seller’s own company holds the developer profile and the credentials, so access stays with you. Amazon describes private developers as those who build applications that integrate only their own company. Registration starts in Seller Central under Apps and Services, then Develop Apps, or in the Solution Provider Portal for migrated accounts. We help prepare the role requests, including restricted roles if buyer data is needed.

Can one integration cover several Amazon marketplaces?+

Yes. For Aspect, orders from 7 Amazon marketplaces in the US, UK and EU sync into one dashboard every 15 minutes. Plan for differences per region: Amazon notes that usage plans can vary by store and region.

Do you also connect Shopify or other stores?+

We have no Shopify case to show yet. We have shipped WooCommerce work for ProdUp, and our order and stock logic is not tied to Amazon. If you sell on Shopify too, we will review its API against your flow before we quote, and tell you plainly if we see a risk.

Can the system order stock from suppliers automatically?+

Where the supplier has an API, yes. For Peregrine Ship the platform places orders through the 1688 marketplace API, imports tracking numbers and updates stock on arrival. About 30% of the manual order flow was replaced by automated actions.

How long does an SP-API project take?+

It depends on four things: whether Amazon has approved the roles you need, how many marketplaces and order types you sell, how much logic sits between the order and the shipment, and which other systems must connect, such as a supplier or QuickBooks. After we map one order and review access, you get a fixed estimate for the first phase.

Who owns the code and the Amazon credentials?+

You do. Code, databases and API credentials live in your accounts, with full IP assignment in the contract. We charge for the work, not per order or per marketplace.

Start a project

Tell us which marketplaces you sell on and what happens after an order lands. We will show you what can run on its own.

A spec, a Figma file or three paragraphs is enough to start.

  1. First reply · from an engineer, not a sales rep
  2. 30-min call · with Roman, our CTO, to clarify scope
  3. After the call · a written proposal with plan, team and price
Roman Oleksuk
Roman Oleksuk, CTOPrefer to talk? Pick a slot in Roman's calendar
We reply from a human mailbox. No newsletters. Your brief stays under NDA on request. We use your details only to reply; see our privacy policy.