Endpoint Playground
Searches the product catalog for either storefront (select with site, default jcrew). Returns product summaries with USD pricing, gender, and a description, plus the search index's own facets (gender, fabric, category, size, color, price range, and others) with live per-option counts. sort selects relevance (default), price_asc, or price_desc. filter narrows results by one or more facet name:value pairs (comma-separated, e.g. productGender:Men,styleFabric:Cashmere) taken from a prior response's own facets[].name/facets[].options[].value fields -- not curated against a fixed list, since the facet set is large and can change. This is best-effort relevance, not a guaranteed keyword match: for an obscure alphanumeric keyword the search index falls back to its own semantically-related results instead of an empty list, and there is no reliable field in the response to distinguish a true keyword match from that fallback.
14 Oct 2026: 40 products; 9 fields had a value in every checked item and 3 varied between items.
Sample value profiles: price_min: 0 to 198, median 89.5; name: “2025 Rollneck™ sweater” and 39 other values; image_url: jcrew.com.
curl 'https://api.crawlora.net/api/v1/jcrew/search?keyword=sweater&site=jcrew&sort=relevance' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| keyword | string | Yes | sweater | Search keyword |
| site | string | No | jcrew | Storefront to search |
| page | integer | No | One-based page | |
| per_page | integer | No | Results per page | |
| sort | string | No | relevance | Sort order |
| filter | string | No | Comma-separated facet name:value pairs, e.g. productGender:Men,styleFabric:Cashmere |
{
"code": 200,
"msg": "OK",
"data": {
"keyword": "sweater",
"site": "jcrew",
"sort": "relevance",
"page": 1,
"per_page": 24,
"total_pages": 15,
"total_products": 338,
"count": 1,
"products": [
{
"id": "CX415",
"family_id": "ME617",
"name": "2025 Rollneck sweater",
"description": "A J.Crew icon since the '80s, refreshed for right now...",
"gender": "Women",
"image_url": "http://www.jcrew.com/s7-img-facade/CX415_NA6434?fmt=jpeg&qlt=90,0",
"orderable": true,
"price_min": 98,
"price_max": 128,
"sale_price_min": 98,
"sale_price_max": 98,
"url": "https://www.jcrew.com/p/CX415"
}
],
"facets": [
{
"name": "productGender",
"label": "Gender",
"type": "multiple",
"options": [
{
"label": "Women",
"value": "Women",
"count": 208
}
]
},
{
"name": "price",
"label": "Price",
"type": "range",
"is_range": true,
"range_min": 28,
"range_max": 429.99
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.