Endpoint Playground
Returns Sephora physical store locations near a coordinate (address, hours, BOPIS/curbside/same-day flags). Renders through a JS-executing browser backend, unlike every other Sephora endpoint -- the store-locator data call itself is plain HTTP, but it requires a per-visit access token minted by an endpoint gated behind a bot-management JS challenge, so responses may take longer.
curl 'https://api.crawlora.net/api/v1/sephora/stores?latitude=41.88325&longitude=-87.6323879' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| latitude | number | Yes | 41.88325 | Latitude, -90 to 90 |
| longitude | number | Yes | -87.6323879 | Longitude, -180 to 180 |
| radius | integer | No | Search radius in miles, 1 to 500, defaults to 50 | |
| limit | integer | No | Max stores to return, 1 to 50, defaults to 10 |
{
"code": 200,
"msg": "OK",
"data": {
"latitude": 41.88325,
"longitude": -87.6323879,
"radius": 50,
"count": 1,
"stores": [
{
"store_id": "0662",
"store_type": "SEPHORA",
"display_name": "STATE STREET",
"distance_miles": 0.2,
"latitude": 41.88382,
"longitude": -87.62816,
"address": {
"address1": "108 N STATE ST",
"address2": "STE 134",
"city": "CHICAGO",
"state": "IL",
"postal_code": "60602-1609",
"country": "US",
"phone": "3122638688",
"mall_name": "BLOCK 37"
},
"hours": {
"monday": "10:00AM - 08:00PM",
"tuesday": "10:00AM - 08:00PM",
"wednesday": "10:00AM - 08:00PM",
"thursday": "10:00AM - 08:00PM",
"friday": "10:00AM - 08:00PM",
"saturday": "10:00AM - 08:00PM",
"sunday": "11:00AM - 06:00PM",
"time_zone": "America/Chicago"
},
"same_day_delivery_enabled": true,
"is_bopisable": true,
"is_online_reservation_enabled": true,
"url": "https://www.sephora.com/happening/stores/chicago-state-street"
}
],
"source_url": "https://www.sephora.com/gway/v1/dotcom-sys/stores?...",
"fetched_at": "2026-08-15T12:00:00Z"
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.