Google・Bing・YouTube・Amazon・楽天市場・Yahoo!のサジェストワード(あ〜ん・A〜Z・0〜9の展開込み)を取得するJSON APIです。現在は無料で提供しています。
APIキーが必須です。キーは ログイン 後、ユーザーメニューの「API」から発行できます。全リクエストに付与してください。
Authorization: Bearer gsk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
キーはサーバー側から利用してください(ブラウザのJavaScriptに埋め込むと第三者に使われます)。
{source} には以下のいずれかを指定します。
| source | 対象 |
|---|---|
google | Googleサジェスト |
bing | Bingサジェスト |
youtube | YouTubeサジェスト |
amazon | Amazon.co.jpサジェスト |
rakuten | 楽天市場サジェスト |
yahoo | Yahoo!検索サジェスト |
| パラメータ | 説明 |
|---|---|
q (必須) | キーワード(1〜60文字)。全角/半角・大文字小文字・空白は正規化されます。 |
lang | ja(既定) / en。enでは日本語の五十音展開を行いません。 |
group | all(既定) または itself,nihongo,alphabet,number のカンマ区切り。 |
flat | 1 で重複を除いた suggestions 配列として返します。 |
未取得のキーワードは取得に数十秒かかるため、まず 202 を返してキューに入れます。retry_after_seconds 後に同じリクエストを再送すると、取得済みなら 200 でデータが返ります。取得済みデータは7日間キャッシュされ、期限切れ後も再取得中は "stale": true で古いデータを返します。キャッシュはsource・q・langの組ごとに独立しています。
curl -H "Authorization: Bearer $KEY" \ "https://gstudio1.com/api/v1/google/suggest?q=%E3%83%A9%E3%83%B3%E3%83%8B%E3%83%B3%E3%82%B0&flat=1" curl -H "Authorization: Bearer $KEY" \ "https://gstudio1.com/api/v1/rakuten/suggest?q=%E3%83%A9%E3%83%B3%E3%83%8B%E3%83%B3%E3%82%B0&flat=1"
// 202 (キュー登録)
{ "ok": true, "status": "queued", "source": "google", "queue_position": 3, "retry_after_seconds": 24, ... }
// 200 (取得済み)
{ "ok": true, "status": "ready", "query": "ランニング", "source": "google", "fetched_at": "2026-09-19T01:02:03Z",
"stale": false, "count": 412, "suggestions": ["ランニング シューズ", "..."] }
GET /api/v1/usage — 自分のキーの過去30日の利用状況とプラン上限(要認証)GET /api/v1/status — キュー深さ・ワーカー稼働状況(認証不要)| 項目 | 上限 |
|---|---|
| リクエスト/分 | 30 |
| リクエスト/日 (UTC) | 1,000 |
| 新規(未キャッシュ)キーワード/日 | 20 ※source別にカウントされ、取得済みキーワードは消費しません |
超過時は 429 と Retry-After を返します。全レスポンスに X-RateLimit-Limit / Remaining / Reset と X-Daily-Limit / X-Daily-Remaining が付きます。
| HTTP | code | 意味 |
|---|---|---|
| 400 | invalid_query / invalid_lang / invalid_group | パラメータ不正 |
| 401 | invalid_api_key | キーが無い/無効 |
| 404 | not_found | sourceやパスが不正 |
| 429 | rate_limited / daily_quota_exceeded / new_keyword_quota_exceeded | 制限超過(Retry-After参照) |
| 502 | upstream_failed | 取得に失敗(1時間後に再試行可) |
| 503 | queue_full | 混雑中(Retry-After参照) |