Old Navy API endpoint
Searches physical store locations for one storefront by free-text search (zip code or city) and/or coordinates. Provide search, or both lat and lng. Select the storefront with the brand parameter (`on` for Old Navy, `gap` for Gap, `br` for Banana Republic, `at` for Athleta; defaults to `on`). Returns each nearby store's name, full address, phone number, coordinates, distance, and specialties (e.g. "In-Store Shopping", "Outlet"). This is location search only -- it does not report per-item, per-store stock levels; use oldnavy-product-availability for that.
/oldnavy/storesNotable response behavior:
specialties (e.g. "In-Store Shopping", "Outlet", "ON Beauty").200 with an empty stores array, not an error.search nor a complete lat/lng pair returns 400 before any upstream request is made. lat and lng must be given together.| Field | Filled in, of 10 checked | Values in the sample |
|---|---|---|
| name | 10 | “TIMES SQUARE” and 9 other values |
| address | 10 | |
| city | 10 | “New York” and 6 other values |
| region | 10 | NY (6), NJ (4) |
| postal_code | 10 | |
| country | 10 | US in all 10 |
| phone | 10 | |
| latitude | 10 | |
| longitude | 10 | |
| distance_miles | 10 | 0.8 to 5.4, median 2.9 |
| specialties | 10 | median 1 entry |
| url | 10 | stores.oldnavy.gap.com.prod.rioseo.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| search | string | No | Zip code or city to search near | 10001 | |
| lat | number | No | Latitude (must be given together with lng) | 40.7128 | |
| lng | number | No | Longitude (must be given together with lat) | -74.006 | |
| brand | string | No | Storefront to search Allowed values: on, gap, br, at. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/oldnavy/stores?brand=on" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"brand": "on",
"search": "10001",
"count": 1,
"stores": [
{
"name": "TIMES SQUARE",
"address": "1516 Broadway",
"city": "New York",
"region": "NY",
"postal_code": "10036",
"country": "US",
"phone": "(646) 866-5935",
"latitude": 40.7574365,
"longitude": -73.9854489,
"distance_miles": 0.8,
"specialties": [
"ON Beauty",
"In-Store Shopping"
],
"url": "https://stores.oldnavy.gap.com.prod.rioseo.com/ny/newyork/oldnavy-3444.html"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/oldnavy.storesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | oldnavy.StoreResponse | No | ||||
| data.brand | string | No | ||||
| data.count | integer | No | ||||
| data.fetched_at | string | No | ||||
| data.lat | number | No | ||||
| data.lng | number | No | ||||
| data.search | string | No | ||||
| data.source_url | string | No | ||||
| data.stores | array | No | ||||
| data.stores[].address | string | No | ||||
| data.stores[].city | string | No | ||||
| data.stores[].country | string | No | ||||
| data.stores[].distance_miles | number | No | ||||
| data.stores[].latitude | number | No | ||||
| data.stores[].longitude | number | No | ||||
| data.stores[].name | string | No | ||||
| data.stores[].phone | string | No | ||||
| data.stores[].postal_code | string | No | ||||
| data.stores[].region | string | No | ||||
| data.stores[].specialties | array | No | ||||
| data.stores[].url | string | 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/oldnavy/stores?brand=on" \
-H "x-api-key: $CRAWLORA_API_KEY"