Send products from your own system with the Product API
Create an API key so your stock system, till or website can send products, prices and stock to Hapro.
Updated 24 Oct 2026
If Hapro does not connect to your own stock system, till, website or database, that system can send products, prices and stock to Hapro through the Product API. Someone who can write a little code, such as your developer or your system's supplier, sets it up with an API key you create.
What you need
- A plan with API access. At the moment that is the Pro plan. On other plans, Settings → Developers shows Your plan doesn’t include the Product API, with a link to See plans and upgrade.
- An owner or administrator to create the keys. Developers appears in Settings for them.
Create an API key
- Open Settings → Developers. You are on the API keys tab.
- Select Create an API key.
- Give it a Name that says which system will use it, such as "Stock system" or "Website".
Under What this key can do, tick only what that system needs:
- Read products, to list and read your products.
- Add and change products, to create, update and archive products, and set prices.
- Update stock, to set stock levels at your shops.
- Select Create key.
- Copy the key straight away and give it to whoever is setting up your system. You will not see it again: Hapro keeps only a fingerprint of it. Then select I’ve copied it.
Keep the key out of emails and shared documents. Anyone holding it can change your products. Create a separate key for each system, so you can stop one without affecting the others. A business can have up to 25 keys.
A key acts for your business as the person who created it. If that person later loses the right to change products or stock, or leaves your team, the key stops being able to do it too.
What your system can do
The API reference tab in Settings → Developers lists every call, with examples your developer can copy. In short:
- Add or update products, up to 500 in one call, each with its variants, SKUs, barcodes and prices, and stock if you like. Your system gives each product its own ID, so the next time it sends the same product, Hapro updates it instead of adding a copy. A product you already added by hand or from a spreadsheet, with the same SKUs, is linked rather than duplicated.
- Set stock for up to 1,000 SKU and shop pairs in one call. Each figure replaces the count at that shop, as if you had counted the shelf. A shop is named by its Code or ID; see Manage your locations.
- Set prices for up to 1,000 SKUs in one call.
- Archive a product, which takes it off sale but never deletes it.
- Read products, including only those changed since a given time.
Each product in a call gets its own answer: created, updated, unchanged or failed, with the reason. One bad product never stops the rest.
A new product goes on sale immediately. One without a price above zero is refused, unless your system sends it as a draft.
Products sent through the API
Products your system sends stay yours: you can still edit them in Products. But the next time your system sends a product, what it sends replaces the details your team changed by hand.
Products from a connected store, such as Shopify or WooCommerce, cannot be changed through the Product API. Their store manages them.
Stop a key working
In Settings → Developers, select Revoke next to the key, then Revoke key. Anything using it is refused from that moment. This cannot be undone: to connect that system again, create a new key.