Catalog coverage · madhappy
Catalog coverage · madhappy
Catalog coverage · madhappy.com
Search products from madhappy.com and retrieve product details as JSON through StoreRouter’s API. Access prices, images, descriptions, and available variant data, plus enriched attributes for filtering.
Snapshot from . Counts are approximate and refresh about daily.
Catalog
Median price $175 across 698 priced products. Current prices, in USD.
Example product response
Inspect a product from the search example below, then retrieve its details through the API.
Indexed response retrieved . Price and availability reflect this response and may change.

Madhappy
$185.00In stock
Sizes: XS, S, M, L, XL, XXL
• Relaxed Unisex Fit • Heavyweight Fleece • 100% Cotton • Patchwork Appliqué at Front Chest • Mending Stitch at Neck • Ribbed Collar, Cuffs & Hem • Made In Los Angeles Machine wash cold inside out separately. Tumble dry low. Do not bleach.
Source product pageProduct content returned by the lookup API, ready for a product page.
JSON response excerpt
{
"source": "indexed",
"catalogKey": "madhappy",
"product": {
"title": "Patchwork Fleece Crewneck",
"brand": {
"name": "Madhappy"
},
"productUrl": "https://www.madhappy.com/products/patchwork-fleece-crewneck-tofu",
"currentPrice": 185,
"currency": "USD",
"inStock": true,
"description": "• Relaxed Unisex Fit • Heavyweight Fleece • 100% Cotton • Patchwork Appliqué at Front Chest • Mending Stitch at Neck • Ribbed Collar, Cuffs & Hem • Made In Los Angeles Machine wash cold inside out separately. Tumble dry low. Do not bleach.",
"primaryImage": {
"url": "https://cdn.shopify.com/s/files/1/2554/3534/files/Madhappy-Holiday-Gifting-Patchwork-Crewneck-Flat-Tofu-01.jpg?v=1765243954",
"cdnUrl": "https://cdn.storerouter.ai/b67d298323ca432aae548895aea7590c/81689d6ee75993ab05d1b48f0783691b.webp?request_id=5efab8f8-b3c0-4fd5-8221-9900396ac0ce",
"width": 3000,
"height": 3750,
"sizeBytes": 262846,
"mimeType": "image/webp"
},
"details": {
"materials": [],
"fit": [],
"dimensions": null,
"patterns": []
}
}
}StoreRouter classification and attributes. Use attribute_handles as search facet values.
JSON response excerpt
{
"source": "indexed",
"catalogKey": "madhappy",
"product": {
"enrichment": {
"type": "crewneck sweatshirt",
"category_path": [
"Apparel & Accessories",
"Clothing",
"Tops",
"Sweatshirts & Hoodies",
"Sweatshirts"
],
"styles": [
"casual",
"streetwear",
"relaxed"
],
"attributes": {
"Fabric": [
"Cotton",
"Fleece"
],
"Season": [
"Cold Weather"
],
"Opacity": [
"Opaque"
],
"Pattern": [
"Collage",
"Text"
],
"Neckline": [
"Crew"
],
"Fit (Tops)": [
"Relaxed"
],
"Collar Style": [
"Crew"
],
"Graphic Type": [
"Logo Patch"
],
"Fabric Weight": [
"Heavyweight"
],
"Front Closure": [
"None"
],
"Embellishments": [
"Appliqué"
],
"Insulation Level": [
"Heavyweight"
],
"Sleeve length type": [
"Long"
],
"Front Closure Length": [
"None"
]
},
"attribute_handles": {
"fabric": [
"fabric__cotton",
"fabric__fleece"
],
"season": [
"season__cold_weather"
],
"fit_top": [
"fit_top__relaxed"
],
"pattern": [
"pattern__collage",
"pattern__text"
],
"neckline": [
"neckline__crew"
],
"collar_style": [
"collar_style__crew"
],
"graphic_type": [
"graphic_type__logo_patch"
],
"fabric_weight": [
"fabric_weight__heavyweight"
],
"opacity_level": [
"opacity_level__opaque"
],
"embellishments": [
"embellishments__applique"
],
"insulation_level": [
"insulation_level__heavyweight"
],
"front_closure_type": [
"front_closure_type__none"
],
"sleeve_length_type": [
"sleeve_length_type__long"
],
"front_closure_length": [
"front_closure_length__none"
]
}
}
}
}curl -sS https://api.storerouter.ai/v1/products/lookup \
-H "Authorization: Bearer $OCTOGEN_PLATFORM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://www.madhappy.com/products/patchwork-fleece-crewneck-tofu",
"resolutionMode": "index_only"
}'Selected response fields are shown. API documentation
Developer quickstart
export OCTOGEN_PLATFORM_API_KEY="your-api-key". Requests use Authorization: Bearer; the SDKs read this variable automatically. Keep the key on your server.curl -sS https://api.storerouter.ai/v1/products/search \ -H "Authorization: Bearer $OCTOGEN_PLATFORM_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "catalogs": ["madhappy"], "q": "tops", "limit": 5 }'# Requires Python 3.11+ and uv; install from the public SDK repository:
# git clone https://github.com/octogen-ai/octogen-dev.git
# cd octogen-dev
# uv sync --project sdks/python
# Save this sample as search.py here, then run:
# uv run --project sdks/python python search.py
import asyncio
from octogen_ai_sdk import OctogenClient
async def main() -> None:
async with OctogenClient(base_url="https://api.storerouter.ai/v1") as client:
page = await client.search_products(
catalogs=["madhappy"],
q="tops",
limit=5,
)
for product in page.items:
print(product.title, product.current_price, product.product_url)
asyncio.run(main())// Node.js 20+; install: npm install @octogen-ai/sdk
// Save this sample as search.mjs, then run: node search.mjs
import { OctogenClient } from "@octogen-ai/sdk";
const client = new OctogenClient({ baseUrl: "https://api.storerouter.ai/v1" });
const page = await client.searchProducts({
catalogs: ["madhappy"],
q: "tops",
limit: 5,
});
for (const product of page.items) {
console.log(product.title, product.currentPrice, product.productUrl);
}Indexed snapshot from this search, verified by URL lookup. Selected fields only; prices and availability may have changed since retrieval.
Madhappy
Madhappy
Madhappy
Search finds indexed products by query and filters within this retailer’s catalog.Product URL lookup retrieves one product: index_only uses the index and returns 404 on a miss; auto checks the index before resolving a miss on demand. For a fresh page read where supported, use resolutionMode: "on_demand_only" with onDemandCachePolicy: "refresh". On-demand results may be partial and do not guarantee live price or availability.
Attributes
Each attribute below is a search facet: the bar shows the share of Madhappy products that have it, and each value shows the share tagged with that value. A product can have several values, so these can add up to more than 100%.
Product color
color
Color family
color_family
Pattern
pattern
Fabric
fabric
Graphic Type
graphic_type
Sleeve length type
sleeve_length_type
Front Closure
front_closure_type
Front Closure Length
front_closure_length
Neckline
neckline
Fit (Tops)
fit_top
Fabric Weight
fabric_weight
Insulation Level
insulation_level
Bottoms Closure
bottoms_closure
Collar Style
collar_style
Knit Style
knit_style
Fit
fit_bottoms
Sleeve Style
sleeve_style
Leg Shape
pants_leg_shape
| Field | Facet name | Source | Coverage | Values |
|---|---|---|---|---|
| Product color | color | Merchant data | 100% | 52 |
| Color family | color_family | Merchant data | 100% | 12 |
| Activewear | is_activewear | Merchant data | 99% | 2 |
| Category at depth 0 | category_path.depth_0 | StoreRouter enrichment | 100% | 2 |
| Category at depth 1 | category_path.depth_1 | StoreRouter enrichment | 100% | 7 |
| Category at depth 2 | category_path.depth_2 | StoreRouter enrichment | 100% | 19 |
| Pattern | pattern | StoreRouter enrichment | 99% | 32 |
| Age Group | age_groups | StoreRouter enrichment | 98% | 1 |
| Gender | gender | StoreRouter enrichment | 98% | 2 |
| Category at depth 3 | category_path.depth_3 | StoreRouter enrichment | 96% | 32 |
| Fabric | fabric | StoreRouter enrichment | 91% | 24 |
| Graphic Type | graphic_type | StoreRouter enrichment | 65% | 7 |
| Category at depth 4 | category_path.depth_4 | StoreRouter enrichment | 60% | 25 |
| Sleeve length type | sleeve_length_type | StoreRouter enrichment | 58% | 3 |
| Front Closure | front_closure_type | StoreRouter enrichment | 58% | 6 |
| Front Closure Length | front_closure_length | StoreRouter enrichment | 57% | 4 |
| Neckline | neckline | StoreRouter enrichment | 56% | 9 |
| Fit (Tops) | fit_top | StoreRouter enrichment | 52% | 5 |
| Fabric Weight | fabric_weight | StoreRouter enrichment | 44% | 3 |
| Opacity | opacity_level | StoreRouter enrichment | 37% | 2 |
| Insulation Level | insulation_level | StoreRouter enrichment | 31% | 4 |
| Bottoms Closure | bottoms_closure | StoreRouter enrichment | 21% | 4 |
| Collar Style | collar_style | StoreRouter enrichment | 20% | 4 |
| Knit Style | knit_style | StoreRouter enrichment | 19% | 6 |
| Activewear Features | activewear_unique_features | StoreRouter enrichment | 19% | 2 |
| Fit | fit_bottoms | StoreRouter enrichment | 17% | 5 |
| Sleeve Style | sleeve_style | StoreRouter enrichment | 17% | 4 |
| Leg Shape | pants_leg_shape | StoreRouter enrichment | 15% | 4 |
| Top length type | top_length_type | StoreRouter enrichment | 15% | 3 |
| Season | season | StoreRouter enrichment | 14% | 4 |
| Embellishments | embellishments | StoreRouter enrichment | 12% | 5 |
| Occasion | occasion_general | StoreRouter enrichment | 8% | 1 |
| Headwear features | headwear_features | StoreRouter enrichment | 8% | 1 |
| Material | material | StoreRouter enrichment | 7% | 10 |
| Surface Finish | surface_finish | StoreRouter enrichment | 4% | 2 |
| Care instructions | care_instructions | StoreRouter enrichment | 4% | 4 |
| General Clothing Features | general_clothing_features | StoreRouter enrichment | 4% | 1 |
| Size Type | size_group | StoreRouter enrichment | 3% | 1 |
| Front Opening | placket_type | StoreRouter enrichment | 3% | 1 |
| Footwear material | footwear_material | StoreRouter enrichment | 3% | 8 |
| Occasion style | occasion_style_shoes | StoreRouter enrichment | 3% | 2 |
| Closure type | shoe_closure_type | StoreRouter enrichment | 3% | 5 |
| Sole Type | shoe_sole_type | StoreRouter enrichment | 3% | 4 |
| Openwork Detail | openwork_detail | StoreRouter enrichment | 3% | 3 |
| Heel height | shoe_heel_height | StoreRouter enrichment | 3% | 2 |
| Category at depth 5 | category_path.depth_5 | StoreRouter enrichment | 3% | 2 |
| Toe Shape | toe_style | StoreRouter enrichment | 3% | 2 |
| Shoe Type (Silhouette/Style) | sneaker_shoe_style_type | StoreRouter enrichment | 2% | 2 |
| Sneaker style | sneaker_style | StoreRouter enrichment | 2% | 2 |
| Shorts Fit | shorts_fit | StoreRouter enrichment | 2% | 2 |
| Activity Type | activity_type | StoreRouter enrichment | 2% | 1 |
| Underwear coverage style | underwear_coverage_style | StoreRouter enrichment | 2% | 2 |
| Lining Material | lining_material_outerwear | StoreRouter enrichment | 1% | 4 |
| Eyewear frame color | eyewear_frame_color | StoreRouter enrichment | 1% | 4 |
| Eyewear frame design | eyewear_frame_design | StoreRouter enrichment | 1% | 2 |
| Eyewear Frame Material | eyewear_frame_material | StoreRouter enrichment | 1% | 1 |
| Sustainability Features | sustainability_features | StoreRouter enrichment | 1% | 2 |
| Shoe features | shoe_features | StoreRouter enrichment | 1% | 3 |
| Eyewear frame pattern | eyewear_frame_pattern | StoreRouter enrichment | 1% | 2 |
| Lens color | lens_color | StoreRouter enrichment | 1% | 3 |
| Lens pattern | lens_pattern | StoreRouter enrichment | 1% | 1 |
| Outerwear Features | outerwear_unique_features | StoreRouter enrichment | 1% | 1 |
| Temple color | temple_color | StoreRouter enrichment | 1% | 2 |
| Denim Wash | denim_wash | StoreRouter enrichment | <1% | 2 |
| Language version | language_version | StoreRouter enrichment | <1% | 1 |
| Media access | media_access | StoreRouter enrichment | <1% | 1 |
| Media theme | media_theme | StoreRouter enrichment | <1% | 2 |
| Denim Fabric | denim_fabric | StoreRouter enrichment | <1% | 1 |
| Denim Finish Effects | denim_wash_effects | StoreRouter enrichment | <1% | 2 |
| Sandal style | sandal_style | StoreRouter enrichment | <1% | 2 |
| Shoe fit | shoe_fit | StoreRouter enrichment | <1% | 1 |
| Stretch Level | stretch_level | StoreRouter enrichment | <1% | 1 |
| Temple pattern | temple_pattern | StoreRouter enrichment | <1% | 2 |
| Waist rise | waist_rise | StoreRouter enrichment | <1% | 1 |
| Construction Detail | construction_detail | StoreRouter enrichment | <1% | 1 |
| Outerwear Length | outerwear_length_type | StoreRouter enrichment | <1% | 2 |
| Hardware finish | hardware_finish | StoreRouter enrichment | <1% | 1 |
| Pants length type | pants_length_type | StoreRouter enrichment | <1% | 2 |
| Scarf/Shawl style | scarf_shawl_style | StoreRouter enrichment | <1% | 1 |
| Skirt/Dress length type | skirt_dress_length_type | StoreRouter enrichment | <1% | 1 |
| Swimwear Features | swimwear_unique_features | StoreRouter enrichment | <1% | 1 |
| Bra features | bra_features | StoreRouter enrichment | <1% | 1 |
| Bra strap type | bra_strap_type | StoreRouter enrichment | <1% | 1 |
| Publication frequency | publication_frequency | StoreRouter enrichment | <1% | 2 |
| Swim bottom coverage style | swim_bottom_coverage_style | StoreRouter enrichment | <1% | 2 |
| Swim top coverage style | swim_top_coverage_style | StoreRouter enrichment | <1% | 1 |
| Activity Intensity | activity_intensity | StoreRouter enrichment | <1% | 1 |
| Bag/Case material | bag_case_material | StoreRouter enrichment | <1% | 1 |
| Bag/Case storage features | bag_case_storage_features | StoreRouter enrichment | <1% | 1 |
| Bag closure type | bag_closure_type | StoreRouter enrichment | <1% | 1 |
| Bag Shape | bag_shape | StoreRouter enrichment | <1% | 1 |
| Band color | band_color | StoreRouter enrichment | <1% | 1 |
| Band pattern | band_pattern | StoreRouter enrichment | <1% | 1 |
| Bra closure type | bra_closure_type | StoreRouter enrichment | <1% | 1 |
| Bra style | bra_style | StoreRouter enrichment | <1% | 3 |
| Bra support level | bra_support_level | StoreRouter enrichment | <1% | 1 |
| Carry options | carry_options | StoreRouter enrichment | <1% | 1 |
| Case color | case_color | StoreRouter enrichment | <1% | 1 |
| Case pattern | case_pattern | StoreRouter enrichment | <1% | 1 |
| Compression level | compression_level | StoreRouter enrichment | <1% | 1 |
| Denim Hem Style | denim_hem_style | StoreRouter enrichment | <1% | 1 |
| Dial color | dial_color | StoreRouter enrichment | <1% | 1 |
| Dial pattern | dial_pattern | StoreRouter enrichment | <1% | 2 |
| Shoe Type (Silhouette/Style) | dress_shoe_style_type | StoreRouter enrichment | <1% | 1 |
| Genre | genre | StoreRouter enrichment | <1% | 2 |
| Skirt style | skirt_style | StoreRouter enrichment | <1% | 1 |
| Target audience | target_audience | StoreRouter enrichment | <1% | 1 |
| Watch case shape | watch_case_shape | StoreRouter enrichment | <1% | 1 |
| Watch display | watch_display | StoreRouter enrichment | <1% | 1 |
| Watch features | watch_features | StoreRouter enrichment | <1% | 2 |
| Canonical brand name | brand_name | Brand | 98% | 1 |
Data
For agents
Every facet name and value on this page, ready for an agent or a script.
Are you an AI agent? Fetch https://storerouter.ai/llms.txt to learn how to get product data from StoreRouter, and how to make a storefront's products readable by agents.
One API key gives your agent search, product lookup, and similar-item results across every store StoreRouter indexes.
Get an API key