Home Depot
Home Depot Store Availability API
Check one Home Depot item at a store you choose and a ZIP you choose, as JSON: the store's price, original price, discount and promotion dates, pickup stock at that store with the pickup type and ready date, and delivery options to the ZIP with charge, free-shipping flag, delivery dates and the location it ships from. Store and ZIP are independent. Every response carries retrieved_at. Costs 2 credits 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/jsonitem_idstringrequiredHome Depot item id, or a full homedepot.com/p/... product URL (tracking parameters are discarded). The item_id every Home Depot Search row returns.
Example: 335857109
store_idstringStore for pickup stock and the store's price, as returned by Home Depot Store Search. Pass store_id, zip, or both.
Example: 8944
zipstring5-digit US ZIP to quote delivery to. Independent of store_id: a Seattle store with a New York ZIP is answered as exactly that.
Example: 98106
Request
import requests
r = requests.post(
"https://api.scavio.dev/api/v1/homedepot/availability",
headers={"Authorization": "Bearer sk_live_your_key"},
json={"item_id": "335857109", "store_id": "8944", "zip": "98106"},
)
item = r.json()["data"]
print(item["price"], item["original_price"], item["retrieved_at"])
print("pickup:", item["pickup"]["store_name"], item["pickup"]["quantity"], item["pickup"]["ready_date"])
for option in item["delivery"]["options"]:
print("delivery:", option["type"], option["charge"], option["earliest_date"])Response