# Soleilblue (soleilblue.com) product data API

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

- Catalog key: `soleilblue` (pass in `"catalogs"` to narrow a search to this store)
- Products: 103
- Snapshot: 2026-10-15T15:45:00Z (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/soleilblue
- Get an API key: https://platform.storerouter.ai/auth/organization

## Questions

### What does Soleilblue sell?

Almost entirely Apparel & Accessories: 100% of its 103 products. Clothing is the largest department with 96 products, followed by Accessories (3) and Jewelry (3). The most common Soleilblue categories are Swimwear (36), Tops (19) and Dresses (13).

### How are Soleilblue products categorized?

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

### What can I filter Soleilblue products by?

64 searchable fields. Well-covered attributes include sleeve length type (62% of products), fabric (61%) and neckline (53%). For sleeve length type, the most common values are Sleeveless, Long and Short; for fabric, the most common values are Cotton, Silk and Cashmere.

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

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

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

### Where does the data come from?

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

### Natalie Martin Melanie Dress - Wildflower Spice

A relaxed maxi dress with a soft, flowing silhouette, designed with a drop waist and tiered skirt for gentle movement. The bodice features subtle pintuck detailing, while tie straps at the shoulders add an adjustable, easy finish.  Fit Notes Relaxed fit with adjustable tie straps and a flowing skirt.   100% rayon Maxi length Drop waist with tiered skirt Tie straps at shoulders Pintuck detailing at front and back bodice

Indexed response retrieved 2026-10-15T16:43:45.797Z. Price and availability may change.
Availability: In stock
Sizes: XS, S, M, L

### Product details

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

```json
{
  "source": "indexed",
  "catalogKey": "soleilblue",
  "product": {
    "title": "Natalie Martin Melanie Dress - Wildflower Spice",
    "brand": {
      "name": "Natalie Martin"
    },
    "productUrl": "https://soleilblue.com/products/natalie-martin-melanie-dress-wildflower-spice",
    "currentPrice": 186.6,
    "currency": "USD",
    "inStock": true,
    "description": "A relaxed maxi dress with a soft, flowing silhouette, designed with a drop waist and tiered skirt for gentle movement. The bodice features subtle pintuck detailing, while tie straps at the shoulders add an adjustable, easy finish.  Fit Notes Relaxed fit with adjustable tie straps and a flowing skirt.   100% rayon Maxi length Drop waist with tiered skirt Tie straps at shoulders Pintuck detailing at front and back bodice ",
    "primaryImage": {
      "url": "https://cdn.shopify.com/s/files/1/0692/4475/files/S24-natalie-martin-melanie-wildflower-spice-26323-Soleil_Blue-0984.png?v=1780709430",
      "cdnUrl": "https://cdn.octogen.ai/15b152776796388a0e0dd33a03ef1051/1a64abd9b99585fce5ba81dffb3b9d0e.webp?request_id=6ad472af-50f7-48f7-a5df-f2e05d548f8a",
      "width": 2000,
      "height": 3000,
      "sizeBytes": 745418,
      "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": "soleilblue",
  "product": {
    "enrichment": {
      "type": "maxi dress",
      "category_path": [
        "Apparel & Accessories",
        "Clothing",
        "Dresses"
      ],
      "styles": [
        "bohemian",
        "romantic",
        "feminine",
        "casual"
      ],
      "attributes": {
        "Pattern": [
          "Floral"
        ],
        "Neckline": [
          "Spaghetti Strap"
        ],
        "Dress style": [
          "Drop Waist",
          "Tiered"
        ],
        "Dress occasion": [
          "Casual"
        ],
        "Sleeve length type": [
          "Sleeveless"
        ],
        "Skirt/Dress length type": [
          "Maxi"
        ]
      },
      "attribute_handles": {
        "pattern": [
          "pattern__floral"
        ],
        "neckline": [
          "neckline__spaghetti_strap"
        ],
        "dress_style": [
          "dress_style__drop_waist",
          "dress_style__tiered"
        ],
        "sleeve_length_type": [
          "sleeve_length_type__sleeveless"
        ],
        "occasion_style_dresses": [
          "occasion_style_dresses__casual"
        ],
        "skirt_dress_length_type": [
          "skirt_dress_length_type__maxi"
        ]
      }
    }
  }
}
```

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

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

- [Natalie Martin Melanie Dress - Wildflower Spice](https://soleilblue.com/products/natalie-martin-melanie-dress-wildflower-spice) — $186.60
- [FREECITY Sweatpant - Moonshadow](https://soleilblue.com/products/freecity-sweatpant-moonshadow) — $168.00
- [Maria Cher Delancey Vito Short Dress - Blue Vibes](https://soleilblue.com/products/maria-cher-delancey-vito-short-dress-blue-vibes) — $297.00
- [Shaina Mote Boy Trouser - Chocolate](https://soleilblue.com/products/shaina-mote-boy-trouser-chocolate) — $325.00
- [Natalie Martin Kevin Shirt - Wildflower Spice](https://soleilblue.com/products/natalie-martin-kevin-shirt-wildflower-spice) — $129.00

## Categories

| Category | Products |
| --- | --- |
| Swimwear | 36 |
| Tops | 19 |
| Dresses | 13 |
| Pants | 11 |
| Skirts | 6 |
| Underwear & Sleepwear | 4 |
| Earrings | 3 |
| Shorts | 3 |
| Hats & Headwear | 2 |
| Jumpsuits & One-Pieces | 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 | 100% | 2 | `false` = False, 99; `true` = True, 4 |
| `color` | Product color | Merchant data | 85% | 24 | `black` = Black, 27; `multi` = Multi, 10; `brown` = Brown, 8; `navy` = Navy, 8; `gray` = Gray, 7 |
| `color_family` | Color family | Merchant data | 85% | 10 | `Black` = Black, 27; `Brown` = Brown, 18; `Blue` = Blue, 15; `Multicolor` = Multicolor, 10; `White` = White, 9 |
| `age_groups` | Age Group | StoreRouter enrichment | 100% | 1 | `adult` = Adult, 103 |
| `category_path.depth_0` | Category at depth 0 | StoreRouter enrichment | 100% | 1 | `apparel & accessories` = Apparel & Accessories, 103 |
| `category_path.depth_1` | Category at depth 1 | StoreRouter enrichment | 100% | 4 | `clothing` = Clothing, 96; `accessories` = Accessories, 3; `jewelry` = Jewelry, 3; `bags` = Bags, 1 |
| `category_path.depth_2` | Category at depth 2 | StoreRouter enrichment | 100% | 14 | `swimwear` = Swimwear, 36; `tops` = Tops, 19; `dresses` = Dresses, 13; `pants` = Pants, 11; `skirts` = Skirts, 6 |
| `gender` | Gender | StoreRouter enrichment | 100% | 2 | `female` = Female, 94; `unisex` = Unisex, 9 |
| `pattern` | Pattern | StoreRouter enrichment | 99% | 22 | `pattern__solid` = Solid, 65; `pattern__texture` = Texture, 35; `pattern__floral` = Floral, 8; `pattern__geometric` = Geometric, 6; `pattern__abstract` = Abstract, 5 |
| `category_path.depth_3` | Category at depth 3 | StoreRouter enrichment | 76% | 21 | `one-pieces` = One-Pieces, 19; `bikinis` = Bikinis, 15; `knitwear` = Knitwear, 8; `trousers` = Trousers, 6; `shirts & blouses` = Shirts & Blouses, 5 |
| `sleeve_length_type` | Sleeve length type | StoreRouter enrichment | 62% | 4 | `sleeve_length_type__sleeveless` = Sleeveless, 41; `sleeve_length_type__long` = Long, 16; `sleeve_length_type__short` = Short, 6; `sleeve_length_type__3/4` = 3/4, 1 |
| `fabric` | Fabric | StoreRouter enrichment | 61% | 20 | `fabric__cotton` = Cotton, 30; `fabric__silk` = Silk, 8; `fabric__cashmere` = Cashmere, 7; `fabric__metallic_lurex` = Metallic / Lurex, 7; `fabric__denim` = Denim, 6 |
| `neckline` | Neckline | StoreRouter enrichment | 53% | 17 | `neckline__v_neck` = V Neck, 9; `neckline__scoop` = Scoop, 8; `neckline__spaghetti_strap` = Spaghetti Strap, 8; `neckline__crew` = Crew, 7; `neckline__square` = Square, 7 |
| `season` | Season | StoreRouter enrichment | 41% | 3 | `season__warm_weather` = Warm Weather, 38; `season__all_season` = All-Season, 2; `season__cold_weather` = Cold Weather, 2 |
| `category_path.depth_4` | Category at depth 4 | StoreRouter enrichment | 33% | 15 | `bikini tops` = Bikini Tops, 7; `sweaters` = Sweaters, 7; `bikini sets` = Bikini Sets, 5; `bikini bottoms` = Bikini Bottoms, 3; `crew / mid-calf` = Crew / Mid-Calf, 2 |
| `graphic_type` | Graphic Type | StoreRouter enrichment | 24% | 3 | `graphic_type__solid_no_print` = Solid / No Print, 23; `graphic_type__logo_branded` = Logo Print, 1; `graphic_type__slogan_text` = Text / Slogan Print, 1 |
| `front_closure_type` | Front Closure | StoreRouter enrichment | 19% | 3 | `front_closure_type__none` = None, 14; `front_closure_type__buttons` = Buttons, 5; `front_closure_type__tie_lace_up` = Tie / Lace-Up, 1 |
| `general_clothing_features` | General Clothing Features | StoreRouter enrichment | 18% | 1 | `general_clothing_features__stretchable` = Stretchable, 19 |
| `front_closure_length` | Front Closure Length | StoreRouter enrichment | 18% | 2 | `front_closure_length__none` = None, 13; `front_closure_length__full` = Full, 5 |
| `fit_top` | Fit (Tops) | StoreRouter enrichment | 17% | 5 | `fit_top__relaxed` = Relaxed, 13; `fit_top__boxy` = Boxy, 5; `fit_top__fitted` = Fitted, 1; `fit_top__flowy` = Flowy, 1; `fit_top__oversized` = Oversized, 1 |
| `skirt_dress_length_type` | Skirt/Dress length type | StoreRouter enrichment | 17% | 3 | `skirt_dress_length_type__maxi` = Maxi, 8; `skirt_dress_length_type__mini` = Mini, 5; `skirt_dress_length_type__midi` = Midi, 4 |
| `collar_style` | Collar Style | StoreRouter enrichment | 16% | 6 | `collar_style__crew` = Crew, 7; `collar_style__collarless` = Collarless, 5; `collar_style__button_down` = Button-Down, 1; `collar_style__camp_revere` = Camp / Revere, 1; `collar_style__mandarin` = Mandarin / Band, 1 |
| `construction_detail` | Construction Detail | StoreRouter enrichment | 16% | 4 | `construction_detail__ruched` = Ruched, 9; `construction_detail__pleated` = Pleated, 3; `construction_detail__draped` = Draped, 2; `construction_detail__smocked` = Smocked, 2 |
| `dress_style` | Dress style | StoreRouter enrichment | 13% | 9 | `dress_style__caftan` = Caftan, 5; `dress_style__drop_waist` = Drop Waist, 3; `dress_style__slip` = Slip, 2; `dress_style__asymmetrical` = Asymmetrical, 1; `dress_style__flared` = Flared, 1 |
| `sustainability_features` | Sustainability Features | StoreRouter enrichment | 13% | 3 | `sustainability_features__organic_materials` = Organic Materials, 10; `sustainability_features__recycled_materials` = Recycled Materials, 3; `sustainability_features__eco_friendly` = Eco-Friendly, 1 |
| `bottoms_closure` | Bottoms Closure | StoreRouter enrichment | 11% | 3 | `bottoms_closure__pull_on` = Pull-On, 8; `bottoms_closure__drawstring` = Drawstring, 3; `bottoms_closure__zip` = Zip Fly, 2 |
| `fit_bottoms` | Fit | StoreRouter enrichment | 11% | 5 | `fit_bottoms__relaxed_boyfriend_fit` = Relaxed / Boyfriend Fit, 6; `fit_bottoms__curved_volume_fit_barrel_hip` = Curved Volume Fit (Barrel Hip), 4; `fit_bottoms__loose_slouchy_fit` = Loose / Slouchy Fit, 1; `fit_bottoms__straight_through_fit` = Straight-Through Fit, 1; `fit_bottoms__wide_leg_volume_fit` = Wide-Leg Volume Fit, 1 |
| `occasion_style_dresses` | Dress occasion | StoreRouter enrichment | 11% | 3 | `occasion_style_dresses__casual` = Casual, 10; `occasion_style_dresses__cocktail` = Cocktail, 1; `occasion_style_dresses__evening` = Evening, 1 |
| `pants_leg_shape` | Leg Shape | StoreRouter enrichment | 10% | 6 | `pants_leg_shape__barrel_balloon` = Barrel / Balloon, 4; `pants_leg_shape__cuffed` = Cuffed, 2; `pants_leg_shape__jogger` = Jogger, 2; `pants_leg_shape__straight` = Straight, 2; `pants_leg_shape__tapered` = Tapered, 2 |
| `sleeve_style` | Sleeve Style | StoreRouter enrichment | 9% | 4 | `sleeve_style__drop_shoulder` = Drop Shoulder, 4; `sleeve_style__dolman` = Dolman / Batwing, 3; `sleeve_style__bell` = Bell, 1; `sleeve_style__bishop` = Bishop, 1 |
| `swimwear_unique_features` | Swimwear Features | StoreRouter enrichment | 9% | 2 | `swimwear_unique_features__adjustable_strap` = Adjustable Strap, 9; `swimwear_unique_features__removable_padding` = Removable Padding, 1 |
| `top_length_type` | Top length type | StoreRouter enrichment | 8% | 3 | `top_length_type__cropped` = Cropped, 5; `top_length_type__hip_length` = Hip Length, 2; `top_length_type__waist_length` = Waist Length, 1 |
| `waist_rise` | Waist rise | StoreRouter enrichment | 8% | 3 | `waist_rise__high` = High, 4; `waist_rise__low` = Low, 2; `waist_rise__mid` = Mid, 2 |
| `fabric_weight` | Fabric Weight | StoreRouter enrichment | 7% | 1 | `fabric_weight__lightweight` = Lightweight, 7 |
| `opacity_level` | Opacity | StoreRouter enrichment | 7% | 3 | `opacity_level__semi_sheer` = Semi-Sheer, 4; `opacity_level__opaque` = Opaque, 2; `opacity_level__sheer` = Sheer, 1 |
| `pants_length_type` | Pants length type | StoreRouter enrichment | 7% | 3 | `pants_length_type__cropped` = Cropped, 4; `pants_length_type__long` = Long, 2; `pants_length_type__ankle` = Ankle Length, 1 |
| `knit_style` | Knit Style | StoreRouter enrichment | 5% | 3 | `knit_style__jersey` = Jersey, 3; `knit_style__rib_knit` = Rib Knit, 2; `knit_style__fine_gauge` = Fine Gauge, 1 |
| `occasion_general` | Occasion | StoreRouter enrichment | 5% | 1 | `occasion_general__casual` = Casual, 5 |
| `placket_type` | Front Opening | StoreRouter enrichment | 5% | 1 | `placket_type__exposed` = Visible Buttons, 5 |
| `skirt_style` | Skirt style | StoreRouter enrichment | 5% | 3 | `skirt_style__wrap` = Wrap, 3; `skirt_style__gathered` = Gathered, 2; `skirt_style__flared` = Flared, 1 |
| `swim_top_coverage_style` | Swim top coverage style | StoreRouter enrichment | 5% | 3 | `swim_top_coverage_style__bandeau` = Bandeau, 3; `swim_top_coverage_style__bralette` = Bralette, 1; `swim_top_coverage_style__triangle` = Triangle, 1 |
| `denim_wash` | Denim Wash | StoreRouter enrichment | 4% | 3 | `denim_wash__light` = Light, 2; `denim_wash__dark` = Dark, 1; `denim_wash__white` = White / Ecru, 1 |
| `denim_wash_effects` | Denim Finish Effects | StoreRouter enrichment | 4% | 3 | `denim_wash_effects__distressed` = Distressed, 2; `denim_wash_effects__clean_none` = Clean / None, 1; `denim_wash_effects__faded_stonewash` = Faded / Stonewash, 1 |
| `openwork_detail` | Openwork Detail | StoreRouter enrichment | 4% | 2 | `openwork_detail__open_knit` = Open Knit, 4; `openwork_detail__crochet` = Crochet, 1 |
| `earring_design` | Earring design | StoreRouter enrichment | 3% | 4 | `earring_design__dangle` = Dangle, 2; `earring_design__drop` = Drop, 2; `earring_design__hoop` = Hoop, 1; `earring_design__teardrop` = Teardrop, 1 |
| `embellishments` | Embellishments | StoreRouter enrichment | 3% | 3 | `embellishments__bow` = Bow, 1; `embellishments__contrast_piping` = Contrast Trim / Piping, 1; `embellishments__decorative_buttons` = Decorative Buttons, 1 |
| `jewelry_material` | Jewelry material | StoreRouter enrichment | 3% | 3 | `jewelry_material__gold_plated` = Gold Plated, 3; `jewelry_material__sterling_silver` = Sterling Silver, 3; `jewelry_material__stone` = Stone, 1 |
| `material` | Material | StoreRouter enrichment | 3% | 5 | `material__cotton` = Cotton, 1; `material__denim` = Denim, 1; `material__leather` = Leather, 1; `material__raffia` = Raffia, 1; `material__straw` = Straw, 1 |
| `slit_style` | Slit Style | StoreRouter enrichment | 3% | 1 | `slit_style__side_slit` = Side Slit, 3 |
| `swim_bottom_coverage_style` | Swim bottom coverage style | StoreRouter enrichment | 3% | 2 | `swim_bottom_coverage_style__cheeky` = Cheeky, 2; `swim_bottom_coverage_style__full` = Full Coverage, 1 |
| `denim_hem_style` | Denim Hem Style | StoreRouter enrichment | 2% | 2 | `denim_hem_style__frayed` = Frayed, 1; `denim_hem_style__regular` = Regular, 1 |
| `one_piece_style` | One-piece style | StoreRouter enrichment | 2% | 2 | `one_piece_style__jumpsuit` = Jumpsuit, 1; `one_piece_style__overall` = Overall, 1 |
| `shorts_fit` | Shorts Fit | StoreRouter enrichment | 2% | 1 | `shorts_fit__relaxed` = Relaxed, 2 |
| `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__synthetic` = Synthetic, 1 |
| `bag_closure_type` | Bag closure type | StoreRouter enrichment | 1% | 1 | `bag_closure_type__zipper` = Zipper, 1 |
| `closure_type_belts` | Closure Type | StoreRouter enrichment | 1% | 1 | `closure_type_belts__buckle` = Classic Buckle, 1 |
| `denim_fabric` | Denim Fabric | StoreRouter enrichment | 1% | 1 | `denim_fabric__rigid` = Rigid, 1 |
| `insulation_level` | Insulation Level | StoreRouter enrichment | 1% | 1 | `insulation_level__lightweight` = Lightweight, 1 |
| `outerwear_length_type` | Outerwear Length | StoreRouter enrichment | 1% | 1 | `outerwear_length_type__hip` = Hip Length, 1 |
| `pants_leg_length` | Pants Leg Length | StoreRouter enrichment | 1% | 1 | `pants_leg_length__cropped` = Cropped, 1 |
| `stretch_level` | Stretch Level | StoreRouter enrichment | 1% | 1 | `stretch_level__none` = None, 1 |
| `surface_finish` | Surface Finish | StoreRouter enrichment | 1% | 1 | `surface_finish__matte` = Matte, 1 |
| `brand_name` | Canonical brand name | Brand | 93% | 30 | `Hunza G` = Hunza G, 15; `Shaina Mote` = Shaina Mote, 7; `Natalie Martin` = Natalie Martin, 5; `Peony` = Peony, 5; `le bon shoppe` = le bon shoppe, 5 |
