Target API endpoint
Returns Target's physical stores near a ZIP code, a free-text "city, state", or a "latitude,longitude" pair, including each store's store_id, status, distance, phone, address, service list, time zone, and two weeks of daily opening hours. Use the returned store_id values with the store_id parameter on target-search, target-category-products, target-filter-options, and target-product.
/target/storesQuery parameters:
place (required) -- a ZIP code (95014), a free-text city and state (Cupertino, CA), or a latitude,longitude pair (37.3230,-122.0322). Target's own upstream resolves all three shapes; this endpoint does not do its own ZIP/city/lat-long branching.limit (optional) -- maximum stores to return, 1 to 20. Defaults to 20. 20 is Target's own upstream maximum; a higher value is rejected.within (optional) -- search radius in miles, 1 to 5000. Defaults to 100.Notable response behavior:
count/stores cover every store Target's own locator returns for the location and radius. A place with no stores within within miles returns a valid count: 0 empty result, not an error.place that does not resolve to any real location returns a 404, not an empty stores list.store_id (the value every other Target endpoint's store_id parameter expects), status, distance_miles, phone, address fields, time_zone, services (Target's own service/amenity labels for that store, e.g. "Starbucks Cafe", "Drive Up"), and up to two weeks of daily hours.| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| store_id | 20 | |
| name | 20 | “Cupertino De Anza Blvd” and 19 other values |
| status | 20 | Open in all 20 |
| distance_miles | 20 | 2.62 to 20.63, median 12.7 |
| phone | 20 | |
| address_line1 | 20 | |
| city | 20 | “Cupertino” and 8 other values |
| state | 20 | CA in all 20 |
| postal_code | 20 | |
| country | 20 | US in all 20 |
| time_zone | 20 | PST in all 20 |
| services | 20 | median 13 entries |
| hours | 20 | median 14 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| place | string | Yes | ZIP code, city/state, or latitude,longitude | 95014 | |
| limit | integer | No | Maximum stores to return (1-20) Minimum: 1. Maximum: 20. | ||
| within | integer | No | Search radius in miles (1-5000) Minimum: 1. Maximum: 5000. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/target/stores?place=95014&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"place": "95014",
"count": 1,
"source_url": "https://redsky.target.com/redsky_aggregations/v1/web/nearby_stores_v1?include_capabilities=true&limit=20&place=95014&within=100",
"fetched_at": "2026-09-15T10:00:00Z",
"stores": [
{
"store_id": "323",
"name": "Cupertino De Anza Blvd",
"status": "Open",
"distance_miles": 2.62,
"phone": "408-725-2651",
"address_line1": "20745 Stevens Creek Blvd",
"city": "Cupertino",
"state": "CA",
"postal_code": "95014-2123",
"country": "US",
"time_zone": "PST",
"services": [
"Wine, Beer & Spirits Available",
"Drive Up",
"Shipt Delivery",
"Fresh Grocery",
"Starbucks Cafe"
],
"hours": [
{
"date": "2026-09-15",
"day_name": "Tuesday",
"is_open": true,
"open_time": "07:00:00",
"close_time": "23:00:00"
}
]
}
]
}
}Request schema
No body schema
Response schema
#/definitions/target.storesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | target.StoresResponse | No | ||||
| data.count | integer | No | 20 | |||
| data.fetched_at | string | No | ||||
| data.place | string | No | 95014 | |||
| data.source_url | string | No | ||||
| data.stores | array | No | ||||
| data.stores[].address_line1 | string | No | 20745 Stevens Creek Blvd | |||
| data.stores[].city | string | No | Cupertino | |||
| data.stores[].country | string | No | US | |||
| data.stores[].distance_miles | number | No | 2.62 | |||
| data.stores[].hours | array | No | ||||
| data.stores[].hours[].close_time | string | No | 23:00:00 | |||
| data.stores[].hours[].date | string | No | 2026-09-15 | |||
| data.stores[].hours[].day_name | string | No | Tuesday | |||
| data.stores[].hours[].is_open | boolean | No | ||||
| data.stores[].hours[].open_time | string | No | 07:00:00 | |||
| data.stores[].name | string | No | Cupertino De Anza Blvd | |||
| data.stores[].phone | string | No | 408-725-2651 | |||
| data.stores[].postal_code | string | No | 95014-2123 | |||
| data.stores[].services | array | No | Services is Target's own service/amenity label list for this store (e.g. "Starbucks Cafe", "Drive Up", "Wine, Beer & Spirits Available"), passed through as-is rather than translated to a fixed vocabulary. | |||
| data.stores[].state | string | No | CA | |||
| data.stores[].status | string | No | Open | |||
| data.stores[].store_id | string | No | 323 | |||
| data.stores[].time_zone | string | No | PST | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/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/target/stores?place=95014&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"