Zikkio

One repricing API for six platforms

Zikkio reads each connected store’s catalog, one row per variant. Your software decides the prices. Zikkio writes them back in bulk, with a result for every row.

At a glance

Zikkio reads
The catalog, one row per variant
Your software
Decides every price
Zikkio writes
Prices, in bulk, a result per row
Platforms
Price writes on six of seven
Catalog refresh
Daily, or on demand
In production
Pricefy, 25,000 stores

How a repricing run works

Zikkio does the reading and the writing. Your software does the pricing.

GET /v1/connections/con_8f2a/products
Request
curl https://api.zikkio.com/v1/connections/con_8f2a/products?limit=2 \
  -H "Authorization: Bearer zk_live_••••"
Response 200 OK 64 ms · from the cache
{
  "data": [
    { "sku": "TEE-BLK-M", "name": "Black tee · M", "price": 29.90, "stock": 42 },
    { "sku": "TEE-BLK-L", "name": "Black tee · L", "price": 29.90, "stock": 17 }
  ],
  "next_cursor": "eyJvZmZzZXQiOjJ9"
}
YOUR CODE rules, margins, competitor data: all on your side
You receive
{ "sku": "TEE-BLK-M", "name": "Black tee · M", "price": 29.90, "stock": 42 }
You send back nothing reaches Zikkio
{ "sku": "TEE-BLK-M", "price": 27.90 }
PATCH /v1/connections/con_8f2a/prices
Request
curl -X PATCH https://api.zikkio.com/v1/connections/con_8f2a/prices \
  -H "Authorization: Bearer zk_live_••••" \
  -d '{ "updates": [
    { "sku": "TEE-BLK-M", "price": 27.90 },
    { "sku": "TEE-BLK-L", "price": 27.90 },
    { "sku": "MUG-WHT",   "price": 11.90 }
  ] }'
Response 200 OK 1.4 s
{
  "applied": 2,
  "failed": 1,
  "rows": [
    { "sku": "TEE-BLK-M", "status": "applied", "price": 27.90 },
    { "sku": "TEE-BLK-L", "status": "applied", "price": 27.90 },
    { "sku": "MUG-WHT",   "status": "failed",
      "error_code": "sku_not_found" }
  ]
}

What a repricer runs into, already handled

Daily runs across thousands of stores hit these six. Zikkio handles them inside the API.

Truncation guard

An import that would delete more than 90% of a catalog is refused and held for review. The rule exists because it happened once.

Tokens that stay valid

Shopify tokens expire after an hour. Zikkio refreshes them, rotates the refresh token before its 90 days run out and locks the refresh across hosts, so a connected store stays connected.

Million-row catalog cache

Shopify bulk operations, resumable page downloads and retries on 429s and deadlocks keep catalogs with millions of rows complete.

Bulk writes, per-row results

Hundreds of prices in one call and a result for every SKU, on six platforms.

Variants, normalised

One row per variant with the same fields on every platform.

Platform quirks, handled

Magento attribute codes, PrestaShop XML webservices, stores behind Cloudflare: already in the code.

Pricefy runs 25,000 stores on Zikkio

Pricefy reprices e-commerce catalogs for its customers. Every day it reads each store’s catalog through Zikkio, computes new prices and writes them back in bulk, on every platform its customers sell on.

Pricefy is built by the same team as Zikkio.

25,000 stores connected
8M API calls a month
6 platforms with bulk price writes
“The catalog cache and the token handling are the parts we would never want to build again.”
Paul Morell Founder, Pricefy
The pricefy.io home page

Your product can use the same calls, from the first store.

Start for free

Repricing questions

What repricing teams ask before they connect a store.

Does Zikkio compute the prices?
No. Your software decides every price. Zikkio gives it the catalog to work from and writes the result back to the store.
Does Zikkio collect competitor prices?
No. Zikkio reads only the stores your customers connect. If your product uses competitor data, it comes from your side.
What happens when one price fails?
The other rows still go through. Each row comes back applied or failed with the reason, for example sku_not_found, so your software can retry that one row.
How fresh is the catalog I read?
Zikkio refreshes every catalog once a day, and whenever you call POST /catalog/sync. The catalog.synced webhook tells you when a refresh is done.
Which platforms can I write prices on?
Shopify, WooCommerce, Magento 2, PrestaShop, BigCommerce and Wix. Google Merchant Center is read-only: you can read its products, not price them. The Platforms page shows what Zikkio reads and writes on each one.
Is there a limit on stores?
No. Every plan, the free one included, connects unlimited stores. Plans differ only in API calls a month. Current prices are on the Pricing page.

Connect your first store today.

Free plan with 5,000 API calls a month and unlimited stores. No card, and no sales call unless you ask for one.

POST /v1/connect/sessions
curl -X POST https://api.zikkio.com/v1/connect/sessions \
  -H "Authorization: Bearer zk_test_••••" \
  -d '{ "platform": "shopify" }'
201 Created
{ "connect_url": "https://connect.zikkio.com/s/ses_3kd9" }