# Necessaire (necessaire.com) product data API

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

- Catalog key: `necessaire` (pass in `"catalogs"` to narrow a search to this store)
- Products: 105
- Snapshot: 2026-10-16T11:42:34Z (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/necessaire
- Get an API key: https://platform.storerouter.ai/auth/organization

## Questions

### What does Necessaire sell?

Almost entirely Beauty: 98% of its 105 products. Skincare is the largest department with 41 products, followed by Bath & Body (36) and Hair Care (25). The most common Necessaire categories are Moisturizers & Everyday Care (29), Cleansers (23) and Shampoo & Conditioner (19).

### How are Necessaire products categorized?

Into a shared taxonomy 6 levels deep. The first level separates Beauty, Apparel & Accessories and Furniture; the second separates departments such as Skincare; 4 levels down, categories are as specific as Body Wash (17 products). Every level is a search facet.

### What can I filter Necessaire products by?

42 searchable fields. Well-covered attributes include product form (73% of products), constitutive ingredients (47%) and package type (43%). For product form, the most common values are Liquid, Lotion and Serum; for constitutive ingredients, the most common values are Vitamin C, Vitamin E and Hyaluronic Acid.

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

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

### Can I get Necessaire 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 Necessaire 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 105 Necessaire products, with coverage counts refreshed about daily.

### Where does the data come from?

Straight from necessaire.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

### The Moisture Conditioner

The Necessary™ | Care For Your Body | Care For Your Planet The Moisture Conditioner is a daily conditioner that delivers intense moisture to dry hair while helping smooth strands and replenish shine for healthier-looking hair. Powered by Argan (Oil/Extract/Water), Botanical Silk Complex—a plant-derived alternative to synthetic silicones—and Ceramides. Fine fragrance notes of White Musk, Ambrette, Vanille, and Oak. Hypoallergenic. Non-Comedogenic. Dermatologist-Tested. Safe for color-treated hair.

Indexed response retrieved 2026-10-16T12:35:26.267Z. Price and availability may change.
Availability: In stock
Sizes: 250 ml, 250 ml / 8.4 fl oz

### Product details

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

```json
{
  "source": "indexed",
  "catalogKey": "necessaire",
  "product": {
    "title": "The Moisture Conditioner",
    "brand": {
      "name": "Nécessaire"
    },
    "productUrl": "https://necessaire.com/products/the-moisture-conditioner",
    "currentPrice": 32,
    "currency": "USD",
    "inStock": true,
    "description": "The Necessary™ | Care For Your Body | Care For Your Planet The Moisture Conditioner is a daily conditioner that delivers intense moisture to dry hair while helping smooth strands and replenish shine for healthier-looking hair. Powered by Argan (Oil/Extract/Water), Botanical Silk Complex—a plant-derived alternative to synthetic silicones—and Ceramides. Fine fragrance notes of White Musk, Ambrette, Vanille, and Oak. Hypoallergenic. Non-Comedogenic. Dermatologist-Tested. Safe for color-treated hair.",
    "primaryImage": {
      "url": "https://cdn.shopify.com/s/files/1/0034/8812/0947/files/01_THEMOISTURECONDITIONER.jpg?v=1784935491",
      "cdnUrl": "https://cdn.octogen.ai/e7a0d04bf6eef7d42dc1904899500b8c/4282b1dbc3addfc0404f14354528520c.webp?request_id=fe1072fc-805c-4822-89ba-41cbffd485f6",
      "width": 1116,
      "height": 1302,
      "sizeBytes": 24802,
      "mimeType": "image/webp"
    },
    "details": {
      "materials": [],
      "fit": [],
      "dimensions": null,
      "patterns": []
    }
  }
}
```

### Enrichment

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

```json
{
  "source": "indexed",
  "catalogKey": "necessaire",
  "product": {
    "enrichment": {
      "type": "hair conditioner",
      "category_path": [
        "Beauty",
        "Hair Care",
        "Shampoo & Conditioner",
        "Conditioners"
      ],
      "styles": [
        "minimalist"
      ],
      "attributes": {
        "Conditioner effect": [
          "Moisturizing",
          "Shine",
          "Smoothing"
        ],
        "Suitable for hair type": [
          "Dry"
        ],
        "Constitutive ingredients": [
          "Argan Oil",
          "Water"
        ]
      },
      "attribute_handles": {
        "conditioner_effect": [
          "conditioner_effect__moisturizing",
          "conditioner_effect__shine",
          "conditioner_effect__smoothing"
        ],
        "suitable_for_hair_type": [
          "suitable_for_hair_type__dry"
        ],
        "constitutive_ingredients": [
          "constitutive_ingredients__argan_oil",
          "constitutive_ingredients__water"
        ]
      }
    }
  }
}
```

## 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": ["necessaire"],
    "limit": 5
  }'
```

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

- [The Moisture Conditioner](https://necessaire.com/products/the-moisture-conditioner) — $32.00
- [The Body Wash | Multi-Mineral](https://necessaire.com/products/the-body-wash-250-ml-treatment-cleanse) — $28.00
- [The Deodorant Gel | Mandelic Acid](https://necessaire.com/products/the-deodorant-gel) — $22.00
- [The Hand Cream + The Tube Key](https://necessaire.com/products/hand-cream-key) — $40.00
- [The Moisture Shampoo](https://necessaire.com/products/the-moisture-shampoo) — $32.00

## Categories

| Category | Products |
| --- | --- |
| Moisturizers & Everyday Care | 29 |
| Cleansers | 23 |
| Shampoo & Conditioner | 19 |
| Deodorants & Antiperspirants | 8 |
| Targeted Treatments | 5 |
| Treatments & Solutions | 5 |
| Bath Care | 3 |
| Lip Care | 2 |
| Sanitizers & Wipes | 2 |
| Skin Care Tools | 2 |

## 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 | 98% | 1 | `false` = False, 103 |
| `color` | Product color | Merchant data | 3% | 2 | `black` = Black, 2; `silver` = Silver, 1 |
| `color_family` | Color family | Merchant data | 3% | 2 | `Black` = Black, 2; `Gray` = Gray, 1 |
| `category_path.depth_0` | Category at depth 0 | StoreRouter enrichment | 100% | 3 | `beauty` = Beauty, 103; `apparel & accessories` = Apparel & Accessories, 1; `furniture` = Furniture, 1 |
| `category_path.depth_1` | Category at depth 1 | StoreRouter enrichment | 100% | 6 | `skincare` = Skincare, 41; `bath & body` = Bath & Body, 36; `hair care` = Hair Care, 25; `bags` = Bags, 1; `fragrance` = Fragrance, 1 |
| `category_path.depth_2` | Category at depth 2 | StoreRouter enrichment | 100% | 17 | `moisturizers & everyday care` = Moisturizers & Everyday Care, 29; `cleansers` = Cleansers, 23; `shampoo & conditioner` = Shampoo & Conditioner, 19; `deodorants & antiperspirants` = Deodorants & Antiperspirants, 8; `targeted treatments` = Targeted Treatments, 5 |
| `category_path.depth_3` | Category at depth 3 | StoreRouter enrichment | 94% | 20 | `body wash` = Body Wash, 17; `lotions & moisturizers` = Lotions & Moisturizers, 17; `hand creams` = Hand Creams, 11; `deodorants` = Deodorants, 8; `shampoo` = Shampoo, 7 |
| `product_form` | Product form | StoreRouter enrichment | 73% | 11 | `product_form__liquid` = Liquid, 24; `product_form__lotion` = Lotion, 17; `product_form__serum` = Serum, 13; `product_form__cream` = Cream, 8; `product_form__balm` = Balm, 7 |
| `age_groups` | Age Group | StoreRouter enrichment | 62% | 1 | `adult` = Adult, 65 |
| `gender` | Gender | StoreRouter enrichment | 62% | 1 | `unisex` = Unisex, 65 |
| `constitutive_ingredients` | Constitutive ingredients | StoreRouter enrichment | 48% | 17 | `constitutive_ingredients__vitamin_c` = Vitamin C, 14; `constitutive_ingredients__vitamin_e` = Vitamin E, 14; `constitutive_ingredients__hyaluronic_acid` = Hyaluronic Acid, 13; `constitutive_ingredients__water` = Water, 13; `constitutive_ingredients__rosemary_oil` = Rosemary Oil, 12 |
| `package_type` | Package type | StoreRouter enrichment | 44% | 11 | `package_type__pump_bottle` = Pump Bottle, 21; `package_type__bottle` = Bottle, 19; `package_type__tube` = Tube, 12; `package_type__travel_size` = Travel Size, 7; `package_type__squeeze_tube` = Squeeze Tube, 4 |
| `product_certifications_standards` | Product certifications & standards | StoreRouter enrichment | 23% | 10 | `product_certifications_standards__no_artificial_fragrance` = No Artificial Fragrance, 9; `product_certifications_standards__aluminum_free` = Aluminum Free, 8; `product_certifications_standards__sensitive_skin` = Sensitive Skin, 5; `product_certifications_standards__eco_friendly` = Eco Friendly, 2; `product_certifications_standards__vegan` = Vegan, 2 |
| `scent` | Scent | StoreRouter enrichment | 20% | 4 | `scent__eucalyptus` = Eucalyptus, 11; `scent__sandalwood` = Sandalwood, 6; `scent__unscented` = Unscented, 5; `scent__woody` = Woody, 1 |
| `dispenser_type` | Dispenser type | StoreRouter enrichment | 19% | 5 | `dispenser_type__tube` = Tube, 9; `dispenser_type__stick` = Stick, 6; `dispenser_type__pump_bottle` = Pump Bottle, 3; `dispenser_type__bottle` = Bottle, 2; `dispenser_type__can` = Can, 1 |
| `skin_care_effect` | Skin care effect | StoreRouter enrichment | 18% | 16 | `skin_care_effect__moisturizing` = Moisturizing, 9; `skin_care_effect__anti_aging` = Anti Aging, 7; `skin_care_effect__treatment` = Treatment, 6; `skin_care_effect__repairing` = Repairing, 5; `skin_care_effect__anti_wrinkle` = Anti Wrinkle, 4 |
| `cosmetic_function` | Cosmetic function | StoreRouter enrichment | 17% | 9 | `cosmetic_function__moisturizing` = Moisturizing, 15; `cosmetic_function__hydrating` = Hydrating, 4; `cosmetic_function__hydration` = Hydration, 3; `cosmetic_function__repairing` = Repairing, 2; `cosmetic_function__anti_aging` = Anti Aging, 1 |
| `suitable_for_skin_type` | Suitable for skin type | StoreRouter enrichment | 13% | 4 | `suitable_for_skin_type__dry` = Dry, 12; `suitable_for_skin_type__aging` = Aging, 3; `suitable_for_skin_type__sensitive` = Sensitive, 3; `suitable_for_skin_type__all_skin_types` = All Skin Types, 1 |
| `active_ingredient` | Active ingredient | StoreRouter enrichment | 9% | 6 | `active_ingredient__ceramides` = Ceramides, 7; `active_ingredient__niacinamide` = Niacinamide, 7; `active_ingredient__retinol` = Retinol, 3; `active_ingredient__vitamin_c` = Vitamin C, 3; `active_ingredient__peptides` = Peptides, 2 |
| `pattern` | Pattern | StoreRouter enrichment | 9% | 4 | `pattern__solid` = Solid, 7; `pattern__text` = Text, 3; `pattern__logo` = Logo, 1; `pattern__striped` = Striped, 1 |
| `suitable_for_hair_type` | Suitable for hair type | StoreRouter enrichment | 9% | 4 | `suitable_for_hair_type__dry` = Dry, 6; `suitable_for_hair_type__sensitive` = Sensitive, 3; `suitable_for_hair_type__loss` = Loss, 2; `suitable_for_hair_type__all_hair_types` = All Hair Types, 1 |
| `conditioner_effect` | Conditioner effect | StoreRouter enrichment | 6% | 6 | `conditioner_effect__strengthening` = Strengthening, 3; `conditioner_effect__detangling` = Detangling, 2; `conditioner_effect__nourishing` = Nourishing, 2; `conditioner_effect__moisturizing` = Moisturizing, 1; `conditioner_effect__shine` = Shine, 1 |
| `shampoo_conditioner_effect` | Shampoo/Conditioner effect | StoreRouter enrichment | 6% | 4 | `shampoo_conditioner_effect__moisturizing` = Moisturizing, 3; `shampoo_conditioner_effect__strengthening` = Strengthening, 3; `shampoo_conditioner_effect__shine` = Shine, 1; `shampoo_conditioner_effect__smoothing` = Smoothing, 1 |
| `sustainability_features` | Sustainability Features | StoreRouter enrichment | 6% | 3 | `sustainability_features__eco_friendly` = Eco-Friendly, 6; `sustainability_features__sustainable_sourcing` = Sustainable Sourcing, 1; `sustainability_features__vegan` = Vegan, 1 |
| `treatment_type` | Treatment type | StoreRouter enrichment | 5% | 1 | `treatment_type__topical` = Topical, 5 |
| `category_path.depth_4` | Category at depth 4 | StoreRouter enrichment | 3% | 3 | `combs & brushes` = Combs & Brushes, 1; `toners` = Toners, 1; `travel pouches` = Travel Pouches, 1 |
| `application_area` | Application area | StoreRouter enrichment | 1% | 2 | `application_area__face` = Face, 1; `application_area__full_body` = Full Body, 1 |
| `attribute_facets.color` | Color | StoreRouter enrichment | 1% | 1 | `color__gray` = Gray, 1 |
| `bag_case_features` | Bag/Case features | StoreRouter enrichment | 1% | 1 | `bag_case_features__waterproof` = Waterproof, 1 |
| `bag_case_material` | Bag/Case material | StoreRouter enrichment | 1% | 1 | `bag_case_material__plastic` = Plastic, 1 |
| `bag_closure_type` | Bag closure type | StoreRouter enrichment | 1% | 1 | `bag_closure_type__latch` = Latch, 1 |
| `bristle_material` | Bristle material | StoreRouter enrichment | 1% | 1 | `bristle_material__synthetic_bristle` = Synthetic Bristle, 1 |
| `category_path.depth_5` | Category at depth 5 | StoreRouter enrichment | 1% | 1 | `hairbrushes & combs` = Hairbrushes & Combs, 1 |
| `fragrance_notes` | Fragrance Notes | StoreRouter enrichment | 1% | 2 | `fragrance_notes__frankincense` = Frankincense, 1; `fragrance_notes__vanilla` = Vanilla, 1 |
| `fragrance_top_notes` | Top Notes | StoreRouter enrichment | 1% | 2 | `fragrance_top_notes__frankincense` = Frankincense, 1; `fragrance_top_notes__vanilla` = Vanilla, 1 |
| `graphic_type` | Graphic Type | StoreRouter enrichment | 1% | 1 | `graphic_type__logo_branded` = Logo Print, 1 |
| `hardware_finish` | Hardware finish | StoreRouter enrichment | 1% | 1 | `hardware_finish__silver` = Silver, 1 |
| `material` | Material | StoreRouter enrichment | 1% | 1 | `material__silicone` = Silicone, 1 |
| `power_source` | Power source | StoreRouter enrichment | 1% | 1 | `power_source__manual` = Manual, 1 |
| `skin_care_features` | Skin care features | StoreRouter enrichment | 1% | 1 | `skin_care_features__uva/uvb_protection` = Uva/Uvb Protection, 1 |
| `wipe_packaging` | Wipe packaging | StoreRouter enrichment | 1% | 2 | `wipe_packaging__soft_pack` = Soft Pack, 1; `wipe_packaging__travel_size` = Travel Size, 1 |
| `brand_name` | Canonical brand name | Brand | 100% | 1 | `Nécessaire` = Nécessaire, 105 |
