Docs / Supplier API

Supplier API

Supplier API connects a supplier's catalog API to Suppli, so their stock and cost update every 6 hours without anyone emailing you a spreadsheet. It runs alongs

Illustration coming soon

Supplier API

Supplier API connects a supplier's catalog API to Suppli, so their stock and cost update every 6 hours without anyone emailing you a spreadsheet. It runs alongside email feeds: some suppliers send a CSV by email, others publish an API, and Suppli treats both the same way once the data arrives.

How it differs from an emailed CSV

  • Email CSV: the supplier decides when to send. Suppli reads the file when it lands in your inbox.
  • Supplier API: Suppli asks the supplier's system for the current catalog itself, every 6 hours, and the moment you add the connection.

Both go through the same steps afterwards: matching to your catalog, your stock buffer, pushing to your sales channels, and the same records in Sync logs.

Install it

Open the Marketplace, find Supplier API and press Enable. It then appears in the sidebar, under Suppliers.

Add a supplier

  1. Open Supplier API and fill in Add a supplier API.
  2. Supplier name — how the supplier appears across Suppli, including on the Unmapped SKUs page.
  3. Supplier platform — pick a preset if your supplier has one (it fills in the address and how fields are named). Pick Custom supplier to set these yourself under Advanced.
  4. Connect with — the way your supplier lets you in (see below), and the details for that way only.
  5. Press Add and fetch now. The first fetch starts straight away.

Ask your supplier before you connect. Fetching starts as soon as you add the supplier and repeats every 6 hours. If your supplier needs to approve automated access to their system, get that approval first.

Three ways to connect

  • API key + secret — the best option when your supplier issues one. It does not expire.
  • Username + password — your supplier account login works as the way in. Suppli logs in for you, and logs in again when the session expires: at most once per fetch, so your supplier account can never be locked out by repeated attempts. If the login itself fails (wrong password, account locked, a CAPTCHA or a verification code), fetching pauses and Suppli tells you.
  • Session cookie — paste a session copied from your browser. Useful for a one-off test. Sessions expire; when it does, fetching pauses until you paste a new one or switch to username + password.

Your key, username and password are encrypted. Suppli only ever shows the first four characters followed by ***, and never shows a password at all — not to you, and not to anyone at Suppli.

The first fetch: everything lands in Unmapped SKUs

On the first fetch, every product your supplier lists arrives in Unmapped SKUs with just its SKU and name, under the supplier name you chose. Nothing else from the supplier is stored for products you don't sell.

Map the products you actually sell, the same way as for an email supplier. From the next fetch on, those products get their stock and cost from the supplier automatically.

What a fetch changes on a product you sell

Field On each fetch
Stock and supplier cost Always updated
Title, weight and dimensions Updated from the supplier, unless you have edited them yourself
Barcode and MAP price Never written by a fetch
Description, photo, collections and status Never touched

Anything you edit by hand on a product page is never overwritten by a fetch.

Your supplier's numbers, as they send them

Suppli takes each product's stock, cost, weight and size exactly as your supplier sends them, in the unit your supplier sells. If your supplier sells by the case, "37" means 37 cases, the cost is the price of one case, and the weight and size are the case's. List the product on your channels in that same unit. Suppli never multiplies or divides by a pack size.

Stock and cost are never converted. Weights and sizes given in kg, g, oz, cm, mm or ft are changed to lb and inches, because shipping labels need them that way; that changes only the measuring unit, never what you sell. Weights and dimensions a supplier doesn't publish stay empty; Suppli never fills them with zero.

Everything your supplier sends for a product you sell is kept, every field and column, and shown read-only under From supplier on the product's Catalog page. If a column looks like one Suppli reads but has a different name (say Lenght), Suppli doesn't guess: the run's Sync log and the supplier's page list it so you can fix the name, and its value is still in the product's supplier record. The supplier's product description fills the Catalog description when it's empty; once you edit a description yourself, Suppli never changes it.

Schedule, Fetch now and the countdown

Each connection shows Last fetched (for example "1 second ago") and Next fetch (for example "in 5h 59m"). Fetches run every 6 hours. Fetch now runs one immediately.

Plans and cost

  • Free plan: 1 fetch a month, started with Fetch now. There is no 6-hour schedule. Once the month's fetch is used, the page says when the next one is available (the 1st of next month). A fetch that fails doesn't use it up.
  • Pro: the 6-hour schedule and Fetch now, for up to 5 supplier APIs. Pro includes $5.00 of AI credit a month ($4.70 usable).

Supplier API fetches on Pro are paid from this credit at measured server cost plus 6%; only they can take your balance below $0, down to −$1.00, and that comes off next month's credit.

What a fetch costs is measured, not estimated: the CPU time and peak memory Suppli's server used for that fetch, at the hosting provider's rates ($20 per vCPU per month and $10 per GB of memory per month), plus the same 6% as the rest of your credit. Every fetch and its cost appear on the Billing page.

For example, a fetch that uses 4 CPU-seconds and peaks at 350 MB for 12 seconds costs $0.000047 in server time, or $0.000050 with the 6%. At 4 fetches a day, that is about $0.006 a month.

When your balance reaches −$1.00, Pro fetches pause and Suppli tells you once. They start again when the balance is back above −$1.00, after a top-up or the next monthly credit. If your subscription ends, any balance below $0 is written off.

Statuses and errors

  • Active — the last fetch worked.
  • Pending — the connection is new or its details just changed; a fetch is on its way.
  • Inactive — the last fetch failed. The reason is shown on the connection, with a link to Sync logs.

Suppli rejects a fetch, keeps your existing stock and prices, and tells you in your Inbox when:

  • the supplier answers with an error, times out or sends something that isn't a catalog;
  • the catalog is empty, or every product has stock 0;
  • almost every price comes back as 0 — this usually means the login or session has expired, so fetching pauses until you update the key or login;
  • more than half the products the supplier sent before are suddenly missing.

Every fetch, accepted or rejected, has a row in Sync logs saying what happened, with the numbers behind it (for example "2,604 of 2,661 items had cost 0").

Removing a supplier API

Remove stops fetching and deletes the connection and its unmapped SKUs. Products you already mapped stay in your catalog with their last stock.