shop.lululemon.com APIshop.lululemon.com ↗
Access lululemon's product catalog via API: browse categories, fetch product details, variants, pricing, new arrivals, sale items, and recommendations.
curl -X GET 'https://api.parse.bot/scraper/d591fba8-3d9a-475c-b36b-1a0982d0c854/get_category_products?page=1&sort=Featured&limit=9&n_value=%3Cn_value%3E&category=%3Ccategory-slug%3E' \ -H 'X-API-Key: $PARSE_API_KEY'
List products in a category with pagination and sorting. Requires a category slug and its corresponding navigation state ID (n_value). Use get_categories to discover valid category/n_value pairs.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number |
| sort | string | Sort option. Accepted values: 'Featured', 'New Arrivals', 'Top Rated', 'Price: High to Low', 'Price: Low to High' |
| limit | integer | Number of products per page (page size) |
| n_value | string | Navigation state ID for the category (e.g., 'n1udsq' for women-leggings, 'n1q0cf' for whats-new, 'n18mhd' for we-made-too-much). Required for most categories to return results. Obtain from get_categories endpoint. |
| categoryrequired | string | Category slug (e.g., 'women-leggings', 'whats-new', 'we-made-too-much') |
{
"type": "object",
"fields": {
"facets": "array of filter facets with refinements",
"products": "array of product objects with displayName, listPrice, productSalePrice, pdpUrl, productId, unifiedId, highlights, swatches",
"breadcrumbs": "array of breadcrumb navigation items",
"total_pages": "integer total number of pages",
"total_products": "integer total number of products in category"
},
"sample": {
"data": {
"facets": [
{
"name": "Size",
"type": "RefinementMenu",
"refinements": [
{
"count": 553,
"label": "0",
"isSelected": false,
"navigationState": "/women-leggings/n12ufqzudsq"
}
],
"dimensionName": "product.sizes",
"selectedCount": 0
}
],
"products": [
{
"pdpUrl": "/p/wunder-train-no-line-high-rise-tight-25/ciikqqn7xm",
"swatches": [
{
"url": "/p/wunder-train-no-line-high-rise-tight-25/ciikqqn7xm?color=74050",
"colorId": "74050",
"hoverImage": "https://images.lululemon.com/is/image/lululemon/LW5IIIS_074050_2",
"primaryImage": "https://images.lululemon.com/is/image/lululemon/LW5IIIS_074050_1"
}
],
"listPrice": [
"108"
],
"productId": "ciikqqn7xm",
"unifiedId": "Wunder-Train-No-Line-High-Rise-Tight-25",
"highlights": [],
"displayName": "Wunder Train No Line High-Rise Tight 25\"",
"productSalePrice": []
}
],
"breadcrumbs": [
{
"label": "Women's Clothes",
"contentPath": "/c",
"navigationState": "/women-clothes/n14uwk"
}
],
"total_pages": 16,
"total_products": 142
},
"status": "success"
}
}About the shop.lululemon.com API
The lululemon API provides 6 endpoints covering product discovery, detailed variant data, and merchandising sections on shop.lululemon.com. Use get_category_products to paginate and sort any category by Featured, New Arrivals, Top Rated, or Price, and get_product_details to retrieve full SKU-level information including colors, inseam options, pricing, and availability for any product ID.
Category and Product Browsing
Start with get_categories to retrieve the full list of browsable categories, each returned with a human-readable label, a URL slug, and an n_value navigation state ID. Pass the slug and n_value together into get_category_products to list products in that category. That endpoint supports page, limit, and sort parameters — valid sort values are Featured, New Arrivals, Top Rated, Price: High to Low, and Price: Low to Hi. The response includes a products array with fields like displayName, listPrice, productSalePrice, pdpUrl, productId, unifiedId, highlights, and swatches, alongside facets for filter refinements, breadcrumbs, total_products, and total_pages.
Product Detail and Variants
get_product_details accepts a product_id (e.g. prod11020158) and returns the full product object: productSummary, skus, variants, colors, highlights, category, allInseam, and allLocalePids. This is the right endpoint for building size/color selectors or syncing availability at the SKU level.
Merchandising Sections
get_whats_new and get_sale_products expose lululemon's "What's New" and "We Made Too Much" sections respectively, each returning up to 40 products per page with the same facets, breadcrumbs, and pagination fields as get_category_products. get_related_products returns site-wide recommended products — the "You may also like" list — with fields id, productId, displayName, listPrice, salePrice, and pdpUrl. An optional limit parameter controls how many recommendations come back.
- Build a price-tracking tool that monitors
listPriceandproductSalePricechanges across sale categories usingget_sale_products. - Populate a product comparison page with color, inseam, and SKU variant data from
get_product_details. - Aggregate new arrivals by category using
get_whats_newandget_category_productsto feed a trend-monitoring dashboard. - Generate category-level sitemaps by iterating paginated results from
get_category_productswithtotal_pagesandpdpUrlfields. - Power a recommendation widget by pulling
get_related_productsand displayingdisplayName,salePrice, andpdpUrl. - Sync lululemon inventory into a multi-brand catalog by walking categories discovered via
get_categoriesand fetching SKU details per product.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does lululemon have an official public developer API?+
How do I find the correct n_value for a category?+
get_categories returns each category with its slug and n_value (e.g. n1udsq for women-leggings). Pass both fields directly into get_category_products. Without a matching n_value, category results will not be scoped correctly.Does the API return product reviews or ratings?+
Are inventory or stock-level fields included in product responses?+
get_product_details returns skus and variants objects which include SKU-level data. Detailed real-time stock counts per size/color are not surfaced as a dedicated availability field. You can fork this API on Parse and revise it to surface that data if it becomes accessible.What is the pagination behavior for category and sale endpoints?+
get_category_products, get_whats_new, and get_sale_products all return total_pages and total_products in the response. The get_whats_new and get_sale_products endpoints return up to 40 products per page. For get_category_products, use the page and limit parameters to control pagination.