# Shop Resa (shop-resa.com) product data API

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

- Catalog key: `shop-resa` (pass in `"catalogs"` to narrow a search to this store)
- Products: 839
- Snapshot: 2026-10-19T17:29:07Z (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/shop-resa
- Get an API key: https://platform.storerouter.ai/auth/organization

## Questions

### What does Shop Resa sell?

Almost entirely Apparel & Accessories: 100% of its 839 products. Clothing is the largest department with 828 products, followed by Accessories (8) and Bags (3). The most common Shop Resa categories are Dresses (354), Swimwear (188) and Tops (124).

### How are Shop Resa 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 Bikini Bottoms (109 products). Every level is a search facet.

### What can I filter Shop Resa products by?

60 searchable fields. Well-covered attributes include sleeve length type (68% of products), neckline (62%) and skirt/dress length type (52%). For sleeve length type, the most common values are Sleeveless, Long and Short; for neckline, the most common values are Halter, Plunging and Spaghetti Strap.

### Is this API provided by Shop Resa or StoreRouter?

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

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

### Where does the data come from?

Straight from shop-resa.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

### Cece in Costa

The Cece Dress features a classic crew neck and short sleeves in a flattering mini silhouette. The asymmetrical hem creates movement and visual interest while enhancing your natural shape. Perfect for effortless style that transitions from day to night.

Indexed response retrieved 2026-10-20T02:07:46.887Z. Price and availability may change.
Availability: In 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": "shop-resa",
  "product": {
    "title": "Cece in Costa",
    "brand": {
      "name": "Resa"
    },
    "productUrl": "https://shop-resa.com/products/cece-in-costa",
    "currentPrice": 142,
    "currency": "USD",
    "inStock": true,
    "description": "The Cece Dress features a classic crew neck and short sleeves in a flattering mini silhouette. The asymmetrical hem creates movement and visual interest while enhancing your natural shape. Perfect for effortless style that transitions from day to night.",
    "primaryImage": {
      "url": "https://cdn.shopify.com/s/files/1/0791/2663/files/cece-in-costa-4115604.jpg?v=1787308934",
      "cdnUrl": "https://cdn.octogen.ai/97bd70c787e4a3af63f6c1244aceafdb/38ae1e8a40605353372faf4aee4c1c50.webp?request_id=7ad8a158-fd06-4e7f-921f-833e6e5eaad5",
      "width": 2755,
      "height": 4130,
      "sizeBytes": 226962,
      "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": "shop-resa",
  "product": {
    "enrichment": {
      "type": "mini dress",
      "category_path": [
        "Apparel & Accessories",
        "Clothing",
        "Dresses"
      ],
      "styles": [
        "feminine",
        "playful",
        "contemporary"
      ],
      "attributes": {
        "Pattern": [
          "Dots"
        ],
        "Neckline": [
          "Crew"
        ],
        "Dress style": [
          "Asymmetrical"
        ],
        "Dress occasion": [
          "Casual"
        ],
        "Sleeve length type": [
          "Short"
        ],
        "Skirt/Dress length type": [
          "Mini"
        ]
      },
      "attribute_handles": {
        "pattern": [
          "pattern__dots"
        ],
        "neckline": [
          "neckline__crew"
        ],
        "dress_style": [
          "dress_style__asymmetrical"
        ],
        "sleeve_length_type": [
          "sleeve_length_type__short"
        ],
        "occasion_style_dresses": [
          "occasion_style_dresses__casual"
        ],
        "skirt_dress_length_type": [
          "skirt_dress_length_type__mini"
        ]
      }
    }
  }
}
```

## 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": ["shop-resa"],
    "q": "dresses",
    "limit": 5
  }'
```

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

- [Cece in Costa](https://shop-resa.com/products/cece-in-costa) — $142.00
- [Cece in Agave](https://shop-resa.com/products/cece-in-agave) — $142.00
- [Rose in Orange Blossom](https://shop-resa.com/products/rose-maxi-in-orangeblossom) — $168.00
- [Savannah in Prism](https://shop-resa.com/products/savannah-in-prism) — $138.00
- [Lennon in Orange Blossom](https://shop-resa.com/products/lennon-maxi-in-orange-blossom) — $178.00

## Prices

Median price $97 across 839 priced products. Current prices, assumed USD.

| Price range | Products |
| --- | --- |
| Under $30 | 2 |
| $30–$50 | 112 |
| $50–$70 | 213 |
| $70–$90 | 80 |
| $90–$110 | 61 |
| $110–$130 | 52 |
| $130–$150 | 135 |
| $150–$170 | 48 |
| $170–$190 | 104 |
| $190 and up | 32 |

## Categories

| Category | Products |
| --- | --- |
| Dresses | 354 |
| Swimwear | 188 |
| Tops | 124 |
| Skirts | 76 |
| Sets & Co-ords | 24 |
| Pants | 23 |
| Shorts | 23 |
| Underwear & Sleepwear | 16 |
| Hats & Headwear | 6 |
| Luggage, Travel & Utility | 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, 824; `true` = True, 15 |
| `color` | Product color | Merchant data | 98% | 35 | `multi` = Multi, 377; `brown` = Brown, 85; `black` = Black, 65; `white` = White, 64; `blue` = Blue, 41 |
| `color_family` | Color family | Merchant data | 98% | 12 | `Multicolor` = Multicolor, 377; `Brown` = Brown, 122; `White` = White, 79; `Blue` = Blue, 76; `Black` = Black, 65 |
| `category_path.depth_0` | Category at depth 0 | StoreRouter enrichment | 100% | 1 | `apparel & accessories` = Apparel & Accessories, 839 |
| `category_path.depth_1` | Category at depth 1 | StoreRouter enrichment | 100% | 3 | `clothing` = Clothing, 828; `accessories` = Accessories, 8; `bags` = Bags, 3 |
| `category_path.depth_2` | Category at depth 2 | StoreRouter enrichment | 100% | 12 | `dresses` = Dresses, 354; `swimwear` = Swimwear, 188; `tops` = Tops, 124; `skirts` = Skirts, 76; `sets & co-ords` = Sets & Co-ords, 24 |
| `pattern` | Pattern | StoreRouter enrichment | 100% | 28 | `pattern__floral` = Floral, 228; `pattern__solid` = Solid, 151; `pattern__dots` = Dots, 117; `pattern__geometric` = Geometric, 117; `pattern__animal` = Animal, 112 |
| `age_groups` | Age Group | StoreRouter enrichment | 100% | 1 | `adult` = Adult, 838 |
| `gender` | Gender | StoreRouter enrichment | 100% | 2 | `female` = Female, 834; `unisex` = Unisex, 4 |
| `sleeve_length_type` | Sleeve length type | StoreRouter enrichment | 69% | 3 | `sleeve_length_type__sleeveless` = Sleeveless, 375; `sleeve_length_type__long` = Long, 167; `sleeve_length_type__short` = Short, 33 |
| `neckline` | Neckline | StoreRouter enrichment | 62% | 21 | `neckline__halter` = Halter, 122; `neckline__plunging` = Plunging, 100; `neckline__spaghetti_strap` = Spaghetti Strap, 97; `neckline__v_neck` = V Neck, 68; `neckline__mock` = Mock Neck, 47 |
| `skirt_dress_length_type` | Skirt/Dress length type | StoreRouter enrichment | 53% | 3 | `skirt_dress_length_type__maxi` = Maxi, 241; `skirt_dress_length_type__mini` = Mini, 147; `skirt_dress_length_type__midi` = Midi, 57 |
| `category_path.depth_3` | Category at depth 3 | StoreRouter enrichment | 46% | 21 | `bikinis` = Bikinis, 183; `shirts & blouses` = Shirts & Blouses, 71; `tank tops & sleeveless` = Tank Tops & Sleeveless, 33; `trousers` = Trousers, 16; `skorts` = Skorts, 15 |
| `graphic_type` | Graphic Type | StoreRouter enrichment | 30% | 3 | `graphic_type__solid_no_print` = Solid / No Print, 245; `graphic_type__abstract_print` = Abstract Graphic, 3; `graphic_type__photo_art` = Photo Print / Art, 3 |
| `category_path.depth_4` | Category at depth 4 | StoreRouter enrichment | 29% | 14 | `bikini bottoms` = Bikini Bottoms, 109; `bikini tops` = Bikini Tops, 68; `tank & cami tops` = Tank & Cami Tops, 29; `loungewear` = Loungewear, 8; `bikini sets` = Bikini Sets, 6 |
| `dress_style` | Dress style | StoreRouter enrichment | 28% | 19 | `dress_style__bodycon` = Bodycon, 97; `dress_style__slip` = Slip, 87; `dress_style__backless` = Backless, 28; `dress_style__gown` = Gown, 24; `dress_style__drop_waist` = Drop Waist, 14 |
| `season` | Season | StoreRouter enrichment | 25% | 1 | `season__warm_weather` = Warm Weather, 207 |
| `occasion_style_dresses` | Dress occasion | StoreRouter enrichment | 23% | 3 | `occasion_style_dresses__casual` = Casual, 104; `occasion_style_dresses__evening` = Evening, 102; `occasion_style_dresses__cocktail` = Cocktail, 39 |
| `construction_detail` | Construction Detail | StoreRouter enrichment | 23% | 7 | `construction_detail__draped` = Draped, 53; `construction_detail__ruched` = Ruched, 51; `construction_detail__ruffled` = Ruffled, 38; `construction_detail__lace_trim` = Lace Trim, 30; `construction_detail__smocked` = Smocked, 21 |
| `fabric` | Fabric | StoreRouter enrichment | 20% | 9 | `fabric__mesh` = Mesh, 82; `fabric__polyester` = Polyester, 46; `fabric__elastane` = Elastane (Spandex / Lycra), 34; `fabric__chiffon` = Chiffon, 26; `fabric__cotton` = Cotton, 17 |
| `front_closure_type` | Front Closure | StoreRouter enrichment | 14% | 3 | `front_closure_type__none` = None, 65; `front_closure_type__tie_lace_up` = Tie / Lace-Up, 36; `front_closure_type__buttons` = Buttons, 14 |
| `swimwear_unique_features` | Swimwear Features | StoreRouter enrichment | 14% | 1 | `swimwear_unique_features__adjustable_strap` = Adjustable Strap, 115 |
| `opacity_level` | Opacity | StoreRouter enrichment | 14% | 3 | `opacity_level__sheer` = Sheer, 91; `opacity_level__opaque` = Opaque, 14; `opacity_level__semi_sheer` = Semi-Sheer, 9 |
| `swim_bottom_coverage_style` | Swim bottom coverage style | StoreRouter enrichment | 12% | 4 | `swim_bottom_coverage_style__cheeky` = Cheeky, 73; `swim_bottom_coverage_style__high_waisted` = High-Waisted, 13; `swim_bottom_coverage_style__thong` = Thong, 10; `swim_bottom_coverage_style__classic` = Classic, 6 |
| `top_length_type` | Top length type | StoreRouter enrichment | 12% | 2 | `top_length_type__cropped` = Cropped, 95; `top_length_type__hip_length` = Hip Length, 3 |
| `sleeve_style` | Sleeve Style | StoreRouter enrichment | 10% | 7 | `sleeve_style__bell` = Bell, 61; `sleeve_style__ruffle` = Ruffle, 10; `sleeve_style__drop_shoulder` = Drop Shoulder, 5; `sleeve_style__puff` = Puff, 5; `sleeve_style__balloon` = Balloon, 2 |
| `swim_top_coverage_style` | Swim top coverage style | StoreRouter enrichment | 8% | 3 | `swim_top_coverage_style__triangle` = Triangle, 40; `swim_top_coverage_style__bralette` = Bralette, 22; `swim_top_coverage_style__bandeau` = Bandeau, 7 |
| `collar_style` | Collar Style | StoreRouter enrichment | 8% | 5 | `collar_style__collarless` = Collarless, 44; `collar_style__crew` = Crew, 13; `collar_style__button_down` = Button-Down, 6; `collar_style__camp_revere` = Camp / Revere, 1; `collar_style__stand_funnel` = Stand / Funnel, 1 |
| `general_clothing_features` | General Clothing Features | StoreRouter enrichment | 7% | 2 | `general_clothing_features__stretchable` = Stretchable, 55; `general_clothing_features__reversible` = Reversible, 6 |
| `slit_style` | Slit Style | StoreRouter enrichment | 7% | 3 | `slit_style__side_slit` = Side Slit, 27; `slit_style__front_slit` = Front Slit, 23; `slit_style__high_slit` = High Slit, 16 |
| `bottoms_closure` | Bottoms Closure | StoreRouter enrichment | 5% | 4 | `bottoms_closure__drawstring` = Drawstring, 26; `bottoms_closure__pull_on` = Pull-On, 9; `bottoms_closure__zip` = Zip Fly, 9; `bottoms_closure__buttons` = Button Fly, 5 |
| `front_closure_length` | Front Closure Length | StoreRouter enrichment | 5% | 1 | `front_closure_length__none` = None, 44 |
| `fit_top` | Fit (Tops) | StoreRouter enrichment | 5% | 4 | `fit_top__fitted` = Fitted, 31; `fit_top__flowy` = Flowy, 7; `fit_top__oversized` = Oversized, 5; `fit_top__relaxed` = Relaxed, 1 |
| `skirt_style` | Skirt style | StoreRouter enrichment | 5% | 7 | `skirt_style__wrap` = Wrap, 14; `skirt_style__asymmetrical` = Asymmetrical, 13; `skirt_style__pencil` = Pencil, 7; `skirt_style__flared` = Flared, 3; `skirt_style__tiered` = Tiered, 2 |
| `embellishments` | Embellishments | StoreRouter enrichment | 5% | 7 | `embellishments__bow` = Bow, 29; `embellishments__sequins` = Sequins, 4; `embellishments__decorative_buttons` = Decorative Buttons, 3; `embellishments__applique` = Appliqué, 1; `embellishments__beading` = Beading, 1 |
| `fabric_weight` | Fabric Weight | StoreRouter enrichment | 4% | 2 | `fabric_weight__sheer` = Sheer, 29; `fabric_weight__lightweight` = Lightweight, 8 |
| `occasion_general` | Occasion | StoreRouter enrichment | 4% | 1 | `occasion_general__casual` = Casual, 33 |
| `openwork_detail` | Openwork Detail | StoreRouter enrichment | 4% | 2 | `openwork_detail__cutouts` = Cutouts, 27; `openwork_detail__eyelet` = Eyelet, 4 |
| `pants_length_type` | Pants length type | StoreRouter enrichment | 4% | 3 | `pants_length_type__long` = Long, 14; `pants_length_type__above_the_knee` = Above the Knee, 9; `pants_length_type__ankle` = Ankle Length, 6 |
| `pants_leg_shape` | Leg Shape | StoreRouter enrichment | 3% | 5 | `pants_leg_shape__wide_leg` = Wide Leg, 16; `pants_leg_shape__cuffed` = Cuffed, 2; `pants_leg_shape__jogger` = Jogger, 2; `pants_leg_shape__skinny` = Skinny, 2; `pants_leg_shape__flare` = Flare, 1 |
| `fit_bottoms` | Fit | StoreRouter enrichment | 2% | 4 | `fit_bottoms__wide_leg_volume_fit` = Wide-Leg Volume Fit, 11; `fit_bottoms__loose_slouchy_fit` = Loose / Slouchy Fit, 5; `fit_bottoms__hip_hugging_skinny_fit` = Hip-Hugging (Skinny Fit), 3; `fit_bottoms__relaxed_boyfriend_fit` = Relaxed / Boyfriend Fit, 1 |
| `surface_finish` | Surface Finish | StoreRouter enrichment | 2% | 3 | `surface_finish__glossy` = Glossy, 7; `surface_finish__matte` = Matte, 4; `surface_finish__metallic` = Metallic, 3 |
| `placket_type` | Front Opening | StoreRouter enrichment | 2% | 1 | `placket_type__exposed` = Visible Buttons, 13 |
| `waist_rise` | Waist rise | StoreRouter enrichment | 1% | 2 | `waist_rise__high` = High, 7; `waist_rise__low` = Low, 5 |
| `activewear_unique_features` | Activewear Features | StoreRouter enrichment | 1% | 2 | `activewear_unique_features__adjustable_waistband` = Adjustable Waistband, 6; `activewear_unique_features__body_contouring_fit` = Body Contouring Fit, 3 |
| `category_path.depth_5` | Category at depth 5 | StoreRouter enrichment | 1% | 2 | `lounge bottoms` = Lounge Bottoms, 5; `lounge tops` = Lounge Tops, 3 |
| `knit_style` | Knit Style | StoreRouter enrichment | <1% | 3 | `knit_style__rib_knit` = Rib Knit, 3; `knit_style__fine_gauge` = Fine Gauge, 2; `knit_style__french_terry` = French Terry, 2 |
| `performance_features` | Performance Features | StoreRouter enrichment | <1% | 1 | `performance_features__breathable_design` = Breathable Design, 6 |
| `underwear_coverage_style` | Underwear coverage style | StoreRouter enrichment | <1% | 1 | `underwear_coverage_style__boyshort` = Boyshort, 4 |
| `top_hem_shape` | Top Hem Shape | StoreRouter enrichment | <1% | 1 | `top_hem_shape__asymmetric` = Asymmetric, 3 |
| `bag_closure_type` | Bag closure type | StoreRouter enrichment | <1% | 1 | `bag_closure_type__zipper` = Zipper, 2 |
| `stretch_level` | Stretch Level | StoreRouter enrichment | <1% | 1 | `stretch_level__high` = High, 2 |
| `activity_type` | Activity Type | StoreRouter enrichment | <1% | 1 | `activity_type__cycling` = Cycling, 1 |
| `bag_shape` | Bag Shape | StoreRouter enrichment | <1% | 1 | `bag_shape__rectangle` = Rectangle, 1 |
| `carry_options` | Carry options | StoreRouter enrichment | <1% | 1 | `carry_options__handle` = Handle, 1 |
| `insulation_level` | Insulation Level | StoreRouter enrichment | <1% | 1 | `insulation_level__lightweight` = Lightweight, 1 |
| `material` | Material | StoreRouter enrichment | <1% | 1 | `material__terrycloth` = Terrycloth, 1 |
| `shorts_fit` | Shorts Fit | StoreRouter enrichment | <1% | 2 | `shorts_fit__athletic` = Athletic, 1; `shorts_fit__slim` = Slim, 1 |
| `size_group` | Size Type | StoreRouter enrichment | <1% | 1 | `size_group__maternity` = Maternity, 1 |
| `brand_name` | Canonical brand name | Brand | 100% | 1 | `Resa` = Resa, 839 |
