POST /api/revolve/products/search
Price: 20 credits
Search REVOLVE products by keyword across the Womens or Mens storefront. Returns product cards with name, brand, price, list_price and currency, sale flag, stock flag, images, colourways and merchandising badges. Keyword search narrows by designer, size, price bracket and colour, plus sorting and the country, currency and language the prices are quoted in. Beauty products live in the Womens storefront and come back from keyword search there.
Search the REVOLVE catalog by keyword. Each result has id (the product code), url, alias, name, brand, price/list_price/currency, is_on_sale, is_in_stock, image and images, colors (sibling colourways with their own product codes) and badges. Feed id into the REVOLVE product endpoint for full details, per-size stock and the size & fit notes. Keyword search accepts designer, price, size and colour; the attribute filters (length, heel, rise and similar) only apply when browsing a category or designer listing, so use those endpoints for them. Designer names come from the REVOLVE brand search endpoint.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)country string — Shipping country the catalog is priced for (default: "US"; one of: "US", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AN", "AO", "AQ", "AR", "AT", "AU", "AW", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BM", "BN", "BO", "BR", "BS", "BT", "BV", "BW", "BZ", "CA", "CC", "CD", "CF", "CH", "CK", "CL", "CM", "CN", "CO", "CR", "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "IC", "ID", "IE", "IL", "IN", "IO", "IS", "IT", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LS", "LT", "LU", "LV", "MA", "MC", "MD", "ME", "MG", "MK", "ML", "MM", "MN", "MO", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PT", "PY", "QA", "RE", "RO", "RS", "RW", "SA", "SB", "SC", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SR", "ST", "SV", "SX", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UY", "UZ", "VA", "VC", "VE", "VG", "VN", "VU", "WF", "WS", "YT", "ZA", "ZM")currency string — Currency prices are returned in (default: "USD"; one of: "USD", "AED", "ANG", "ARS", "AUD", "BRL", "BSD", "CAD", "CHF", "CLP", "CNY", "COP", "CZK", "DKK", "EUR", "FJD", "GBP", "GTQ", "HKD", "HNL", "HUF", "IDR", "ILS", "INR", "ISK", "JMD", "JPY", "KRW", "KWD", "KZT", "LBP", "LKR", "MAD", "MXN", "MYR", "NOK", "NZD", "PAB", "PEN", "PHP", "PKR", "PLN", "RON", "RSD", "SAR", "SEK", "SGD", "THB", "TND", "TRY", "TTD", "TWD", "UAH", "VND", "XAF", "XCD", "ZAR")language string — Content language (default: "en"; one of: "en", "de", "es", "fr", "it", "pt", "ru", "ar", "ja", "ko", "zh", "ch")count integer required — Max number of products to return (min: 1)sort string — Result ordering (default: "featured"; one of: "featured", "newest", "popularity", "priced", "price", "designer", "newcatPart1")designer array — Designer names to keep, exactly as returned by the REVOLVE brand endpoints (default: []; examples: ["NBD","AGOLDE"])price array — Price brackets to keep (default: []; one of: "UNDER_TEN", "TEN_TO_TWENTY", "UNDER_TWENTY", "TWENTY_TO_FORTY", "FORTY_TO_SIXTY", "SIXTY_TO_EIGHTY", "EIGHTY_TO_ONE", "ONE_TO_TWO", "TWO_TO_THREE", "THREE_TO_FOUR", "FOUR_TO_FIVE", "FIVE_TO_SIX", "SIX_TO_1000", "OVER_1000")size array — Sizes that must be available. Values are specific to what the listing sells — apparel uses XXS to 4X, footwear uses Shoes_4 to Shoes_13, bottoms use Bottoms_23 to Bottoms_34. Take them from the REVOLVE product filters endpoint for the listing you are browsing (default: []; examples: ["S","M"], ["Shoes_7","Shoes_7.5"])color array — Colours to keep. The palette differs per listing (apparel offers 14, footwear 26, jewellery 29 including gold and silver), so take the values from the REVOLVE product filters endpoint (default: []; examples: ["black","navy"])keyword string required — Search phrase (examples: "sneakers", "gold hoop earrings", "leather jacket"; minLength: 1)department string — Storefront the search runs against (default: "Womens"; one of: "Womens", "Mens")@type string (default: "RevolveProductCard")id string requiredurl string nullablealias string nullablename string nullablebrand string nullableprice number nullablelist_price number nullablecurrency string nullableis_on_sale boolean nullableis_in_stock boolean nullableimage string nullableimages array (default: [])colors array (default: [])@type string (default: "RevolveCardColor")code string requiredname string nullableimage string nullablebadges array (default: [])422 — The request body did not validate Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — The entity was not found, or a precondition failed Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.