Retail category monitoring
Lululemonエンドポイントを使えば、「Retail category monitoring」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Turn lululemon's storefront data into structured retail data — category navigation and product listings with pricing and sale detection, full per-SKU product detail with live availability and customer reviews, curated outfit recommendations, and the physical store directory, all as normalized JSON. Credential-free.
Browse lululemon categories and products, get full product detail with pricing and reviews, get outfit picks, and find stores — as structured JSON.
エンドポイントファミリー
5
ドキュメント化されたパラメータ
18
サンプル数
5
ライブカタログスナップショット
稼働エンドポイント
5
メソッド
GET
必須パラメータ
10
スキーマ参照
5
{
"platform": "Lululemon",
"endpoint": "lululemon-category",
"method": "GET",
"path": "/lululemon/category",
"auth": "apiKey"
}ユースケース
Browse lululemon categories and products, get full product detail with pricing and reviews, get outfit picks, and find stores — as structured JSON.
Lululemonエンドポイントを使えば、「Retail category monitoring」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Lululemonエンドポイントを使えば、「Sale and price tracking」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Lululemonエンドポイントを使えば、「Product catalog and review research」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
マネージド実行
以下の数値はすべて、稼働中のLululemonエンドポイントカタログから取得しています(エンドポイント5件、ドキュメント化されたリクエストパラメータ18個、公開レスポンススキーマ5件)。DocsとPlaygroundが参照しているカタログと同じものです。
Lululemonのエンドポイントは5件、5つのリクエストファミリーに分類されています(Categories、Category、Outfitほか2件)。
これらのLululemonエンドポイントには18個のリクエストパラメータがドキュメント化されており、うち10個が必須です。統合コードを書く前に入力仕様をすべて確認できます。
5件のLululemonエンドポイントのうち5件が実際のサンプルレスポンスを、5件がドキュメント化されたレスポンススキーマを備えています。最初のリクエストの前に実データの形に合わせて実装できます。
Lululemonのエンドポイントは成功時のスキーマに加えてエラーレスポンス(400、404、429、503)もドキュメント化しています。ブロック、レート制限、レコード欠損は空データではなく型付きのエラーとして返ります。
Lululemonのエンドポイントは5個のホスト型MCPツールとして提供されており、エージェントは同じパラメータと同じJSON契約のまま、追加の実装なしに同じルートを呼び出せます。
カバレッジマップ
これらのカードは稼働中のエンドポイントカタログから生成されるため、このページはDocsとPlaygroundが使うAPIサーフェスをそのまま反映します。
/lululemon/categories
/lululemon/category
/lululemon/outfit
/lululemon/product/{product_id}
/lululemon/stores
エンドポイントカタログ
/lululemon/categoriesReturns lululemon's own storefront category navigation, flattened out of the site's shared header nav: every navigable category with its display name, breadcrumb path, and the exact category/cdp_hash pair lululemon-category's own parameters expect (read directly from the nav's own URL, not guessed from the display label). section, when given, filters the result to one top-level nav section.
レスポンスに関する注記
- `category` and `cdp_hash` are read directly from the nav's own URL for every single entry, not guessed or derived from the display label -- unlike this repo's H&M-family precedent, where a real `category_id` is only present for a confirmed subset of entries. - `path[]` is the breadcrumb of parent nav labels above the entry (e.g. `["Women", "Women's Clothes"]`); empty for a top-level section's own direct category. - A section can itself be a direct category (`path` empty, `name` equal to the section's own display name) in addition to any nested subcategories underneath it. - `activity` currently resolves to zero categories -- its nav node carries no category link of its own at capture time -- but remains a valid `section` value since nothing rules out the site populating it later. Example response: ```json {"code":200,"msg":"OK","data":{"source_url":"https://shop.lululemon.com/?locale=en_US&sl=US","fetched_at":"2026-08-14T08:00:00Z","count":2,"categories":[{"section":"women","name":"Women's Clothes","url":"https://shop.lululemon.com/c/women-clothes/n14uwk","category":"women-clothes","cdp_hash":"n14uwk"},{"section":"women","path":["Women's Clothes"],"name":"Scuba","url":"https://shop.lululemon.com/c/women-scuba-clothes/n14uwkz9uld","category":"women-scuba-clothes","cdp_hash":"n14uwkz9uld"}]}} ```
MCPツール lululemon_categories
/lululemon/categoryReturns one lululemon category's product listing page: normalized products with pricing, sale detection, sizes, colors, and style numbers, sourced from lululemon's own app-backend category data. category and cdp_hash are the two path segments of a lululemon category URL (https://shop.lululemon.com/c/{category}/{cdp_hash}), e.g. women-new-styles and n14f1wz6o10 -- both are also available from lululemon-categories's own category and cdp_hash fields. Pagination is page-based and real: requesting a page beyond the category's real last page returns a normal response with an empty products array rather than an error. An unrecognized category/cdp_hash pair returns 404.
レスポンスに関する注記
- Pagination is real and page-based: the same `page` returns identical results on repeat requests, and different pages return different, non-overlapping products. - Requesting a `page` beyond the category's real last page returns a normal `200` with an empty `products` array. `total_products` stays at its real, nonzero value in that case. - An unrecognized `category`/`cdp_hash` pair returns `404`. - `products[].colors[]` and `products[].style_numbers[]` are parallel arrays: index `i` of one corresponds to index `i` of the other. - `products[].image_url` is the first image lululemon's own listing lists for the product — not reliably paired to a specific color, since a product can carry more images than colors. - `products[].sale_price` is only populated when `on_sale` is `true`. Example response: ```json {"code":200,"msg":"OK","data":{"category":"women-scuba-clothes","cdp_hash":"n14uwkz9uld","page":1,"page_size":2,"total_products":31,"count":2,"source_url":"https://shop.lululemon.com/c/women-scuba-clothes/n14uwkz9uld?format=json&No=0&Nrpp=2&locale=en_US&sl=US","fetched_at":"2026-08-14T06:00:00Z","products":[{"id":"lt5o6p8kho","unified_id":"Scuba-Evolve-Straight-Leg-Pant-Regular","name":"Scuba Evolve Straight-Leg Pant *Regular","url":"https://shop.lululemon.com/p/scuba-evolve-straight-leg-pant-regular/lt5o6p8kho","image_url":"https://images.lululemon.com/is/image/lululemon/LW5JKOS_077007_1","currency":"USD","price":118,"list_price":118,"on_sale":false,"new_arrival":true,"category":"Sweatpants","category_id":"womens-sweatpants","activities":["Casual","Lounge"],"sizes":["L","M","S","XL","XS","XXS"],"colors":["Raspberry Rave","Heathered Core Ultra Light Grey","Mahogany Muse","Black"],"style_numbers":["LW5JKOS-077007","LW5JL9S-032493","LW5JKOS-074110","LW5JKOS-0001"]},{"id":"lp4yqrz3sp","name":"Scuba Evolve Half-Zip Hoodie","url":"https://shop.lululemon.com/p/scuba-evolve-half-zip-hoodie/lp4yqrz3sp","currency":"USD","price":128,"list_price":128,"sale_price":98,"on_sale":true,"category":"Hoodies & Sweatshirts","category_id":"womens-hoodies-and-sweatshirts","colors":["Black","True Navy"],"style_numbers":["LW1AXQS-0001","LW1AXQS-069243"]}]}} ```
MCPツール lululemon_category
/lululemon/product/{product_id}Returns one lululemon product's full detail: every purchasable color/size SKU with its own price, sale status, and live availability, plus an aggregate rating and real customer reviews when the product has any -- none of which lululemon-category exposes (it only carries one representative color/price per product). product_id is the id from a lululemon-category result's id field or a lululemon product URL's trailing path segment (https://shop.lululemon.com/p/{slug}/{product_id}) -- the slug itself is not needed. An unrecognized product_id returns 404.
レスポンスに関する注記
- `skus[]` is one entry per purchasable color/size combination, each with its own `price`, `on_sale`/`sale_price`, and live `available` status -- unlike `lululemon-category`, which only carries one representative color/price for the whole product. - `colors[]` is the product-level color palette (code, name, swatch image); per-color/per-size price and availability live on `skus[]`, not nested here. - `rating` is present only when the product has at least one review; a product with none omits it entirely rather than sending a zero value. - `reviews[].badge` is a display label (e.g. `"Sweat Collective member"`, `"lululemon team"`), not a personal name -- lululemon does not expose reviewer nicknames through this data. - `reviews[].fit` and `reviews[].size_purchased`, when present, are fit feedback the reviewer left alongside their review text. - An unrecognized `product_id` returns `404`. A malformed `product_id` returns `400` before any upstream request is made. Example response: ```json {"code":200,"msg":"OK","data":{"product_id":"lt5o6p8kho","unified_id":"Scuba-Evolve-Straight-Leg-Pant-Regular","name":"Scuba Evolve Straight-Leg Pant *Regular","url":"https://shop.lululemon.com/p/scuba-evolve-straight-leg-pant-regular/lt5o6p8kho","description":"An evolution of our Scuba collection, cut from SuperLoft Light fabric.","category":"Sweatpants","category_id":"womens-sweatpants","currency":"USD","price":118,"on_sale":false,"gender":["Women"],"activities":["Casual","Lounge"],"sizes":["XXS","XS","S","M","L","XL"],"highlights":["Trending"],"colors":[{"code":"0001","name":"Black","swatch_url":"https://images.lululemon.com/is/image/lululemon/0001"},{"code":"77007","name":"Raspberry Rave","swatch_url":"https://images.lululemon.com/is/image/lululemon/77007"}],"skus":[{"id":"159399680","url":"https://shop.lululemon.com/p/scuba-evolve-straight-leg-pant-regular/lt5o6p8kho?color=LW5JKOS-077007&skuId=159399680","size":"M","color_code":"77007","color_name":"Raspberry Rave","style_id":"LW5JKOS-077007","style_number":"LW5JKOS","price":118,"on_sale":false,"available":true}],"rating":{"value":4.5,"count":2},"reviews":[{"id":"264791222","title":"Great","body":"These are great, fit larger than the previous version.","rating":5,"badge":"Sweat Collective member","fit":"Runs large","size_purchased":"Medium","submitted_at":"2026-08-13T19:19:09.000+00:00"}],"source_url":"https://shop.lululemon.com/p/product/lt5o6p8kho?format=json&locale=en_US&sl=US","fetched_at":"2026-08-14T07:00:00Z"}} ```
MCPツール lululemon_product
/lululemon/outfitReturns lululemon's own curated outfit/style recommendations for one product color: every complementary item in each styled look, plus the anchor product itself. unified_id and color_code are lululemon-product's own unified_id response field and a color's code field (from lululemon-product's colors[] or lululemon-category's style_numbers-paired colors[]) -- not lululemon-product's own product_id, which is a different id space. Recommended items' own id is a separate, third-party catalog id (not lululemon-product's product_id) -- use each item's url to reach its product page. An unrecognized unified_id/color_code pair returns 404.
レスポンスに関する注記
- `item.id` and `looks[].items[].id` are FindMine's own catalog ids (e.g. `prod11870949`), not `lululemon-product`'s `product_id` -- confirmed these do not round-trip through `lululemon-product`. Use each item's `url` to reach its own product page, not `id`. - `item` is the anchor product this outfit was built around (echoing the `unified_id`/`color_code` input); `looks[]` are the recommended complementary items, grouped by curated look. - `currency` is hardcoded to `USD` -- this endpoint only queries the US storefront. - A product/color with no curated outfit returns a well-formed empty `looks` array rather than an error. - An unrecognized `unified_id`/`color_code` pair returns `404`. Example response: ```json {"code":200,"msg":"OK","data":{"unified_id":"Scuba-Relaxed-Half-Zip-Colourblock","color_code":"79895","item":{"id":"adf2c3ab-194e-4004-b063-84691cfae3c1","title":"Scuba Relaxed Half-Zip *Colourblock","url":"https://shop.lululemon.com/p/scuba-relaxed-half-zip-colourblock/j321dxtscf?color=79895","image_url":"https://pdimg-prod-fmv3.findmine.com/v3/adf2c3ab-194e-4004-b063-84691cfae3c1/6d1df7a8-5ba1-4dba-b843-ad17e37f9d0b.lg.png","category":"Women Apparel.Sweater.Casual","currency":"USD","list_price":138,"on_sale":false},"looks":[{"id":"5456783d-e77a-4429-8f92-4d3c329be4bd","items":[{"id":"10c3668f-10ed-45fc-b0c9-0ee00f78f397","title":"Wundermost Ultra-Soft Nulu Spaghetti-Strap Adjustable Cami","url":"https://shop.lululemon.com/p/women-tanks/Wundermost-USoft-Nulu-Spag-Strap-Cami-Tank-Adjust/_/prod11870949?color=0001","image_url":"https://pdimg-prod-fmv3.findmine.com/v3/10c3668f-10ed-45fc-b0c9-0ee00f78f397/0b9bec93-4ca1-4abb-9014-cdde6bdfe10d.0800.lg.png","category":"Women Apparel.Shirt.Tank Top.Full Length","currency":"USD","list_price":48,"on_sale":false}]}],"source_url":"https://shop.lululemon.com/outfitting/api/v3/complete-the-look?product_color_id=79895&product_id=Scuba-Relaxed-Half-Zip-Colourblock&application=...&return_pdp_item=true®ion=US&language=en","fetched_at":"2026-08-14T08:00:00Z"}} ```
MCPツール lululemon_outfit
/lululemon/storesReturns lululemon's own complete physical store directory (480 US and 86 Canada locations as of this endpoint's own research), including regular weekly hours and in-store amenities. All filters are optional and applied locally after fetching the full directory -- there is no live geo-search API on a credential-free host for this platform. country and state are free-text equality filters against the values this directory actually carries (2-letter codes, e.g. US/CA, NY/CA), not an enforced enum. lat and lng (both required together) filter to stores within radius_miles (1 to 500, defaults to 50), sorted nearest-first.
レスポンスに関する注記
- Omitting every filter returns the complete directory. - `hours[]` is regular (non-holiday) weekly hours, sorted Monday-first — the upstream's own array order is alphabetical by day name, not calendar order. - `distance_miles` is populated only when `lat`/`lng` were given. - `status` and `store_type` are passed through as free strings (e.g. `active`, `regular`) rather than an enforced enum — the site's own UI shows additional states (`Opening Soon`, `Closed`) not yet captured in this field's raw upstream value, so unrecognized values are not dropped. - `message`, when non-empty, is a store-specific notice from the upstream (e.g. a temporary closure note). Example response: ```json {"code":200,"msg":"OK","data":{"count":1,"source_url":"https://shop.lululemon.com/stores/all-lululemon-stores?locale=en_US&sl=US","fetched_at":"2026-08-14T09:00:00Z","stores":[{"id":"00500","name":"The Shops at Hudson Yards","slug":"/stores/us/new-york/hudson-yards","url":"https://shop.lululemon.com/stores/us/new-york/hudson-yards","address":"500 West 33rd Street, RU 313A, New York, NY, US, 10001","city":"New York","state":"NY","state_name":"New York","country":"US","latitude":40.7538,"longitude":-74.0022,"store_type":"regular","status":"active","hours":[{"day":"monday","open":"10:00","close":"21:00"},{"day":"friday","open":"10:00","close":"21:00"}],"amenities":{"footwear":true,"has_mirror":false,"personal_shopping":true,"like_new":true,"buy_online_pickup_store":true,"curbside_pickup":true,"complementary_hemming":true,"returns_exchanges":true}}]}} ```
MCPツール lululemon_stores
関連API
Marketplaces & Retail
Collect marketplace product signals from Amazon without building brittle storefront scrapers.
Marketplaces & Retail
Build resale, pricing, and marketplace workflows from structured eBay data.
Marketplaces & Retail
Turn public Shop.app product and merchant pages into structured JSON for e-commerce product intelligence, price research, shop monitoring, and marketplace discovery workflows.
対象企業
lululemon athletica inc. · LULU
Lululemonを運営するのはlululemon athletica inc.(LULU)です。CrawloraのSECエンドポイントは同じ企業のCIKを受け取るため、提出書類・財務・インサイダー取引・13F保有を上記のLululemonエンドポイントと同じAPIキーで取得できます。
SEC提出書類・財務API →Lululemonのスクレイピング方法
Crawlora's 5 Lululemon endpoints return category navigation, category listings, product detail, outfit recommendations, and the physical store directory as normalized JSON with one API key — no lululemon account required.
Call /lululemon/categories for lululemon's own storefront nav, flattened — every category's display name, breadcrumb path, and the exact category/cdp_hash pair /lululemon/category expects. Pass section (new-featured, women, men, accessories, bags, activity, or we-made-too-much) to filter to one nav section.
Pass a category and cdp_hash — from /lululemon/categories, or the two path segments of a lululemon category URL (https://shop.lululemon.com/c/{category}/{cdp_hash}) — to /lululemon/category for that page's normalized products: pricing, sale price, sizes, colors, and style numbers, with real page-based pagination.
Pass a product's id (from a category result's id field, or a product URL's trailing path segment) to /lululemon/product/{product_id} for every purchasable color/size SKU with its own price, sale status, and live availability, plus an aggregate rating and customer reviews when the product has any.
Pass a product's unified_id and a color's code (both from a /lululemon/product result) to /lululemon/outfit for lululemon's own curated styled looks — every complementary item in each look, plus the anchor product.
Call /lululemon/stores for the full US/Canada store directory with weekly hours and amenities. Filter locally by country/state (free-text 2-letter codes), or pass lat+lng for a nearest-first radius search (radius_miles, 1-500, defaults to 50) — there's no live geo-search API on lululemon's own credential-free surface, so filtering happens against the full fetched directory.
FAQ
Call /lululemon/categories for the full storefront nav, flattened — each entry's category and cdp_hash are read directly from the nav's own URL, ready to pass straight into /lululemon/category. You can still build a category/cdp_hash pair from a known storefront URL instead.
/lululemon/category's pagination is real and page-based. Requesting a page beyond the category's real last page returns a normal response with an empty products array rather than an error.
Not directly — there's no free-text search endpoint. /lululemon/categories covers nav-tree discovery, and /lululemon/category covers per-category browsing, but neither takes a keyword query.
Pass the product's id (from a /lululemon/category result's id field, or a product URL's trailing path segment) to /lululemon/product/{product_id}. Unlike /lululemon/category — which only carries one representative color/price per product — this returns every SKU's own price, sale status, and live availability, plus the aggregate rating and customer reviews.
Pass a /lululemon/product result's unified_id and a colors[].code value to /lululemon/outfit. Note unified_id and color_code are a different id space from /lululemon/product's own product_id — an unrecognized pair returns 404.
Yes — pass lat and lng (both required together) to /lululemon/stores for a nearest-first list within radius_miles (1-500, defaults to 50). country and state are optional free-text 2-letter-code filters. All filtering runs locally over lululemon's full directory, since there's no live geo-search endpoint on a credential-free host.