Moda Operandi API endpoint
Searches or browses the Moda Operandi catalogue for one department, with `gender` (`women` or `men`) required and either `q` or `category` needed as well. Filter by `designer`, `color`, `size`, `availability`, price range or `on_sale`, and sort with `sort`. `limit` is 1 to 180 per page. Returns products plus facet counts and the `total`.
/modaoperandi/searchSearches or browses the public Moda Operandi catalog. gender is required and is women or men; either q or category is required. Filters are designer, color, size, attribute, availability, price_min, price_max, and on_sale. availability is one of available_now, preorder, trunkshow; sort is one of default, price_low_to_high, price_high_to_low, newest. Requires x-api-key.
| Field | Filled in, of 180 checked | Values in the sample |
|---|---|---|
| id | 180 | |
| url | 180 | modaoperandi.com |
| name | 180 | “1969 Nano Resin Shoulder Bag” and 166 other values |
| designer | 180 | “Rabanne” and 35 other values |
| image_url | 180 | cdn.modaoperandi.com |
| price | 180 | 250 to 6,800, median 1,800 |
| currency | 180 | USD in all 180 |
| color | 180 | “pink” and 23 other values |
| availability | 105 | preorder (42), only 3 left (22), only 2 left (20) and 2 more |
| in_stock | 180 | true in 180 of 180 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| gender | string | Yes | Department Allowed values: women, men. | women | |
| q | string | No | Free-text search | ||
| category | string | No | Category slug from modaoperandi-categories | ||
| designer | string | No | Designer slug from modaoperandi-designers | ||
| color | string | No | Color facet value | ||
| size | string | No | Size facet value | ||
| attribute | string | No | Attribute facet value | ||
| availability | string | No | Availability Allowed values: available_now, preorder, trunkshow. | ||
| price_min | number | No | Minimum price | ||
| price_max | number | No | Maximum price | ||
| on_sale | boolean | No | Sale items only | ||
| sort | string | No | Sort Allowed values: default, price_low_to_high, price_high_to_low, newest. | ||
| page | integer | No | 1-based page Minimum: 1. | ||
| limit | integer | No | Results per page Minimum: 1. Maximum: 180. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/modaoperandi/search?gender=women&q=coffee&availability=available_now&on_sale=true&sort=default&page=1&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"gender": "women",
"category": "bags",
"page": 1,
"limit": 60,
"total": 1049,
"count": 1,
"products": [
{
"id": "747835",
"name": "Veneta Intrecciato Leather Hobo Bag",
"designer": "Bottega Veneta",
"price": 5600,
"currency": "USD",
"availability": "preorder",
"in_stock": true
}
]
}
}Request schema
No body schema
Response schema
#/definitions/modaoperandi.searchDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | modaoperandi.SearchResponse | No | ||||
| data.category | string | No | ||||
| data.count | integer | No | ||||
| data.facets | modaoperandi.Facets | No | ||||
| data.facets.availability | object | No | ||||
| data.facets.categories | array | No | Category record, 4 fields: name, slug, total_items, url. Described under Moda Operandi categories API. | |||
| data.facets.colors | array | No | ||||
| data.facets.designers | array | No | ||||
| data.facets.designers[].name | string | No | ||||
| data.facets.designers[].slug | string | No | ||||
| data.facets.designers[].total_items | integer | No | ||||
| data.facets.sizes | array | No | ||||
| data.facets.sorts | array | No | ||||
| data.gender | string | No | ||||
| data.limit | integer | No | ||||
| data.page | integer | No | ||||
| data.products | array | No | ||||
| data.products[].availability | string | No | ||||
| data.products[].color | string | No | ||||
| data.products[].currency | string | No | ||||
| data.products[].designer | string | No | ||||
| data.products[].id | string | No | ||||
| data.products[].image_url | string | No | ||||
| data.products[].in_stock | boolean | No | ||||
| data.products[].name | string | No | ||||
| data.products[].price | number | No | ||||
| data.products[].url | string | No | ||||
| data.query | string | No | ||||
| data.source_url | string | No | ||||
| data.total | integer | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/modaoperandi/search?gender=women&q=coffee&availability=available_now&on_sale=true&sort=default&page=1&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"