Costco
Costco 搜尋 API
以關鍵字或商品編號搜尋好市多,取得結構化的 JSON 商品資料:線上價格與原價、評分與評論數、限會員與庫存標記、促銷與篩選面向(facets)。傳入 warehouse_id,即可在每筆結果加上該賣場的店內價格、庫存狀態與價格代碼。costco.com 每次請求 2 點,costco.ca 與海外網站 1 點。
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/jsonquerystringrequired關鍵字或好市多商品編號,1-200 個字元。
Example: olive oil
countryenum<string>default:us好市多網站。us 與 ca 支援所有參數;uk、au、mx、jp、kr 與 tw 僅支援關鍵字、排序與分頁。
Example: uk
us— costco.com,美國。ca— costco.ca,加拿大。uk— 英國。au— 澳洲。mx— 墨西哥。jp— 日本。kr— 韓國。tw— 台灣。
warehouse_idstring從賣場查詢端點取得的好市多賣場編號。會在每筆結果加上該賣場的店內價格、庫存狀態與價格代碼。只需要線上價格時請省略。僅限 us 與 ca。
Example: 1062
sort_byenum<string>default:best_match結果排序方式。使用 best_match 以外的排序時,好市多會放寬比對範圍。uk、au、mx、jp、kr 與 tw 不支援 newest。
Example: price_low
best_match— 好市多的相關度排序。price_low— 價格由低到高。price_high— 價格由高到低。top_rated— 平均評分由高到低。newest— 最新商品優先(us 與 ca)。
brandsarray<string>只顯示這些品牌,最多 20 個名稱,例如 ["Kirkland Signature"]。僅限 us 與 ca。
Example: ["Kirkland Signature"]
min_pricenumber最低線上價格(含),0 以上。僅限 us 與 ca。
Example: 10
max_pricenumber最高線上價格(含),0 以上。僅限 us 與 ca。
Example: 50
min_ratingnumber最低平均評分,1-5。僅限 us 與 ca。
Example: 4
on_saleboolean只顯示正在折扣的商品。僅限 us 與 ca。
Example: true
in_stockboolean隱藏缺貨商品。僅限 us 與 ca。
Example: true
in_warehouseboolean只顯示在 warehouse_id 賣場有販售且有庫存的商品。需要 warehouse_id。
Example: true
pageintegerdefault:1結果頁碼,從 1 開始,1-500。
Example: 2
page_sizeintegerdefault:24每頁結果數,1-120(uk、au、mx、jp、kr 與 tw 最多 100)。
Example: 48
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
# warehouse_id 會在每一列加上店內價格與價格代碼
results = client.costco.search("olive oil", warehouse_id="1062", page_size=5)
for item in results["data"]["results"]:
store = item.get("warehouse") or {}
print(item["item_number"], item["title"], item["price"], store.get("price"))Response