# Nsfclothing (nsfclothing.com) product data API

> Search Nsfclothing products with StoreRouter’s API. Get prices, images, and details as JSON. See coverage and curl, Python, and TypeScript examples.

- Catalog key: `nsfclothing` (pass in `"catalogs"` to narrow a search to this store)
- Products: 690
- Snapshot: 2026-10-21T03:06:59Z (counts are approximate and refreshed about daily)
- Search endpoint: `POST https://api.storerouter.ai/v1/products/search`
- Human page: https://storerouter.ai/catalog-coverage/stores/nsfclothing
- Get an API key: https://platform.storerouter.ai/auth/organization

## Questions

### What does Nsfclothing sell?

Almost entirely Apparel & Accessories: 100% of its 690 products. Clothing is the largest department with 687 products, followed by Accessories (2) and Bags (1). The most common Nsfclothing categories are Tops (433), Pants (172) and Jackets & Coats (28).

### How are Nsfclothing products categorized?

Into a shared taxonomy 6 levels deep. The first level separates Apparel & Accessories; the second separates departments such as Clothing; 5 levels down, categories are as specific as Hoodies (71 products). Every level is a search facet.

### What can I filter Nsfclothing products by?

70 searchable fields. Well-covered attributes include fabric (97% of products), sleeve length type (67%) and front closure (65%). For fabric, the most common values are Cotton, Terrycloth and Elastane (Spandex / Lycra); for sleeve length type, the most common values are Long, Short and Sleeveless.

### Is this API provided by Nsfclothing or StoreRouter?

StoreRouter. One API key gives your app or agent access to Nsfclothing product data and thousands more stores.

### Can I get Nsfclothing product prices and stock status?

Yes. Bring pricing and availability into your shopping experience with structured data for selling prices, original prices, currency, and stock status.

### Can I get sizes and variants for Nsfclothing products?

Yes. Help shoppers find their perfect match with size, color, SKU, and stock details from product lookup.

### How fresh is the data?

StoreRouter continually recrawls product pages to update product details. This page tracks 690 Nsfclothing products, with coverage counts refreshed about daily.

### Where does the data come from?

Straight from nsfclothing.com. StoreRouter turns product pages into rich, searchable data—organized into consistent categories and attributes so your app can connect shoppers with the right products.

## Example product

### NSF Lani Plush Fitted Turtleneck - Ivory

This Lani Plush Turtleneck in Ivory is an ultra-soft long sleeve super slim fit turtle neck.  The fabric has a worn-in wash that exudes a vintage feel.  Comfortable yet elevated.  Wear it alone or with your favorite jacket- it's the go-to piece for a laid-back but polished look.  Ultra-soft, slim-fitting silhouette Worn-in vintage wash for elevated comfort Long sleeves and a fitted turtleneck collar Ideal for layering or wearing solo  Fabric &amp; Care:  45% Rayon 45% Polyester 10% Spandex Knit Machine Wash Cold Made in Los Angeles, CA

Indexed response retrieved 2026-10-21T03:07:03.888Z. Price and availability may change.
Availability: Out of stock
Sizes: XS, S, M, L, XL

### Product details

Product content returned by the lookup API, ready for a product page.

```json
{
  "source": "indexed",
  "catalogKey": "nsfclothing",
  "product": {
    "title": "NSF Lani Plush Fitted Turtleneck - Ivory",
    "brand": null,
    "productUrl": "https://nsfclothing.com/products/lani-plush-fitted-turtleneck-ivory-1",
    "currentPrice": 140,
    "currency": "USD",
    "inStock": false,
    "description": "This Lani Plush Turtleneck in Ivory is an ultra-soft long sleeve super slim fit turtle neck.  The fabric has a worn-in wash that exudes a vintage feel.  Comfortable yet elevated.  Wear it alone or with your favorite jacket- it's the go-to piece for a laid-back but polished look.  Ultra-soft, slim-fitting silhouette Worn-in vintage wash for elevated comfort Long sleeves and a fitted turtleneck collar Ideal for layering or wearing solo  Fabric &amp; Care:  45% Rayon 45% Polyester 10% Spandex Knit Machine Wash Cold Made in Los Angeles, CA ",
    "primaryImage": {
      "url": "https://cdn.shopify.com/s/files/1/0591/7301/files/20224.12.12_NSFEcomm_Grace_3051.jpg?v=1738964587",
      "cdnUrl": "https://cdn.octogen.ai/fc4084dcf645a5df5bd08a22c3df60c7/0f59d2158242f6f4eb741c44a56f2e1b.webp?request_id=7c717559-9f9e-4cc2-b493-2b84a4e329d5",
      "width": 3954,
      "height": 5928,
      "sizeBytes": 814682,
      "mimeType": "image/webp"
    },
    "details": {
      "materials": [
        "45% Rayon 45% Polyester 10% Spandex Knit"
      ],
      "fit": [],
      "dimensions": null,
      "patterns": []
    }
  }
}
```

### Enrichment

StoreRouter classification and attributes. Use attribute_handles as search facet values.

```json
{
  "source": "indexed",
  "catalogKey": "nsfclothing",
  "product": {
    "enrichment": {
      "type": "turtleneck",
      "category_path": [
        "Apparel & Accessories",
        "Clothing",
        "Tops",
        "Shirts & Blouses"
      ],
      "styles": [
        "minimalist",
        "casual",
        "polished",
        "vintage-inspired"
      ],
      "attributes": {
        "Fabric": [
          "Elastane (Spandex / Lycra)",
          "Plush",
          "Polyester",
          "Rayon"
        ],
        "Pattern": [
          "Solid"
        ],
        "Neckline": [
          "Turtleneck"
        ],
        "Occasion": [
          "Casual"
        ],
        "Fit (Tops)": [
          "Fitted"
        ],
        "Graphic Type": [
          "Solid / No Print"
        ],
        "Front Closure": [
          "None"
        ],
        "Sleeve length type": [
          "Long"
        ],
        "Front Closure Length": [
          "None"
        ],
        "General Clothing Features": [
          "Stretchable"
        ]
      },
      "attribute_handles": {
        "fabric": [
          "fabric__elastane",
          "fabric__plush",
          "fabric__polyester",
          "fabric__rayon"
        ],
        "fit_top": [
          "fit_top__fitted"
        ],
        "pattern": [
          "pattern__solid"
        ],
        "neckline": [
          "neckline__turtle"
        ],
        "graphic_type": [
          "graphic_type__solid_no_print"
        ],
        "occasion_general": [
          "occasion_general__casual"
        ],
        "front_closure_type": [
          "front_closure_type__none"
        ],
        "sleeve_length_type": [
          "sleeve_length_type__long"
        ],
        "front_closure_length": [
          "front_closure_length__none"
        ],
        "general_clothing_features": [
          "general_clothing_features__stretchable"
        ]
      }
    }
  }
}
```

## Query this store

```bash
curl -sS https://api.storerouter.ai/v1/products/search \
  -H "Authorization: Bearer $OCTOGEN_PLATFORM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "catalogs": ["nsfclothing"],
    "q": "tops",
    "limit": 5
  }'
```

Selected matching products on October 21, 2026 (not the complete search response):

- [NSF Lani Plush Fitted Turtleneck - Ivory](https://nsfclothing.com/products/lani-plush-fitted-turtleneck-ivory-1) — $140.00
- [NSF Chiara Plush Super Wide Crop - Black](https://nsfclothing.com/products/chiara-plush-super-wide-crop-black)
- [ALEXA FITTED VARIEGATED RIB TANK / SOFT WHITE](https://nsfclothing.com/products/alexa-fitted-rib-tank-soft-white-1) — $108.00
- [NSF Chiara Plush Super Wide Crop - Ivory](https://nsfclothing.com/products/chiara-plush-super-wide-crop-ivory) — $140.00
- [ALI FITTED VARIEGATED RIB POLO / ITALIAN CLAY](https://nsfclothing.com/products/ali-fitted-ls-rib-polo-italian-clay) — $128.00

## Prices

Median price $168 across 688 priced products. Current prices, assumed USD.

| Price range | Products |
| --- | --- |
| Under $60 | 6 |
| $60–$100 | 177 |
| $100–$140 | 100 |
| $140–$180 | 100 |
| $180–$220 | 88 |
| $220–$260 | 85 |
| $260–$300 | 54 |
| $300–$340 | 6 |
| $340–$380 | 26 |
| $380 and up | 46 |

## Categories

| Category | Products |
| --- | --- |
| Tops | 433 |
| Pants | 172 |
| Jackets & Coats | 28 |
| Shorts | 25 |
| Underwear & Sleepwear | 14 |
| Dresses | 6 |
| Jumpsuits & One-Pieces | 6 |
| Skirts | 3 |
| Belts & Suspenders | 2 |
| Totes & Shoppers | 1 |

## Searchable fields

Use `name` and a `value` as a facet: `{"name": "<name>", "values": ["<value>"]}`.

| name | Field | Source | Coverage | Distinct values | Top values (`value` = label, products) |
| --- | --- | --- | --- | --- | --- |
| `is_activewear` | Activewear | Merchant data | 100% | 2 | `false` = False, 444; `true` = True, 246 |
| `color` | Product color | Merchant data | 99% | 40 | `black` = Black, 156; `white` = White, 90; `ivory` = Ivory, 76; `gray` = Gray, 57; `pink` = Pink, 46 |
| `color_family` | Color family | Merchant data | 99% | 12 | `White` = White, 176; `Black` = Black, 156; `Blue` = Blue, 100; `Gray` = Gray, 68; `Brown` = Brown, 62 |
| `age_groups` | Age Group | StoreRouter enrichment | 100% | 1 | `adult` = Adult, 690 |
| `category_path.depth_0` | Category at depth 0 | StoreRouter enrichment | 100% | 1 | `apparel & accessories` = Apparel & Accessories, 690 |
| `category_path.depth_1` | Category at depth 1 | StoreRouter enrichment | 100% | 3 | `clothing` = Clothing, 687; `accessories` = Accessories, 2; `bags` = Bags, 1 |
| `category_path.depth_2` | Category at depth 2 | StoreRouter enrichment | 100% | 10 | `tops` = Tops, 433; `pants` = Pants, 172; `jackets & coats` = Jackets & Coats, 28; `shorts` = Shorts, 25; `underwear & sleepwear` = Underwear & Sleepwear, 14 |
| `gender` | Gender | StoreRouter enrichment | 100% | 2 | `female` = Female, 603; `unisex` = Unisex, 87 |
| `pattern` | Pattern | StoreRouter enrichment | 100% | 26 | `pattern__solid` = Solid, 544; `pattern__texture` = Texture, 221; `pattern__color_block` = Color Block, 38; `pattern__art` = Art, 33; `pattern__logo` = Logo, 24 |
| `category_path.depth_3` | Category at depth 3 | StoreRouter enrichment | 98% | 24 | `t-shirts` = T-Shirts, 202; `sweatshirts & hoodies` = Sweatshirts & Hoodies, 123; `sweatpants` = Sweatpants, 90; `tank tops & sleeveless` = Tank Tops & Sleeveless, 50; `trousers` = Trousers, 47 |
| `fabric` | Fabric | StoreRouter enrichment | 97% | 21 | `fabric__cotton` = Cotton, 639; `fabric__terrycloth` = Terrycloth, 178; `fabric__elastane` = Elastane (Spandex / Lycra), 64; `fabric__fleece` = Fleece, 55; `fabric__polyester` = Polyester, 49 |
| `sleeve_length_type` | Sleeve length type | StoreRouter enrichment | 68% | 4 | `sleeve_length_type__long` = Long, 249; `sleeve_length_type__short` = Short, 146; `sleeve_length_type__sleeveless` = Sleeveless, 58; `sleeve_length_type__3/4` = 3/4, 13 |
| `front_closure_type` | Front Closure | StoreRouter enrichment | 66% | 5 | `front_closure_type__none` = None, 382; `front_closure_type__buttons` = Buttons, 37; `front_closure_type__zipper` = Zipper, 23; `front_closure_type__snaps` = Snaps, 7; `front_closure_type__tie_lace_up` = Tie / Lace-Up, 5 |
| `graphic_type` | Graphic Type | StoreRouter enrichment | 64% | 5 | `graphic_type__solid_no_print` = Solid / No Print, 405; `graphic_type__logo_branded` = Logo Print, 15; `graphic_type__slogan_text` = Text / Slogan Print, 14; `graphic_type__photo_art` = Photo Print / Art, 12; `graphic_type__abstract_print` = Abstract Graphic, 7 |
| `neckline` | Neckline | StoreRouter enrichment | 62% | 10 | `neckline__crew` = Crew, 235; `neckline__round` = Round, 112; `neckline__hooded` = Hooded, 73; `neckline__scoop` = Scoop, 27; `neckline__collared` = Collared, 23 |
| `front_closure_length` | Front Closure Length | StoreRouter enrichment | 61% | 5 | `front_closure_length__none` = None, 365; `front_closure_length__full` = Full, 33; `front_closure_length__short_placket` = Short Placket, 15; `front_closure_length__quarter` = Quarter, 5; `front_closure_length__half` = Half, 3 |
| `fit_top` | Fit (Tops) | StoreRouter enrichment | 60% | 5 | `fit_top__fitted` = Fitted, 209; `fit_top__relaxed` = Relaxed, 127; `fit_top__boxy` = Boxy, 65; `fit_top__oversized` = Oversized, 53; `fit_top__tailored` = Tailored, 12 |
| `knit_style` | Knit Style | StoreRouter enrichment | 54% | 7 | `knit_style__jersey` = Jersey, 188; `knit_style__french_terry` = French Terry, 89; `knit_style__rib_knit` = Rib Knit, 80; `knit_style__chunky` = Chunky, 20; `knit_style__fine_gauge` = Fine Gauge, 19 |
| `category_path.depth_4` | Category at depth 4 | StoreRouter enrichment | 37% | 15 | `hoodies` = Hoodies, 71; `sweatshirts` = Sweatshirts, 52; `tank & cami tops` = Tank & Cami Tops, 48; `cardigans` = Cardigans, 24; `sweaters` = Sweaters, 14 |
| `collar_style` | Collar Style | StoreRouter enrichment | 37% | 9 | `collar_style__crew` = Crew, 161; `collar_style__collarless` = Collarless, 47; `collar_style__cutaway` = Cutaway, 14; `collar_style__stand_funnel` = Stand / Funnel, 11; `collar_style__notched_lapel` = Notched Lapel, 7 |
| `sleeve_style` | Sleeve Style | StoreRouter enrichment | 26% | 7 | `sleeve_style__drop_shoulder` = Drop Shoulder, 85; `sleeve_style__raglan` = Raglan, 56; `sleeve_style__cap` = Cap, 23; `sleeve_style__dolman` = Dolman / Batwing, 18; `sleeve_style__balloon` = Balloon, 8 |
| `fit_bottoms` | Fit | StoreRouter enrichment | 23% | 6 | `fit_bottoms__relaxed_boyfriend_fit` = Relaxed / Boyfriend Fit, 67; `fit_bottoms__loose_slouchy_fit` = Loose / Slouchy Fit, 54; `fit_bottoms__wide_leg_volume_fit` = Wide-Leg Volume Fit, 29; `fit_bottoms__straight_through_fit` = Straight-Through Fit, 28; `fit_bottoms__tailored_slim_fit` = Tailored Slim Fit, 11 |
| `opacity_level` | Opacity | StoreRouter enrichment | 23% | 3 | `opacity_level__opaque` = Opaque, 144; `opacity_level__semi_sheer` = Semi-Sheer, 6; `opacity_level__sheer` = Sheer, 6 |
| `pants_leg_shape` | Leg Shape | StoreRouter enrichment | 22% | 10 | `pants_leg_shape__wide_leg` = Wide Leg, 43; `pants_leg_shape__jogger` = Jogger, 41; `pants_leg_shape__straight` = Straight, 41; `pants_leg_shape__slim` = Slim, 36; `pants_leg_shape__barrel_balloon` = Barrel / Balloon, 25 |
| `fabric_weight` | Fabric Weight | StoreRouter enrichment | 22% | 4 | `fabric_weight__lightweight` = Lightweight, 118; `fabric_weight__heavyweight` = Heavyweight, 26; `fabric_weight__sheer` = Sheer, 4; `fabric_weight__midweight` = Midweight, 2 |
| `bottoms_closure` | Bottoms Closure | StoreRouter enrichment | 21% | 3 | `bottoms_closure__drawstring` = Drawstring, 122; `bottoms_closure__pull_on` = Pull-On, 72; `bottoms_closure__buttons` = Button Fly, 13 |
| `top_length_type` | Top length type | StoreRouter enrichment | 18% | 4 | `top_length_type__cropped` = Cropped, 64; `top_length_type__hip_length` = Hip Length, 30; `top_length_type__waist_length` = Waist Length, 25; `top_length_type__tunic_length` = Tunic Length, 8 |
| `waist_rise` | Waist rise | StoreRouter enrichment | 15% | 3 | `waist_rise__high` = High, 56; `waist_rise__mid` = Mid, 53; `waist_rise__low` = Low, 7 |
| `pants_length_type` | Pants length type | StoreRouter enrichment | 12% | 3 | `pants_length_type__cropped` = Cropped, 57; `pants_length_type__long` = Long, 14; `pants_length_type__ankle` = Ankle Length, 10 |
| `general_clothing_features` | General Clothing Features | StoreRouter enrichment | 10% | 1 | `general_clothing_features__stretchable` = Stretchable, 70 |
| `activewear_unique_features` | Activewear Features | StoreRouter enrichment | 9% | 3 | `activewear_unique_features__adjustable_waistband` = Adjustable Waistband, 57; `activewear_unique_features__body_contouring_fit` = Body Contouring Fit, 5; `activewear_unique_features__mesh_panels` = Mesh Panels, 1 |
| `openwork_detail` | Openwork Detail | StoreRouter enrichment | 7% | 4 | `openwork_detail__crochet` = Crochet, 27; `openwork_detail__open_knit` = Open Knit, 15; `openwork_detail__cutouts` = Cutouts, 9; `openwork_detail__eyelet` = Eyelet, 1 |
| `season` | Season | StoreRouter enrichment | 6% | 4 | `season__cold_weather` = Cold Weather, 28; `season__cool_weather` = Cool Weather, 10; `season__all_season` = All-Season, 6; `season__warm_weather` = Warm Weather, 3 |
| `placket_type` | Front Opening | StoreRouter enrichment | 5% | 2 | `placket_type__exposed` = Visible Buttons, 31; `placket_type__snap` = Snap Closure, 5 |
| `embellishments` | Embellishments | StoreRouter enrichment | 4% | 6 | `embellishments__contrast_piping` = Contrast Trim / Piping, 20; `embellishments__fringe` = Fringe, 6; `embellishments__rhinestones_crystals` = Rhinestones / Crystals, 2; `embellishments__studs` = Studs, 2; `embellishments__applique` = Appliqué, 1 |
| `denim_wash_effects` | Denim Finish Effects | StoreRouter enrichment | 4% | 5 | `denim_wash_effects__faded_stonewash` = Faded / Stonewash, 21; `denim_wash_effects__distressed` = Distressed, 7; `denim_wash_effects__raw` = Raw, 4; `denim_wash_effects__clean_none` = Clean / None, 2; `denim_wash_effects__paint_splatter` = Paint Splatter, 1 |
| `insulation_level` | Insulation Level | StoreRouter enrichment | 3% | 3 | `insulation_level__heavyweight` = Heavyweight, 17; `insulation_level__midweight` = Midweight, 3; `insulation_level__thermal` = Thermal, 3 |
| `surface_finish` | Surface Finish | StoreRouter enrichment | 3% | 1 | `surface_finish__matte` = Matte, 23 |
| `denim_wash` | Denim Wash | StoreRouter enrichment | 3% | 5 | `denim_wash__light` = Light, 9; `denim_wash__black` = Black, 5; `denim_wash__dark` = Dark, 3; `denim_wash__medium` = Medium, 3; `denim_wash__white` = White / Ecru, 1 |
| `outerwear_length_type` | Outerwear Length | StoreRouter enrichment | 3% | 3 | `outerwear_length_type__hip` = Hip Length, 11; `outerwear_length_type__cropped` = Cropped, 9; `outerwear_length_type__knee` = Knee Length, 1 |
| `sustainability_features` | Sustainability Features | StoreRouter enrichment | 3% | 2 | `sustainability_features__recycled_materials` = Recycled Materials, 15; `sustainability_features__organic_materials` = Organic Materials, 5 |
| `shorts_fit` | Shorts Fit | StoreRouter enrichment | 3% | 3 | `shorts_fit__relaxed` = Relaxed, 17; `shorts_fit__loose` = Loose, 2; `shorts_fit__athletic` = Athletic, 1 |
| `construction_detail` | Construction Detail | StoreRouter enrichment | 2% | 2 | `construction_detail__draped` = Draped, 10; `construction_detail__pleated` = Pleated, 6 |
| `category_path.depth_5` | Category at depth 5 | StoreRouter enrichment | 2% | 1 | `lounge bottoms` = Lounge Bottoms, 12 |
| `care_instructions` | Care instructions | StoreRouter enrichment | 2% | 1 | `care_instructions__machine_washable` = Machine Washable, 11 |
| `denim_hem_style` | Denim Hem Style | StoreRouter enrichment | 2% | 3 | `denim_hem_style__regular` = Regular, 6; `denim_hem_style__split` = Split, 4; `denim_hem_style__frayed` = Frayed, 3 |
| `performance_features` | Performance Features | StoreRouter enrichment | 1% | 2 | `performance_features__breathable_design` = Breathable Design, 10; `performance_features__ventilation` = Ventilation, 1 |
| `occasion_general` | Occasion | StoreRouter enrichment | 1% | 1 | `occasion_general__casual` = Casual, 9 |
| `skirt_dress_length_type` | Skirt/Dress length type | StoreRouter enrichment | 1% | 3 | `skirt_dress_length_type__midi` = Midi, 4; `skirt_dress_length_type__mini` = Mini, 4; `skirt_dress_length_type__knee` = Knee, 1 |
| `denim_fabric` | Denim Fabric | StoreRouter enrichment | 1% | 2 | `denim_fabric__rigid` = Rigid, 5; `denim_fabric__stretch` = Stretch, 2 |
| `slit_style` | Slit Style | StoreRouter enrichment | 1% | 1 | `slit_style__side_slit` = Side Slit, 7 |
| `dress_style` | Dress style | StoreRouter enrichment | <1% | 5 | `dress_style__bodycon` = Bodycon, 3; `dress_style__t_shirt` = T-Shirt, 3; `dress_style__pencil` = Pencil, 1; `dress_style__sheath` = Sheath, 1; `dress_style__tank` = Tank, 1 |
| `occasion_style_dresses` | Dress occasion | StoreRouter enrichment | <1% | 2 | `occasion_style_dresses__casual` = Casual, 6; `occasion_style_dresses__work` = Work, 1 |
| `one_piece_style` | One-piece style | StoreRouter enrichment | <1% | 3 | `one_piece_style__boiler_suit` = Boiler Suit, 3; `one_piece_style__coverall` = Coverall, 3; `one_piece_style__romper` = Romper, 3 |
| `stretch_level` | Stretch Level | StoreRouter enrichment | <1% | 1 | `stretch_level__none` = None, 6 |
| `lining_material_outerwear` | Lining Material | StoreRouter enrichment | <1% | 3 | `lining_material_outerwear__cotton` = Cotton, 3; `lining_material_outerwear__quilted` = Quilted, 1; `lining_material_outerwear__removable` = Removable, 1 |
| `outerwear_unique_features` | Outerwear Features | StoreRouter enrichment | <1% | 2 | `outerwear_unique_features__insulated` = Insulated, 3; `outerwear_unique_features__belted` = Belted, 1 |
| `size_group` | Size Type | StoreRouter enrichment | <1% | 1 | `size_group__regular` = Regular, 4 |
| `pants_leg_length` | Pants Leg Length | StoreRouter enrichment | <1% | 2 | `pants_leg_length__regular` = Regular, 2; `pants_leg_length__cropped` = Cropped, 1 |
| `closure_type_belts` | Closure Type | StoreRouter enrichment | <1% | 1 | `closure_type_belts__tie` = Tie Belt, 2 |
| `material` | Material | StoreRouter enrichment | <1% | 1 | `material__cotton` = Cotton, 2 |
| `skirt_style` | Skirt style | StoreRouter enrichment | <1% | 1 | `skirt_style__pencil` = Pencil, 2 |
| `activity_intensity` | Activity Intensity | StoreRouter enrichment | <1% | 1 | `activity_intensity__training` = Training, 1 |
| `activity_type` | Activity Type | StoreRouter enrichment | <1% | 1 | `activity_type__training_gym` = Training / Gym, 1 |
| `bag_case_material` | Bag/Case material | StoreRouter enrichment | <1% | 1 | `bag_case_material__canvas` = Canvas, 1 |
| `bag_closure_type` | Bag closure type | StoreRouter enrichment | <1% | 1 | `bag_closure_type__open_top` = Open Top, 1 |
| `bag_shape` | Bag Shape | StoreRouter enrichment | <1% | 1 | `bag_shape__rectangle` = Rectangle, 1 |
| `carry_options` | Carry options | StoreRouter enrichment | <1% | 2 | `carry_options__handle` = Handle, 1; `carry_options__shoulder_strap` = Shoulder Strap, 1 |
| `tote_handle_type` | Tote handle type | StoreRouter enrichment | <1% | 1 | `tote_handle_type__long` = Long, 1 |
| `brand_name` | Canonical brand name | Brand | 11% | 1 | `NSF` = NSF, 75 |
