get
https://www.locally.com/api/v2/brand//style//stores
Request a list of authorized stores that have any UPC within the style group in-stock.
Request Parameters
🔗 path · unmarked parameters are query params
| Parameter | Type | Required | Description |
|---|---|---|---|
company_id 🔗 | integer | Yes | Locally brand company identifier. |
style 🔗 | string | Yes | Grouping identifier for product variants (ex. style number). |
Example Request
curl 'https://www.locally.com/api/v2/brand/{{COMPANY_ID}}/style/{{STYLE}}/stores' \
--header 'Locally-Api-Token: {{API_TOKEN}}'const response = await fetch(
'https://www.locally.com/api/v2/brand/{{COMPANY_ID}}/style/{{STYLE}}/stores',
{
headers: {
'Locally-Api-Token': '{{API_TOKEN}}'
}
}
);
const data = await response.json();import requests
url = "https://www.locally.com/api/v2/brand/{{COMPANY_ID}}/style/{{STYLE}}/stores"
headers = {"Locally-Api-Token": "{{API_TOKEN}}"}
response = requests.get(url, headers=headers)
data = response.json()Each store's in_stock_upcs array lists every UPC from the style group that store currently has in stock, so a single store can appear with multiple product variants.
Example Response
{
"total": 2,
"offset": 0,
"results": [
{
"name": "ACME Outfitters Chicago",
"address": "500 W Madison St",
"zip": "60661",
"phone": "(312) 555-0142",
"lat": 41.8756719,
"lng": -87.6243469,
"company_id": 999,
"is_hold_capable": "Enabled",
"is_chat_capable": 0,
"is_charge_capable": "Enabled",
"is_delivery_capable": "",
"is_dropship_capable": "",
"country": "US",
"city": "Chicago",
"state": "IL",
"has_inventory_data": "Live",
"company_name": "ACME Outfitters",
"bw_logo": "acme-outfitters-bw_2024-01-15-09-30-00.png",
"logo": "acme-outfitters_2024-01-15-09-30-00.png",
"is_claimed": 1,
"categories": "Outdoor Gear Shops",
"rating": "",
"store_id": "12345",
"brand_slug": "acme-outfitters",
"brand_bw_logo": "acme-outfitters-bw_2024-01-15-09-30-00.png",
"vendor_id": "1000142",
"in_stock_upcs": [
{
"upc": "000000000000",
"product_id": 5551234,
"product_url": "https://www.locally.com/sapi/p/999/12345/5551234"
},
{
"upc": "000000000017",
"product_id": 5551235,
"product_url": "https://www.locally.com/sapi/p/999/12345/5551235"
}
],
"slug": "acme-outfitters-chicago",
"store_url": "https://www.locally.com/sapi/s/999/12345"
},
{
"name": "ACME Outfitters Evanston",
"address": "1717 Sherman Ave",
"zip": "60201",
"phone": "(847) 555-0178",
"lat": 42.0463201,
"lng": -87.6816955,
"company_id": 999,
"is_hold_capable": "",
"is_chat_capable": 0,
"is_charge_capable": "",
"is_delivery_capable": "",
"is_dropship_capable": "",
"country": "US",
"city": "Evanston",
"state": "IL",
"has_inventory_data": "Live",
"company_name": "ACME Outfitters",
"bw_logo": "acme-outfitters-bw_2024-01-15-09-30-00.png",
"logo": "acme-outfitters_2024-01-15-09-30-00.png",
"is_claimed": 0,
"categories": "Outdoor Gear Shops",
"rating": "",
"store_id": "12346",
"brand_slug": "acme-outfitters",
"brand_bw_logo": "acme-outfitters-bw_2024-01-15-09-30-00.png",
"vendor_id": "1000178",
"in_stock_upcs": [
{
"upc": "000000000000",
"product_id": 5551234,
"product_url": "https://www.locally.com/sapi/p/999/12346/5551234"
}
],
"slug": "acme-outfitters-evanston",
"store_url": "https://www.locally.com/sapi/s/999/12346"
}
]
}Response Explanation
total— Count of all matching stores across every page —resultsis just the current window. Page with theoffsetandlimitquery parameters (10 per page by default,limitcapped at 100).results[].store_id— Locally's canonical ID for the physical store, returned as a string. The same store ID is used across Locally APIs (it matchesdata.markers[].idin the Headless API).results[].company_id— Always the brand company ID from the request path — every store repeats it. The retailer company operating the store is named bycompany_name.results[].is_hold_capable— Capability flags (is_hold_capable,is_charge_capable,is_delivery_capable,is_dropship_capable) are"Enabled"or""strings, not booleans — reserve-for-pickup, pay-online-for-pickup, local delivery, and ship-to-store respectively.is_chat_capablealone is an integer.results[].has_inventory_data—"Live"when the store shares live inventory data with Locally (and it isn't muted); empty string otherwise — never a boolean.results[].is_claimed— Integer flag:1when the retailer has claimed and manages this store's Locally profile,0for unclaimed listings.results[].vendor_id— The brand's own identifier for this store, taken from the brand's dealer records; empty string when the brand hasn't assigned one.results[].in_stock_upcs[]— Stores without at least one matching UPC in stock (quantity above zero) are omitted fromresultsentirely; each entry pairs an in-stockupcwith its Locallyproduct_id.results[].in_stock_upcs[].product_url— Tracked locally.com redirect (/sapi/p/…) that forwards to the product's page scoped to this store — same mechanism asstore_url.results[].store_url— Tracked locally.com redirect (/sapi/s/…) that forwards to the store's Locally page with UTM tagging applied;slugis that page's URL slug.

