Skip to main content
For routine price and stock syncing, you don’t need to fetch or push full product data on every cycle. Base provides lightweight read methods that return only what you need, and efficient bulk write methods that handle up to 1 000 products per call. Using them correctly keeps you well within the API rate limits.

Reading product data

Choose the narrowest method for what you actually need — fetching full product detail when you only need stock levels wastes both time and request quota.

Bulk updates

Always use the bulk write methods — not one call per product: Price and stock updates typically run 4–5 times per hour.
For high-frequency stock sync, only include products whose values have actually changed since your last cycle. This preserves headroom under the 100 requests/minute limit and reduces unnecessary writes.

Stock reservations

When an order is confirmed against a native Base inventory (as opposed to a read-only feed), Base automatically reduces and reserves the available quantity — even before your ERP has processed the order. This significantly reduces the risk of overselling when your sync cycle is slower than order arrival rate. Current availability and per-product reservation figures are both returned by getInventoryProductsStock, so you can display accurate “X reserved, Y available” figures without any additional calls. The full order confirmation flow is covered in Order basics.

Product variants

Variants (size, color, and similar attributes) are not a separate entity with their own endpoints. They appear inside the getInventoryProductsData response for their parent product, and you write or update them using the same bulk methods as regular products — just set variant_id on each entry. There are no separate variant-specific stock or price methods.

Multiple price groups via CSV feed

If you need to sync several price groups from feeds simultaneously, a dedicated CSV feed is more efficient than maintaining a separate XML file per group:
  • First column: a clear product identifier — Base ID, SKU, or EAN.
  • Following columns: individual prices for each price group.
Base imports such a feed cyclically (typically once per day, up to three times per day for enterprise accounts). This approach is especially useful when you have regional pricing or partner-tier prices that change independently of your main retail price.
Connecting an external warehouse as a stock source or target is a different scenario covered by the Partnership & Shops API — it is not handled by the methods on this page.