# Benoaswim (benoaswim.com) product data API

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

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

## Questions

### What does Benoaswim sell?

Almost entirely Apparel & Accessories: 99.8% of its 723 products. Clothing is the largest department with 720 products, followed by Accessories (2) and Makeup (1). The most common Benoaswim categories are Swimwear (513), Dresses (64) and Jumpsuits & One-Pieces (44).

### How are Benoaswim products categorized?

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

### What can I filter Benoaswim products by?

59 searchable fields. Well-covered attributes include fabric (82% of products), sleeve length type (64%) and neckline (59%). For fabric, the most common values are Elastane (Spandex / Lycra), Nylon / Polyamide and Rayon; for sleeve length type, the most common values are Sleeveless, Long and Short.

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

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

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

### Where does the data come from?

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

### Ocean Top - Guava

Our new long sleeve top with full frontal coverage, an open back with tie details from the India top, accompanied by our signature Benoa leaf details. This is our go to top when extra sun protection is needed.   Full frontal coverage  Self tie Recycled materials, 78% repreve nylon 22% spandex Designed in Hawaii, made in Indonesia Hand wash cold, dry in the shade  First model is wearing a small. Second model is wearing a large.

Indexed response retrieved 2026-10-15T19:38:19.505Z. Price and availability may change.
Availability: In stock
Sizes: Petite, Small, Medium, Large, Extra Large

### Product details

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

```json
{
  "source": "indexed",
  "catalogKey": "benoaswim",
  "product": {
    "title": "Ocean Top - Guava",
    "brand": {
      "name": "Benoa Swim"
    },
    "productUrl": "https://www.benoaswim.com/products/ocean-top-guava",
    "currentPrice": 100,
    "currency": "USD",
    "inStock": true,
    "description": "Our new long sleeve top with full frontal coverage, an open back with tie details from the India top, accompanied by our signature Benoa leaf details. This is our go to top when extra sun protection is needed.   Full frontal coverage  Self tie Recycled materials, 78% repreve nylon 22% spandex Designed in Hawaii, made in Indonesia Hand wash cold, dry in the shade  First model is wearing a small. Second model is wearing a large. ",
    "primaryImage": {
      "url": "https://cdn.shopify.com/s/files/1/0083/0006/8922/files/Summer_26_dreamgirl51848_ryantfoley.jpg?v=1778903893",
      "cdnUrl": "https://cdn.octogen.ai/ee99d2f4b4225e8a48075b096903bb3b/8d0008e731b96675ce9ce67d8abf72c9.webp?request_id=a0d005f5-ce7e-4aab-a909-14ab475517fc",
      "width": 1333,
      "height": 2000,
      "sizeBytes": 114522,
      "mimeType": "image/webp"
    },
    "details": {
      "materials": [
        "Recycled materials, 78% repreve nylon 22% spandex"
      ],
      "fit": [],
      "dimensions": null,
      "patterns": []
    }
  }
}
```

### Enrichment

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

```json
{
  "source": "indexed",
  "catalogKey": "benoaswim",
  "product": {
    "enrichment": {
      "type": "rash guard",
      "category_path": [
        "Apparel & Accessories",
        "Clothing",
        "Swimwear",
        "Performance Tops",
        "Rash Guards"
      ],
      "styles": [
        "sporty",
        "beachwear"
      ],
      "attributes": {
        "Fabric": [
          "Elastane (Spandex / Lycra)",
          "Nylon / Polyamide"
        ],
        "Season": [
          "Warm Weather"
        ],
        "Pattern": [
          "Leaves",
          "Solid"
        ],
        "Neckline": [
          "Round"
        ],
        "Activity Type": [
          "Swimming"
        ],
        "Sleeve length type": [
          "Long"
        ],
        "Performance Features": [
          "UV Protection"
        ],
        "Sustainability Features": [
          "Recycled Materials"
        ],
        "Swim top coverage style": [
          "Sport"
        ],
        "General Clothing Features": [
          "Stretchable"
        ]
      },
      "attribute_handles": {
        "fabric": [
          "fabric__elastane",
          "fabric__nylon"
        ],
        "season": [
          "season__warm_weather"
        ],
        "pattern": [
          "pattern__leaves",
          "pattern__solid"
        ],
        "neckline": [
          "neckline__round"
        ],
        "activity_type": [
          "activity_type__swimming"
        ],
        "sleeve_length_type": [
          "sleeve_length_type__long"
        ],
        "performance_features": [
          "performance_features__uv_protection"
        ],
        "sustainability_features": [
          "sustainability_features__recycled_materials"
        ],
        "swim_top_coverage_style": [
          "swim_top_coverage_style__sport"
        ],
        "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": ["benoaswim"],
    "q": "swimwear",
    "limit": 5
  }'
```

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

- [Ocean Top - Guava](https://www.benoaswim.com/products/ocean-top-guava) — $100.00
- [Ocean Top - Cowrie Basket](https://www.benoaswim.com/products/ocean-top-cowrie-basket) — $110.00
- [Ocean Top - Spring](https://www.benoaswim.com/products/ocean-top-spring) — $110.00
- [Ocean Top - Ocean](https://www.benoaswim.com/products/ocean-top-ocean) — $100.00
- [Sonora One Piece 2.0 - Goldie](https://www.benoaswim.com/products/sonora-one-piece-2-0-goldie) — $215.00

## Categories

| Category | Products |
| --- | --- |
| Swimwear | 513 |
| Dresses | 64 |
| Jumpsuits & One-Pieces | 44 |
| Tops | 43 |
| Shorts | 38 |
| Underwear & Sleepwear | 11 |
| Pants | 4 |
| Hats & Headwear | 2 |
| Sets & Co-ords | 2 |
| Body | 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, 590; `true` = True, 132 |
| `color` | Product color | Merchant data | 95% | 28 | `multi` = Multi, 238; `brown` = Brown, 101; `pink` = Pink, 68; `black` = Black, 50; `gold` = Gold, 46 |
| `color_family` | Color family | Merchant data | 95% | 11 | `Multicolor` = Multicolor, 238; `Brown` = Brown, 135; `Pink` = Pink, 68; `Yellow` = Yellow, 66; `Blue` = Blue, 63 |
| `age_groups` | Age Group | StoreRouter enrichment | 100% | 4 | `adult` = Adult, 715; `kids` = Kids, 8; `infant` = Infant, 1; `toddler` = Toddler, 1 |
| `category_path.depth_0` | Category at depth 0 | StoreRouter enrichment | 100% | 2 | `apparel & accessories` = Apparel & Accessories, 722; `beauty` = Beauty, 1 |
| `category_path.depth_1` | Category at depth 1 | StoreRouter enrichment | 100% | 3 | `clothing` = Clothing, 720; `accessories` = Accessories, 2; `makeup` = Makeup, 1 |
| `category_path.depth_2` | Category at depth 2 | StoreRouter enrichment | 100% | 11 | `swimwear` = Swimwear, 513; `dresses` = Dresses, 64; `jumpsuits & one-pieces` = Jumpsuits & One-Pieces, 44; `tops` = Tops, 43; `shorts` = Shorts, 38 |
| `gender` | Gender | StoreRouter enrichment | 100% | 3 | `female` = Female, 708; `unisex` = Unisex, 14; `male` = Male, 1 |
| `pattern` | Pattern | StoreRouter enrichment | 100% | 22 | `pattern__floral` = Floral, 303; `pattern__solid` = Solid, 280; `pattern__leaves` = Leaves, 175; `pattern__leopard` = Leopard / Cheetah, 59; `pattern__geometric` = Geometric, 49 |
| `sustainability_features` | Sustainability Features | StoreRouter enrichment | 96% | 2 | `sustainability_features__recycled_materials` = Recycled Materials, 560; `sustainability_features__eco_friendly` = Eco-Friendly, 134 |
| `category_path.depth_3` | Category at depth 3 | StoreRouter enrichment | 85% | 17 | `bikinis` = Bikinis, 379; `one-pieces` = One-Pieces, 100; `tank tops & sleeveless` = Tank Tops & Sleeveless, 39; `casual shorts` = Casual Shorts, 18; `performance shorts` = Performance Shorts, 16 |
| `fabric` | Fabric | StoreRouter enrichment | 82% | 8 | `fabric__elastane` = Elastane (Spandex / Lycra), 445; `fabric__nylon` = Nylon / Polyamide, 445; `fabric__rayon` = Rayon, 126; `fabric__lyocell` = Lyocell, 21; `fabric__modal` = Modal, 21 |
| `season` | Season | StoreRouter enrichment | 70% | 1 | `season__warm_weather` = Warm Weather, 503 |
| `sleeve_length_type` | Sleeve length type | StoreRouter enrichment | 64% | 3 | `sleeve_length_type__sleeveless` = Sleeveless, 407; `sleeve_length_type__long` = Long, 48; `sleeve_length_type__short` = Short, 10 |
| `category_path.depth_4` | Category at depth 4 | StoreRouter enrichment | 61% | 9 | `bikini bottoms` = Bikini Bottoms, 189; `bikini tops` = Bikini Tops, 187; `tank & cami tops` = Tank & Cami Tops, 22; `tube tops` = Tube Tops, 17; `rash guards` = Rash Guards, 12 |
| `general_clothing_features` | General Clothing Features | StoreRouter enrichment | 61% | 1 | `general_clothing_features__stretchable` = Stretchable, 444 |
| `neckline` | Neckline | StoreRouter enrichment | 60% | 13 | `neckline__spaghetti_strap` = Spaghetti Strap, 131; `neckline__scoop` = Scoop, 94; `neckline__strapless` = Strapless, 74; `neckline__halter` = Halter, 52; `neckline__plunging` = Plunging, 40 |
| `swim_bottom_coverage_style` | Swim bottom coverage style | StoreRouter enrichment | 27% | 4 | `swim_bottom_coverage_style__cheeky` = Cheeky, 137; `swim_bottom_coverage_style__thong` = Thong, 47; `swim_bottom_coverage_style__full` = Full Coverage, 24; `swim_bottom_coverage_style__high_waisted` = High-Waisted, 1 |
| `swim_top_coverage_style` | Swim top coverage style | StoreRouter enrichment | 26% | 6 | `swim_top_coverage_style__triangle` = Triangle, 116; `swim_top_coverage_style__bralette` = Bralette, 31; `swim_top_coverage_style__bandeau` = Bandeau, 29; `swim_top_coverage_style__sport` = Sport, 15; `swim_top_coverage_style__high_neck` = High Neck, 2 |
| `swimwear_unique_features` | Swimwear Features | StoreRouter enrichment | 20% | 1 | `swimwear_unique_features__adjustable_strap` = Adjustable Strap, 141 |
| `dress_style` | Dress style | StoreRouter enrichment | 11% | 11 | `dress_style__backless` = Backless, 43; `dress_style__bodycon` = Bodycon, 24; `dress_style__slip` = Slip, 20; `dress_style__smock` = Smock, 9; `dress_style__tank` = Tank, 4 |
| `skirt_dress_length_type` | Skirt/Dress length type | StoreRouter enrichment | 9% | 2 | `skirt_dress_length_type__mini` = Mini, 47; `skirt_dress_length_type__maxi` = Maxi, 19 |
| `occasion_style_dresses` | Dress occasion | StoreRouter enrichment | 9% | 3 | `occasion_style_dresses__casual` = Casual, 57; `occasion_style_dresses__cocktail` = Cocktail, 13; `occasion_style_dresses__evening` = Evening, 7 |
| `construction_detail` | Construction Detail | StoreRouter enrichment | 8% | 4 | `construction_detail__smocked` = Smocked, 27; `construction_detail__ruched` = Ruched, 22; `construction_detail__ruffled` = Ruffled, 12; `construction_detail__draped` = Draped, 2 |
| `graphic_type` | Graphic Type | StoreRouter enrichment | 8% | 4 | `graphic_type__solid_no_print` = Solid / No Print, 42; `graphic_type__logo_branded` = Logo Print, 13; `graphic_type__logo_embroidery` = Logo Embroidery, 2; `graphic_type__photo_art` = Photo Print / Art, 1 |
| `one_piece_style` | One-piece style | StoreRouter enrichment | 6% | 1 | `one_piece_style__romper` = Romper, 44 |
| `front_closure_type` | Front Closure | StoreRouter enrichment | 6% | 2 | `front_closure_type__none` = None, 40; `front_closure_type__tie_lace_up` = Tie / Lace-Up, 3 |
| `front_closure_length` | Front Closure Length | StoreRouter enrichment | 5% | 1 | `front_closure_length__none` = None, 38 |
| `openwork_detail` | Openwork Detail | StoreRouter enrichment | 5% | 2 | `openwork_detail__cutouts` = Cutouts, 36; `openwork_detail__open_knit` = Open Knit, 3 |
| `top_length_type` | Top length type | StoreRouter enrichment | 5% | 2 | `top_length_type__cropped` = Cropped, 36; `top_length_type__waist_length` = Waist Length, 2 |
| `pants_length_type` | Pants length type | StoreRouter enrichment | 5% | 2 | `pants_length_type__above_the_knee` = Above the Knee, 35; `pants_length_type__ankle` = Ankle Length, 2 |
| `collar_style` | Collar Style | StoreRouter enrichment | 5% | 2 | `collar_style__collarless` = Collarless, 35; `collar_style__crew` = Crew, 1 |
| `fit_top` | Fit (Tops) | StoreRouter enrichment | 4% | 1 | `fit_top__fitted` = Fitted, 29 |
| `bottoms_closure` | Bottoms Closure | StoreRouter enrichment | 4% | 4 | `bottoms_closure__pull_on` = Pull-On, 20; `bottoms_closure__zip` = Zip Fly, 4; `bottoms_closure__hook_bar` = Hook & Bar, 2; `bottoms_closure__buttons` = Button Fly, 1 |
| `performance_features` | Performance Features | StoreRouter enrichment | 4% | 1 | `performance_features__uv_protection` = UV Protection, 27 |
| `activity_type` | Activity Type | StoreRouter enrichment | 3% | 3 | `activity_type__swimming` = Swimming, 13; `activity_type__hiking_outdoor` = Hiking / Outdoor, 8; `activity_type__training_gym` = Training / Gym, 8 |
| `opacity_level` | Opacity | StoreRouter enrichment | 3% | 1 | `opacity_level__opaque` = Opaque, 20 |
| `waist_rise` | Waist rise | StoreRouter enrichment | 3% | 3 | `waist_rise__low` = Low, 13; `waist_rise__high` = High, 7; `waist_rise__mid` = Mid, 3 |
| `fit_bottoms` | Fit | StoreRouter enrichment | 3% | 2 | `fit_bottoms__hip_hugging_skinny_fit` = Hip-Hugging (Skinny Fit), 15; `fit_bottoms__classic_trouser_fit` = Classic Trouser Fit, 4 |
| `slit_style` | Slit Style | StoreRouter enrichment | 3% | 2 | `slit_style__side_slit` = Side Slit, 15; `slit_style__high_slit` = High Slit, 4 |
| `activewear_unique_features` | Activewear Features | StoreRouter enrichment | 2% | 3 | `activewear_unique_features__body_contouring_fit` = Body Contouring Fit, 12; `activewear_unique_features__hidden_pockets` = Hidden Pockets, 5; `activewear_unique_features__compression` = Compression, 2 |
| `shorts_fit` | Shorts Fit | StoreRouter enrichment | 2% | 2 | `shorts_fit__slim` = Slim, 16; `shorts_fit__athletic` = Athletic, 11 |
| `sleeve_style` | Sleeve Style | StoreRouter enrichment | 2% | 2 | `sleeve_style__ruffle` = Ruffle, 7; `sleeve_style__drop_shoulder` = Drop Shoulder, 6 |
| `bra_closure_type` | Bra closure type | StoreRouter enrichment | 2% | 1 | `bra_closure_type__pull-on-no-closure` = Pull-on (no Closure), 11 |
| `bra_style` | Bra style | StoreRouter enrichment | 2% | 5 | `bra_style__wireless` = Wireless, 11; `bra_style__contour` = Contour, 4; `bra_style__halter` = Halter, 3; `bra_style__plunge` = Plunge, 3; `bra_style__push_up` = Push Up, 3 |
| `compression_level` | Compression level | StoreRouter enrichment | 2% | 1 | `compression_level__high` = High, 11 |
| `bra_features` | Bra features | StoreRouter enrichment | 1% | 1 | `bra_features__adjustable_strap` = Adjustable Strap, 8 |
| `bra_strap_type` | Bra strap type | StoreRouter enrichment | 1% | 2 | `bra_strap_type__adjustable` = Adjustable, 8; `bra_strap_type__standard` = Standard, 1 |
| `embellishments` | Embellishments | StoreRouter enrichment | 1% | 3 | `embellishments__bow` = Bow, 4; `embellishments__beading` = Beading, 2; `embellishments__sequins` = Sequins, 2 |
| `bra_coverage_style` | Bra coverage style | StoreRouter enrichment | 1% | 2 | `bra_coverage_style__plunge` = Plunge, 4; `bra_coverage_style__full` = Full Coverage, 3 |
| `surface_finish` | Surface Finish | StoreRouter enrichment | <1% | 2 | `surface_finish__matte` = Matte, 3; `surface_finish__metallic` = Metallic, 3 |
| `bra_support_level` | Bra support level | StoreRouter enrichment | <1% | 1 | `bra_support_level__high` = High, 5 |
| `occasion_general` | Occasion | StoreRouter enrichment | <1% | 1 | `occasion_general__casual` = Casual, 5 |
| `pants_leg_shape` | Leg Shape | StoreRouter enrichment | <1% | 1 | `pants_leg_shape__straight` = Straight, 4 |
| `size_group` | Size Type | StoreRouter enrichment | <1% | 1 | `size_group__plus` = Plus, 3 |
| `material` | Material | StoreRouter enrichment | <1% | 3 | `material__foam` = Foam, 2; `material__mesh` = Mesh, 2; `material__polyester` = Polyester, 1 |
| `activity_intensity` | Activity Intensity | StoreRouter enrichment | <1% | 1 | `activity_intensity__training` = Training, 1 |
| `skirt_style` | Skirt style | StoreRouter enrichment | <1% | 1 | `skirt_style__wrap` = Wrap, 1 |
| `brand_name` | Canonical brand name | Brand | 96% | 1 | `Benoa Swim` = Benoa Swim, 693 |
