# Hanselfrombasel (hanselfrombasel.com) product data API

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

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

## Questions

### What does Hanselfrombasel sell?

Almost entirely Apparel & Accessories: 100% of its 339 products. Clothing is the largest department with 318 products, followed by Accessories (13) and Bags (8). The most common Hanselfrombasel categories are Underwear & Sleepwear (298), Pants (12) and Tops (8).

### How are Hanselfrombasel 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 Crew / Mid-Calf (277 products). Every level is a search facet.

### What can I filter Hanselfrombasel products by?

43 searchable fields. Well-covered attributes include fabric (96% of products), age group (100%) and pattern (99%). For fabric, the most common values are Nylon / Polyamide, Elastane (Spandex / Lycra) and Cotton; for age group, the most common values are Adult, Kids and Toddler.

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

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

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

### Where does the data come from?

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

### Downward Panda Mini + Me Men's Set

Strike a pose! These cozy cotton-blend crews feature fuzzy little pandas who just so happen to love doing yoga. Can you even bear it?!Mini + Me Sets include: 1pr kid's + 1pr men's crew, the perfect opportunity to match your mini :)

Indexed response retrieved 2026-10-15T18:33:08.332Z. Price and availability may change.
Availability: In stock
Sizes: 12-24 mos, 2-3 yrs, 4-5 yrs, 6-7 yrs

### Product details

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

```json
{
  "source": "indexed",
  "catalogKey": "hanselfrombasel",
  "product": {
    "title": "Downward Panda Mini + Me Men's Set",
    "brand": {
      "name": "Hansel from Basel"
    },
    "productUrl": "https://hanselfrombasel.com/products/downward-panda-bundle",
    "currentPrice": 32,
    "currency": "USD",
    "inStock": true,
    "description": "Strike a pose! These cozy cotton-blend crews feature fuzzy little pandas who just so happen to love doing yoga. Can you even bear it?!Mini + Me Sets include: 1pr kid's + 1pr men's crew, the perfect opportunity to match your mini :)",
    "primaryImage": {
      "url": "https://cdn.shopify.com/s/files/1/0780/4991/files/hfb_112390_downward_panda_mens_crew_ochre_mini_set.jpg?v=1717639218",
      "cdnUrl": "https://cdn.octogen.ai/5eebb0331ceafda3b5049712fb83d23d/55c033de0730b193412d20a5edf128c8.jpeg?request_id=9ef692ab-0345-4f46-8a8a-13c6536a6ac2",
      "width": 1500,
      "height": 2000,
      "sizeBytes": 310951,
      "mimeType": "image/jpeg"
    },
    "details": {
      "materials": [
        "cotton/nylon blend"
      ],
      "fit": [],
      "dimensions": null,
      "patterns": []
    }
  }
}
```

### Enrichment

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

```json
{
  "source": "indexed",
  "catalogKey": "hanselfrombasel",
  "product": {
    "enrichment": {
      "type": "sock set",
      "category_path": [
        "Apparel & Accessories",
        "Clothing",
        "Underwear & Sleepwear",
        "Socks",
        "Crew / Mid-Calf"
      ],
      "styles": [
        "playful",
        "casual",
        "whimsical"
      ],
      "attributes": {
        "Fabric": [
          "Cotton",
          "Nylon / Polyamide"
        ],
        "Pattern": [
          "Animal"
        ]
      },
      "attribute_handles": {
        "fabric": [
          "fabric__cotton",
          "fabric__nylon"
        ],
        "pattern": [
          "pattern__animal"
        ]
      }
    }
  }
}
```

## 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": ["hanselfrombasel"],
    "q": "underwear & sleepwear",
    "limit": 5
  }'
```

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

- [Downward Panda Mini + Me Men's Set](https://hanselfrombasel.com/products/downward-panda-bundle) — $32.00
- [Thermal Ruffle Sporty Grip Crew](https://hanselfrombasel.com/products/thermal-ruffle-sporty-grip-crew) — $20.00
- [Sunny Side Up Men's Crew](https://hanselfrombasel.com/products/sunny-side-up-men-s-crew) — $24.00
- [Cashmere Sweater Tight](https://hanselfrombasel.com/products/cashmere-tight-fw26-black) — $40.00
- [Downward Panda Men’s Crew](https://hanselfrombasel.com/products/downward-panda-men-s-crew) — $24.00

## Categories

| Category | Products |
| --- | --- |
| Underwear & Sleepwear | 298 |
| Pants | 12 |
| Tops | 8 |
| Totes & Shoppers | 8 |
| Hats & Headwear | 6 |
| Hair Accessories | 4 |
| Leg Warmers | 3 |

## 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, 312; `true` = True, 27 |
| `color` | Product color | Merchant data | 98% | 47 | `black` = Black, 80; `white` = White, 38; `red` = Red, 35; `ivory` = Ivory, 32; `green` = Green, 24 |
| `color_family` | Color family | Merchant data | 98% | 12 | `Black` = Black, 80; `White` = White, 74; `Brown` = Brown, 64; `Blue` = Blue, 56; `Red` = Red, 43 |
| `age_groups` | Age Group | StoreRouter enrichment | 100% | 4 | `adult` = Adult, 303; `kids` = Kids, 42; `toddler` = Toddler, 30; `infant` = Infant, 26 |
| `category_path.depth_0` | Category at depth 0 | StoreRouter enrichment | 100% | 1 | `apparel & accessories` = Apparel & Accessories, 339 |
| `category_path.depth_1` | Category at depth 1 | StoreRouter enrichment | 100% | 3 | `clothing` = Clothing, 318; `accessories` = Accessories, 13; `bags` = Bags, 8 |
| `category_path.depth_2` | Category at depth 2 | StoreRouter enrichment | 100% | 7 | `underwear & sleepwear` = Underwear & Sleepwear, 298; `pants` = Pants, 12; `tops` = Tops, 8; `totes & shoppers` = Totes & Shoppers, 8; `hats & headwear` = Hats & Headwear, 6 |
| `pattern` | Pattern | StoreRouter enrichment | 100% | 38 | `pattern__striped` = Striped, 96; `pattern__solid` = Solid, 90; `pattern__texture` = Texture, 55; `pattern__floral` = Floral, 44; `pattern__animal` = Animal, 36 |
| `category_path.depth_3` | Category at depth 3 | StoreRouter enrichment | 99% | 7 | `socks` = Socks, 283; `tights` = Tights, 15; `leggings` = Leggings, 12; `knitwear` = Knitwear, 8; `tote bags` = Tote Bags, 8 |
| `gender` | Gender | StoreRouter enrichment | 98% | 3 | `unisex` = Unisex, 254; `female` = Female, 60; `male` = Male, 18 |
| `fabric` | Fabric | StoreRouter enrichment | 97% | 22 | `fabric__nylon` = Nylon / Polyamide, 266; `fabric__elastane` = Elastane (Spandex / Lycra), 193; `fabric__cotton` = Cotton, 176; `fabric__polyester` = Polyester, 99; `fabric__cashmere` = Cashmere, 54 |
| `category_path.depth_4` | Category at depth 4 | StoreRouter enrichment | 89% | 9 | `crew / mid-calf` = Crew / Mid-Calf, 277; `bucket hats` = Bucket Hats, 5; `knee-high` = Knee-High, 5; `sweaters` = Sweaters, 5; `cardigans` = Cardigans, 3 |
| `general_clothing_features` | General Clothing Features | StoreRouter enrichment | 56% | 1 | `general_clothing_features__stretchable` = Stretchable, 191 |
| `sustainability_features` | Sustainability Features | StoreRouter enrichment | 14% | 5 | `sustainability_features__recycled_materials` = Recycled Materials, 24; `sustainability_features__eco_friendly` = Eco-Friendly, 16; `sustainability_features__organic_materials` = Organic Materials, 12; `sustainability_features__sustainable_sourcing` = Sustainable Sourcing, 12; `sustainability_features__oeko_tex_standard_100` = OEKO-TEX Standard 100, 8 |
| `embellishments` | Embellishments | StoreRouter enrichment | 10% | 3 | `embellishments__contrast_piping` = Contrast Trim / Piping, 26; `embellishments__embroidery` = Embroidery, 8; `embellishments__fringe` = Fringe, 1 |
| `pants_length_type` | Pants length type | StoreRouter enrichment | 6% | 2 | `pants_length_type__footed` = Footed, 15; `pants_length_type__ankle` = Ankle Length, 5 |
| `opacity_level` | Opacity | StoreRouter enrichment | 5% | 1 | `opacity_level__opaque` = Opaque, 17 |
| `bottoms_closure` | Bottoms Closure | StoreRouter enrichment | 4% | 1 | `bottoms_closure__pull_on` = Pull-On, 12 |
| `graphic_type` | Graphic Type | StoreRouter enrichment | 4% | 4 | `graphic_type__solid_no_print` = Solid / No Print, 8; `graphic_type__photo_art` = Photo Print / Art, 2; `graphic_type__abstract_print` = Abstract Graphic, 1; `graphic_type__character_pop_culture` = Character / Pop Culture, 1 |
| `pants_leg_shape` | Leg Shape | StoreRouter enrichment | 4% | 2 | `pants_leg_shape__skinny` = Skinny, 12; `pants_leg_shape__cuffed` = Cuffed, 1 |
| `material` | Material | StoreRouter enrichment | 3% | 5 | `material__cotton` = Cotton, 6; `material__nylon` = Nylon, 2; `material__polyester` = Polyester, 2; `material__denim` = Denim, 1; `material__linen` = Linen, 1 |
| `bag_case_material` | Bag/Case material | StoreRouter enrichment | 2% | 1 | `bag_case_material__cotton` = Cotton, 8 |
| `bag_closure_type` | Bag closure type | StoreRouter enrichment | 2% | 1 | `bag_closure_type__open_top` = Open Top, 8 |
| `bag_shape` | Bag Shape | StoreRouter enrichment | 2% | 1 | `bag_shape__rectangle` = Rectangle, 8 |
| `carry_options` | Carry options | StoreRouter enrichment | 2% | 2 | `carry_options__handle` = Handle, 8; `carry_options__shoulder_strap` = Shoulder Strap, 4 |
| `fit_bottoms` | Fit | StoreRouter enrichment | 2% | 1 | `fit_bottoms__hip_hugging_skinny_fit` = Hip-Hugging (Skinny Fit), 8 |
| `front_closure_type` | Front Closure | StoreRouter enrichment | 2% | 2 | `front_closure_type__buttons` = Buttons, 5; `front_closure_type__none` = None, 3 |
| `sleeve_length_type` | Sleeve length type | StoreRouter enrichment | 2% | 1 | `sleeve_length_type__long` = Long, 8 |
| `front_closure_length` | Front Closure Length | StoreRouter enrichment | 2% | 3 | `front_closure_length__none` = None, 3; `front_closure_length__full` = Full, 2; `front_closure_length__short_placket` = Short Placket, 2 |
| `neckline` | Neckline | StoreRouter enrichment | 2% | 5 | `neckline__crew` = Crew, 2; `neckline__split` = Split, 2; `neckline__v_neck` = V Neck, 2; `neckline__henley` = Henley, 1; `neckline__mock` = Mock Neck, 1 |
| `season` | Season | StoreRouter enrichment | 2% | 3 | `season__cool_weather` = Cool Weather, 4; `season__warm_weather` = Warm Weather, 2; `season__all_season` = All-Season, 1 |
| `placket_type` | Front Opening | StoreRouter enrichment | 2% | 1 | `placket_type__exposed` = Visible Buttons, 5 |
| `sleeve_style` | Sleeve Style | StoreRouter enrichment | 2% | 4 | `sleeve_style__drop_shoulder` = Drop Shoulder, 2; `sleeve_style__balloon` = Balloon, 1; `sleeve_style__bell` = Bell, 1; `sleeve_style__ruffle` = Ruffle, 1 |
| `top_length_type` | Top length type | StoreRouter enrichment | 2% | 3 | `top_length_type__hip_length` = Hip Length, 2; `top_length_type__waist_length` = Waist Length, 2; `top_length_type__cropped` = Cropped, 1 |
| `tote_handle_type` | Tote handle type | StoreRouter enrichment | 1% | 2 | `tote_handle_type__dual` = Dual, 4; `tote_handle_type__long` = Long, 1 |
| `collar_style` | Collar Style | StoreRouter enrichment | <1% | 2 | `collar_style__crew` = Crew, 2; `collar_style__ruffle` = Ruffle, 1 |
| `fit_top` | Fit (Tops) | StoreRouter enrichment | <1% | 2 | `fit_top__fitted` = Fitted, 2; `fit_top__relaxed` = Relaxed, 1 |
| `knit_style` | Knit Style | StoreRouter enrichment | <1% | 2 | `knit_style__rib_knit` = Rib Knit, 2; `knit_style__fine_gauge` = Fine Gauge, 1 |
| `bag_size` | Bag Size | StoreRouter enrichment | <1% | 1 | `bag_size__medium` = Medium, 1 |
| `fabric_weight` | Fabric Weight | StoreRouter enrichment | <1% | 1 | `fabric_weight__lightweight` = Lightweight, 1 |
| `headwear_features` | Headwear features | StoreRouter enrichment | <1% | 1 | `headwear_features__uv_protection` = UV Protection, 1 |
| `size_group` | Size Type | StoreRouter enrichment | <1% | 1 | `size_group__tall` = Tall, 1 |
| `brand_name` | Canonical brand name | Brand | 99% | 1 | `Hansel from Basel` = Hansel from Basel, 337 |
