Product Data API
Programmatic access to the full Delite catalog — live product data with pricing in USD and CAD. Build our catalog into your webstore, sync prices automatically, or download everything into a spreadsheet.
All prices returned by the API are final sell prices in USD and CAD, but the terms depend on the item — every product carries its own pricing.terms, pricing.price_basis and a stocked flag:
- Stocked in Canada (
"stocked": true) — USD & CAD prices are FOB Markham, Ontario, Canada. USD prices include all applicable duties for delivery to the USA. - Direct import (
"stocked": false) — prices include freight and all applicable duties for delivery to one location in the USA (USD) or Canada (CAD).
Read pricing.terms per product rather than assuming one rule for the whole catalog. CAD is converted at a different corporate rate for stocked and direct-import items, so always use the CAD figure returned with each price tier instead of converting the USD one yourself.
Getting an API key
Request a free API key from our contact page — just tell us your company name. Keys look like dl_live_….
Authentication
Send your key with every request in the X-API-Key header:
curl -H "X-API-Key: YOUR_KEY" "https://api.delite.ca/v1/products?per_page=5"
Endpoints
| Endpoint | Description |
|---|---|
GET /v1/products |
List / search products (paginated) |
GET /v1/products/{sku} |
One product by SKU |
GET /v1/categories |
All categories with product counts |
GET /v1/export.csv |
Entire catalog in one request — opens in Excel |
GET /v1/export.json |
Entire catalog as JSON |
GET /v1/orders |
Your order statuses (account-linked keys) |
GET /v1/health |
Service health (no key needed) |
Base URL: https://api.delite.ca
Searching and filtering
GET /v1/products accepts:
| Parameter | Description |
|---|---|
page, per_page |
Pagination (max 100 per page) |
search |
Free-text search over name, SKU, keywords, theme, category |
category |
Exact category name (see /v1/categories) |
updated_since |
YYYY-MM-DD — only products added/changed since this date. Use for daily syncs. |
sort |
newest (default), name, price_asc, price_desc |
What each product includes
SKU, name, full description, category, themes and keywords, available colors, material, imprint method and imprint size, product dimensions (inches), minimum order quantity, up to 6 quantity-break prices in both USD and CAD, setup or mold charge, lead time in days, air/boat shipping method, artwork template link, product images, last-updated date, and a link to the product on delite.ca.
{
"sku": "860334",
"name": "Pack Of Two Bamboo Toothpicks",
"category": "Kits-Other",
"min_quantity": 300,
"stocked": false,
"pricing": {
"terms": "Prices include freight and all applicable duties for delivery to one location in the USA (USD) or Canada (CAD).",
"price_basis": "Delivered — freight & duties included",
"tiers": [
{ "quantity": 300, "price_usd": 1.20, "price_cad": 1.68 },
{ "quantity": 500, "price_usd": 0.67, "price_cad": 0.94 }
],
"setup_charge_usd": 83.34
},
"lead_time_days": 22,
"images": [ { "url": "https://api.delite.ca/img/….jpg" } ]
}
Order status
If your key is linked to your Delite customer account, you can also check order status — you only ever see your own company's orders:
curl -H "X-API-Key: YOUR_KEY" "https://api.delite.ca/v1/orders?per_page=10"
curl -H "X-API-Key: YOUR_KEY" "https://api.delite.ca/v1/orders/YOUR-ORDER-NUMBER"
Each order returns order number, PO, dates, status, product, quantity, shipping method and tracking numbers.
Full catalog download
One request downloads every product — perfect for Excel or an initial import:
curl -H "X-API-Key: YOUR_KEY" -o delite-products.csv "https://api.delite.ca/v1/export.csv"
Afterwards, stay current with updated_since instead of re-downloading (limit: one full export per minute).
PromoStandards (for distributor systems)
Delite also provides standard PromoStandards SOAP services for platforms like ESP and SAGE. Authentication uses the standard id/password pair, where the password is your Delite API key.
| Service | Endpoint |
|---|---|
| Product Data 2.0.0 | https://api.delite.ca/promostandards/product-data/2.0.0 |
| Media Content 1.1.0 | https://api.delite.ca/promostandards/media-content/1.1.0 |
| Pricing & Configuration 1.0.0 | https://api.delite.ca/promostandards/ppc/1.0.0 |
| Inventory 2.0.0 | https://api.delite.ca/promostandards/inventory/2.0.0 |
| Order Status 1.0.0 | https://api.delite.ca/promostandards/order-status/1.0.0 |
| Purchase Order 1.0.0 | https://api.delite.ca/promostandards/purchase-order/1.0.0 |
Inventory returns live stock; Order Status returns the status of orders placed under your own account, so the key must be linked to that account.
Sending purchase orders. Purchase Order 1.0.0 accepts sendPO for order types Configured, Blank, Sample and Simple. Your key must be linked to your customer account. Every PO is received and queued for review — you get a transactionId straight away, but the order is not confirmed until Delite confirms it. Re-sending the same PO number returns the original transactionId; it never creates a second order. Unknown SKUs, quantities under our minimum and prices below ours come back as warnings rather than rejections, so nothing you send is lost.
Rate limits & errors
Requests are limited per key (default 120/minute) — a 429 response means slow down and retry after the Retry-After header. 401 means a missing or invalid key. Full technical reference with code examples: api.delite.ca.
Questions or a key request? Contact us.
