Macy's
Macy's Store Availability API
Can a macys.com product be picked up in store? Near a ZIP, a point or a city: every Macy's store with whether it can hand the product over and how many of the product's items it has available. At one store (store_id): the store's hours, pickup cut-off and pickup options, and for every variant (UPC, color, size) whether it can be picked up and whether it is in the store. Macy's publishes no unit quantities. Costs 1 credit per request.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsonproduct_idintegerMacy's product id. Pass product_id or url.
Example: 25822310
urlstringA macys.com product URL (its ID= is used).
store_idintegerOne store, for per-variant pickup and in-store flags: a store_id from /api/v1/macys/stores (4592 is State Street, Chicago). Instead of a location.
Example: 4592
zipstringUS ZIP code to search around.
Example: 10001
latnumberLatitude, with lng, instead of zip.
Example: 37.7879
lngnumberLongitude, with lat.
Example: -122.4075
citystringUS city, with state, instead of zip.
Example: Atlanta
statestring2-letter US state code, with city.
Example: GA
radiusintegerSearch radius in miles, 1-100. Defaults to 100.
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
# Per variant at one store
res = client.macys.store_availability(product_id=25822310, store_id=4592)["data"]
print(res["store"]["name"], res["pickup_available_count"], "of", res["variant_count"], "variants for pickup")
for v in res["variants"]:
if v["pickup_available"]:
print(v["upc"], v["color"], v["size"])Response