---
title: "サジェストキーワード取得"
method: POST
path: "/v1/suggest-keywords"
tags: ["サジェストキーワード取得"]
---

# サジェストキーワード取得

`POST /v1/suggest-keywords`

サジェストキーワード取得。

あるキーワードの関連語を広く集めたいときにまず使う。
Google/YouTube/Amazon/楽天/Bing等から、modesパラメータで指定（複数可）した検索エンジンのサジェストを返す。

Googleは汎用的、SEO目的に適する。Bingは汎用的だがユーザー層が高齢者層寄り。
YouTube,Google動画は動画リサーチに、Amazonや楽天はECにおすすめ。

サジェストには、検索エンジンが元キーワードを入力した人の検索意図を汲み取って提案する「関連性の高い複合キーワード」が表示される。

キーワードリサーチの最初期に使用すると、ユーザーがどのような掛け合わせワードで検索しているのか、市場需要や検索意図を幅広く把握できる。

サジェスト候補は通常最大1,000件前後、increaseKeyword=trueで最大10,000件前後存在する。

月間検索数・SEO難易度・CPC・競合性などのSEO指標付き。
SEO難易度はデータがない場合が多い。またSEO指標は最新でない可能性がある。
この指標を重要視する用途なら、データ取得後にPOST /v1/search-volumeで最新のSEO指標を取得すること。

さらに大量のキーワードが必要な場合は POST /v1/related-keywordsを使う。
元キーワードと検索意図の近いキーワードを取得したい場合は POST /v1/ranking-keywordsを使う。
検索意図を深掘りしたい場合は、元キーワードを調べた人が次に調べるKW・抱えている疑問を取得できるPOST /v1/other-keywordsを併用する。

1リクエストあたり1.5クレジットを消費。

## Request body

- SuggestKeywordsDto
  - `keyword` string, required — サジェスト取得の元となる検索キーワード。1文字以上の文字列を指定する。
  - `modes` string[] — サジェストキーワードを取得する検索エンジン（複数選択可）。google / bing / youtube / googleVideo / amazon / rakuten / googleShopping / googleImage から選択。省略時は google のみ。
  - `increaseKeyword` boolean — キーワード増量オプション。true にすると、より多くのサジェストキーワードを取得する。SEOキーワードを網羅的に取得したい場合は、trueにすること。省略時は false。
  - `filter` object — 結果のフィルタリング条件。月間検索数・SEO難易度・CPC・競合性・出現時期・サジェストクラスなどで絞り込む。
    - `suggestClass` integer[] — サジェストクラスフィルタ（0-3の配列）。0: ＋（サジェスト）, 1: ＋＋（サジェストのサジェスト）, 2: ＋α（元キーワードにあいうえお...・abcde...・12345...を付与した際に表示されるサジェスト）, 3: ＋＋＋（「＋＋」または「＋α」からさらに展開されたサジェスト）
    - `keyword` object — キーワードフィルタ
      - `includes` string[] — 含む単語のリスト（複数入力時はOR）
      - `notIncludes` string[] — 含まない単語のリスト（複数入力時はOR）
    - `seoDifficulty` object — SEO難易度フィルタ（0〜100の範囲指定）
      - `min` integer — 最小値
      - `max` integer — 最大値
    - `searchVolume` object — 月間検索数フィルタ（範囲指定）
      - `min` integer — 最小値
      - `max` integer — 最大値
    - `cpc` object — クリック単価（CPC）フィルタ（USD、範囲指定）
      - `min` number — 最小CPC
      - `max` number — 最大CPC
    - `competition` object — 競合性フィルタ（0〜100の範囲指定）
      - `min` integer — 最小値
      - `max` integer — 最大値
    - `firstSeenRange` object — 出現時期フィルタ
      - `include` 'last_7_days' | 'last_30_days' | 'last_90_days' | 'within_6_months' | 'within_1_year' | 'over_1_year' — 出現時期の選択肢
  - `sortBy` 'keyword' | 'suggestClass' | 'seoDifficulty' | 'searchVolume' | 'cpc' | 'competition' | 'firstSeenRange' — 結果のソート項目。keyword / suggestClass / seoDifficulty / searchVolume / cpc / competition / firstSeenRange。省略時は searchVolume。
  - `orderBy` 'asc' | 'desc' — ソート順。asc: 昇順 / desc: 降順。省略時は desc。
  - `limit` integer — 取得件数の上限。正の整数を指定。省略時はすべての結果を返す。

## Response `200`

検索成功

- SuggestKeywordsResponseDto
  - `result` boolean, required — API 呼び出しの成否。正常時は true、エラー時は false。
  - `meta` object, required — リクエストに関するメタ情報（課金・消費リソースなど）
    - `consumedCredit` number, required — このリクエストで消費されたクレジット数。
  - `data` object, required — サジェストキーワード検索結果データ
    - `query` object, required — リクエストで指定された検索クエリ情報（キーワードと対象エンジン）
      - `keyword` string, required — サジェスト取得の元になった検索キーワード
      - `suggestEngines` string[], required — サジェストキーワードの取得対象としたサーチエンジン一覧。単一取得の場合も配列で出力されます。
    - `summary` object, required — 件数サマリー（全体件数とレスポンスに含まれる件数）
      - `totalCount` number, required — 取得対象全体の件数
      - `returnedCount` number, required — このレスポンスに含まれている件数
    - `items` object[], required — サジェストキーワードのリスト。各アイテムにキーワード・サジェスト分類・SEO指標・取得エンジン情報を含む。
      - `keyword` string, required — サジェストキーワード文字列
      - `suggestClass` string, required — サジェストキーワードの区分ラベル。＋（0: サジェスト）, ＋＋（1: サジェストのサジェスト）, ＋α（2: 元キーワードにあいうえお...・abcde...・12345...を付与した際に表示されるサジェスト）, ＋＋＋（3: 「＋＋」または「＋α」からさらに展開されたサジェスト）
      - `metrics` object, required — SEO関連の各種指標（検索ボリューム・SEO難易度・CPC・競合性・出現時期）
        - `seoDifficulty` number, nullable, required — SEO難易度。1–100で表し、高いほど難易度が高い（1–33:低 / 34–66:中 / 67–100:高）。不明な場合は null。
        - `searchVolume` number, nullable, required — 月間検索数（年平均）。不明な場合は null。
        - `cpc` number, nullable, required — 推定クリック単価（USD）。不明な場合は null。
        - `competition` number, nullable, required — 広告競合性。0–100で表し、高いほど競合性が高い（0–33:低 / 34–66:中 / 67–100:高）。不明な場合は null。
        - `firstSeenRange` 'last_7_days' | 'last_30_days' | 'last_90_days' | 'within_6_months' | 'within_1_year' | 'over_1_year', nullable, required — 出現時期。キーワードが最初にラッコキーワードデータベースで検出された時期を日付範囲ラベルで表す。不明な場合は null。
      - `suggestEngines` object, required — このサジェストキーワードを返した検索エンジンの情報（エンジン数と一覧）
        - `count` number, required — このキーワードが取得できたサーチエンジン数
        - `active` string[], required — このキーワードが取得できたサーチエンジン一覧
  - `errors` string[], required — エラーメッセージの配列。正常時は空配列。

## Other responses

- `400` — バリデーションエラー
- `402` — クレジット不足
- `403` — 認証エラー
- `429` — レート制限超過
- `500` — Internal Server Error
- `503` — Service Unavailable - データベース接続エラーなど

---

[API](https://skmtc.dev/rakkokeyword/apis/api.md) · [All operations](https://skmtc.dev/rakkokeyword/apis/api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rakkokeyword/api/revisions/23e921f5f25c/schema)
