Product Data API
Programmatic access to the entire Yorkn catalog — 18,000+ promotional products with live 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 — freight and duties included to one location in the USA (USD) or Canada (CAD).
Getting an API key
Request a free API key via our contact page — just tell us your company name. Keys look like yk_live_….
Authentication
Send your key with every request in the X-API-Key header:
curl -H "X-API-Key: YOUR_KEY" "https://api.yorkn.com/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/health |
Service health (no key needed) |
Base URL: https://api.yorkn.com
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 yorkn.com.
{
"sku": "552999",
"name": "Lightweight Crossbody Shoulder Bag",
"category": "Bags",
"min_quantity": 1000,
"pricing": {
"tiers": [
{ "quantity": 1000, "price_usd": 12.25, "price_cad": 17.15 },
{ "quantity": 2000, "price_usd": 11.63, "price_cad": 16.28 }
],
"setup_charge_usd": 166.67
},
"lead_time_days": 22,
"images": [ { "url": "https://api.yorkn.com/img/….jpg" } ]
}
Full catalog download
One request downloads every product — perfect for Excel or an initial import:
curl -H "X-API-Key: YOUR_KEY" -o yorkn-products.csv "https://api.yorkn.com/v1/export.csv"
Afterwards, stay current with updated_since instead of re-downloading (limit: one full export per minute).
PromoStandards (for distributor systems)
Yorkn also provides standard PromoStandards SOAP services for platforms like ESP and SAGE — Product Data 2.0.0, Media Content 1.1.0, and Product Pricing & Configuration 1.0.0. Authentication uses the standard id/password pair, where the password is your Yorkn API key.
| Service | Endpoint |
|---|---|
| Product Data 2.0.0 | https://api.yorkn.com/promostandards/product-data/2.0.0 |
| Media Content 1.1.0 | https://api.yorkn.com/promostandards/media-content/1.1.0 |
| Pricing & Configuration 1.0.0 | https://api.yorkn.com/promostandards/ppc/1.0.0 |
| Inventory 2.0.0 | https://api.yorkn.com/promostandards/inventory/2.0.0 |
| Order Status 1.0.0 | https://api.yorkn.com/promostandards/order-status/1.0.0 |
| Purchase Order 1.0.0 | https://api.yorkn.com/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 Yorkn 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.yorkn.com.
Questions or a key request? Contact us.
