Prada API endpoint
Searches Prada's (prada.com) product catalog by keyword, through its own public search index. q is required; gender and sort are the same optional values prada-category accepts. Keyword search is typo-tolerant relevance ranking, not a guaranteed exact match. A query with genuinely zero matches returns a well-formed empty result rather than an error.
/prada/searchq is required, 1 to 200 characters.
gender is optional, a gender filter. Allowed values: Woman, Man.
sort is optional, a sort order. Allowed values: suggested, price_asc, price_desc, newest. Defaults to suggested (Prada's own relevance/popularity ranking).
page is optional, a one-based page number, defaults to 1 (1 to 500).
limit is optional, results per page, defaults to 24, maximum 100.
Notable response behavior:
count: 0, products: []) rather than an error.pv is the value prada-product's own pv parameter expects for full product-detail data.country (top-level) and each product's currency are always US/USD -- this endpoint only ever queries Prada's US storefront.| Field | Filled in, of 24 checked | Values in the sample |
|---|---|---|
| pv | 24 | “1BA217_2ERX_F0770_V_OOD” and 23 other values |
| model | 24 | “1BA217” and 11 other values |
| name | 24 | “Prada Panier mini Saffiano leather bag” and 11 other values |
| product_type | 20 | Galleria (8), Double (3), Karin (3) and 4 more |
| gender | 24 | median 1 entry |
| color | 24 | “Cameo” and 11 other values |
| color_hex | 24 | “#DBC6BD” and 11 other values |
| material | 24 | Leather in all 24 |
| price | 24 | 3,000 to 7,400, median 3,900 |
| currency | 24 | USD in all 24 |
| in_stock | 24 | true in 22 of 24 |
| image_url | 24 | prada.com |
| url | 24 | prada.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| q | string | Yes | Free-text search query | galleria bag | |
| gender | string | No | Gender filter. Allowed values: Woman, Man Allowed values: Woman, Man. | Woman | |
| sort | string | No | suggested (Prada's own relevance ranking | Sort order. Allowed values: suggested, price_asc, price_desc, newest. Defaults to suggested (Prada's own relevance ranking) Allowed values: suggested, price_asc, price_desc, newest. | newest |
| page | integer | No | 1 | One-based page number, defaults to 1 | 1 |
| limit | integer | No | 24 | Results per page, defaults to 24, maximum 100 | 24 |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/prada/search?q=galleria+bag&gender=Woman&sort=suggested&page=1&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"query": "galleria bag",
"sort": "suggested",
"country": "US",
"page": 1,
"limit": 24,
"count": 1,
"total_results": 90,
"total_pages": 4,
"products": [
{
"pv": "1BA274_2CYS_F0002_V_YO0",
"model": "1BA274",
"name": "Prada Galleria large leather bag",
"product_type": "Galleria",
"gender": [
"Woman"
],
"color": "Black",
"color_hex": "#000000",
"material": "Leather",
"price": 6100,
"currency": "USD",
"in_stock": true,
"image_url": "https://www.prada.com/content/dam/pradabkg_products/1/1BA/1BA274/2CYSF0002/1BA274_2CYS_F0002_V_YO0_SLF.jpg",
"url": "https://www.prada.com/us/en/p/prada-galleria-large-leather-bag/1BA274_2CYS_F0002_V_YO0"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/prada.searchResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | prada.SearchResponse | No | ||||
| data.count | integer | No | ||||
| data.country | string | No | ||||
| data.fetched_at | string | No | ||||
| data.gender | string | No | ||||
| data.limit | integer | No | ||||
| data.page | integer | No | ||||
| data.products | array | No | ||||
| data.products[].color | string | No | ||||
| data.products[].color_hex | string | No | ||||
| data.products[].currency | string | No | ||||
| data.products[].gender | array | No | ||||
| data.products[].image_url | string | No | ||||
| data.products[].in_stock | boolean | No | ||||
| data.products[].material | string | No | ||||
| data.products[].model | string | No | ||||
| data.products[].name | string | No | ||||
| data.products[].price | number | No | ||||
| data.products[].product_type | string | No | ||||
| data.products[].pv | string | No | ||||
| data.products[].url | string | No | ||||
| data.query | string | No | ||||
| data.sort | string | No | ||||
| data.total_pages | integer | No | ||||
| data.total_results | integer | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/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/prada/search?q=galleria+bag&gender=Woman&sort=suggested&page=1&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"