ショッピング検索
ショッピング(商品)検索結果を JSON で返す。
GET /v1/shopping有効な API キー、有効なメンバーシップ、利用可能な API クレジットが必要である。
クエリパラメータ
| 名前 | 型 | 必須 | 既定 | 説明 |
|---|---|---|---|---|
q |
string | はい | — | 検索クエリ(商品またはカテゴリ)。 |
safe |
string | いいえ | on |
セーフサーチのレベル: off、on。 |
gl |
string | いいえ | (自動) | 二文字の地域/国コード(例: us、gb)── 価格 / 販売店に影響する。 |
hl |
string | いいえ | (自動) | 二文字の言語コード(例: en、es)。 |
time |
string | いいえ | any |
新しさのフィルター: any、hour、day、week、month、year。 |
num |
integer | いいえ | (プロバイダーの既定) | 希望する結果数。5〜100 にクランプされる(範囲外 → 20)。 |
レスポンス
{
"query": "wireless headphones",
"kind": "shopping",
"results": [
{
"title": "Acme Wireless Headphones",
"url": "https://shop.example.com/p/acme-wh",
"description": "Over-ear, 40-hour battery…",
"thumbnail": "https://shop.example.com/p/acme-wh/thumb.jpg",
"price": "$129.99",
"meta": "Example Store",
"extra": null
}
]
}
| フィールド | 型 | 説明 |
|---|---|---|
query |
string | 実行されたクエリ。 |
kind |
string | このエンドポイントでは常に shopping。 |
results[].title |
string | 商品のタイトル。 |
results[].url |
string | 商品ページの URL。 |
results[].description |
string | null | 商品の説明(利用できる場合)。 |
results[].thumbnail |
string | null | 商品画像の URL。 |
results[].price |
string | null | 整形された価格(利用できる場合)。 |
results[].meta |
string | null | 販売店 / ソース。 |
results[].extra |
string | null | ショッピングでは通常使わない。 |
例
curl -G "https://api.suede.io/v1/shopping" \ -H "Authorization: Bearer $SUEDE_API_KEY" \ --data-urlencode "q=wireless headphones" \ --data-urlencode "gl=us"
using var http = new HttpClient(); http.DefaultRequestHeaders.Authorization = new("Bearer", Environment.GetEnvironmentVariable("SUEDE_API_KEY")); var url = "https://api.suede.io/v1/shopping?q=" + Uri.EscapeDataString("wireless headphones") + "&gl=us"; Console.WriteLine(await http.GetStringAsync(url));
const params = new URLSearchParams({ q: "wireless headphones", gl: "us" }); const res = await fetch(`https://api.suede.io/v1/shopping?${params}`, { headers: { Authorization: `Bearer ${process.env.SUEDE_API_KEY}` }, }); const data = await res.json(); for (const r of data.results) console.log(`${r.title}: ${r.price} (${r.meta})`);