Endpoint Playground
Returns one page of a CVS.com OTC (over-the-counter) retail category, subcategory, or brand page's product grid: products with title, brand, image, current/original price, and sponsored/featured/new-product flags; the total result count; and the facets (brand, color, size, price range, and other category-specific attributes, each with its selectable values and result counts) available to filter the page further. Covers the non-prescription retail catalog only. path is the segment of a page URL after "/shop/", e.g. "beauty" (top-level category), "health-medicine/allergy-sinus" (subcategory), or "brand-shop/s/safe-home" (brand page); a full https://www.cvs.com/shop/... URL or a "/shop/..." path is also accepted. Any of these can also carry an optional facet-filter suffix in the site's own URL shape, e.g. "beauty/makeup/eyes/q/CoverGirl/Black/brpc" to filter to brand CoverGirl and color Black -- see the response's facets field for which values/type codes a given category supports; filter values are case-sensitive exactly as the site renders them. page is a 1-indexed page number (default 1). sort is an optional result order matching the site's own Sort By control. CVS.com is only available from US and US-territory locations; a request served from an unsupported region returns an upstream error rather than an empty result.
14 Oct 2026: 20 products; 8 fields had a value in every checked item and 1 varied between items.
Sample value profiles: list_price: 2.99 to 16.49, median 6.59; title: “DAISE Foaming Body Wash, Vanilla Whip, 8.8 OZ” and 19 other values; url: cvs.com.
curl 'https://api.crawlora.net/api/v1/cvs/category?path=beauty&sort=pa' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| path | string | Yes | beauty | CVS category, subcategory, or brand-page URL path, optionally with a /q/{value}/{typeCode} facet-filter suffix, e.g. \ |
| page | integer | No | 1-indexed page number, default 1 | |
| sort | string | No | pa | Result sort order, default the site's own relevance order. One of pa (Price Low to High), pd (Price High to Low), tr (Top Rated), rc (Most Reviewed), az (Name A-Z), za (Name Z-A) |
{
"code": 200,
"msg": "OK",
"data": {
"total_count": 8766,
"page": 1,
"products": [
{
"id": "478253",
"title": "Crest Pro-Health Breath Mist, Clean Mint, 0.44 OZ, 2 PK",
"url": "https://www.cvs.com/shop/crest-pro-health-breath-mist-clean-mint-0-44-oz-2-pk-prodid-478253",
"brand": "Crest",
"image_url": "https://www.cvs.com/bizcontent/merchandising/productimages/high_res/72894700032.jpg",
"currency": "USD",
"list_price": 4.99,
"sale_price": 4.99
}
],
"facets": [
{
"key": "brand",
"label": "Brand",
"values": [
{
"name": "Crest",
"count": 12
},
{
"name": "one+other",
"count": 3
}
]
},
{
"key": "d_priceBucket",
"label": "Price",
"values": [
{
"name": "$0 - $5",
"count": 9
},
{
"name": "$5 - $10",
"count": 6
}
]
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.