APIリファレンス

キーワード密度API APIリファレンス

ページ上で出現頻度の高いキーワードとフレーズを、密度のパーセンテージ付きで調べます。 このリファレンスで操作を選び、文書化されたレスポンス契約を統合できます。

操作

GET /v1/keyword-density APIリファレンスを見る

GET /v1/keyword-density

操作: getKeywordDensity クレジットと認証: 2-6 認証が必要
GET /v1/keyword-density クレジット: 2-6

クエリパラメータ

パラメータ タイプ 必須
url string 必須
render boolean オプション
keywords string オプション
top integer
デフォルト 20
オプション
include_stopwords boolean オプション

レスポンスフィールド

フィールド タイプ
url string
final_url string
status string
reason string | null
checked_at string
fetch object
fetch.http_status integer | null
fetch.final_url string
fetch.content_type string | null
fetch.bytes integer
fetch.truncated boolean
fetch.redirect_count integer
fetch.duration_ms integer
fetch.rendered boolean
language string | null
total_words integer
unique_words integer
stopwords_removed boolean
keywords object
keywords.one_word[] object[]
keywords.one_word[] object
keywords.one_word[].keyword string
keywords.one_word[].count integer
keywords.one_word[].density number
keywords.two_words[] object[]
keywords.two_words[] object
keywords.two_words[].keyword string
keywords.two_words[].count integer
keywords.two_words[].density number
keywords.three_words[] object[]
keywords.three_words[] object
keywords.three_words[].keyword string
keywords.three_words[].count integer
keywords.three_words[].density number
targets[] object[]
targets[] object
targets[].keyword string
targets[].count integer
targets[].density number
targets[].in_title boolean
targets[].in_meta_description boolean
targets[].in_h1 boolean
targets[].in_headings boolean
targets[].in_url boolean
targets[].in_first_100_words boolean
caveats[] string[]

リクエスト例

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/keyword-density?url=https%3A%2F%2Fexample.com&render=false&keywords=launch%2Cgrid&top=20&include_stopwords=false"
const response = await fetch("https://domscan.net/v1/keyword-density?url=https%3A%2F%2Fexample.com&render=false&keywords=launch%2Cgrid&top=20&include_stopwords=false", {
  headers: { "X-API-Key": process.env.DOMSCAN_API_KEY },
});
const data = await response.json();
console.log(data);
import os
import requests

response = requests.get(
    "https://domscan.net/v1/keyword-density?url=https%3A%2F%2Fexample.com&render=false&keywords=launch%2Cgrid&top=20&include_stopwords=false",
    headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
)
print(response.json())
package main

import (
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
	req, err := http.NewRequest(http.MethodGet, "https://domscan.net/v1/keyword-density?url=https%3A%2F%2Fexample.com&render=false&keywords=launch%2Cgrid&top=20&include_stopwords=false", nil)
	if err != nil {
		panic(err)
	}
	req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()

	data, err := io.ReadAll(resp.Body)
	if err != nil {
		panic(err)
	}
	fmt.Println(resp.Status, string(data))
}
require "json"
require "net/http"

uri = URI("https://domscan.net/v1/keyword-density?url=https%3A%2F%2Fexample.com&render=false&keywords=launch%2Cgrid&top=20&include_stopwords=false")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(request)
end
puts JSON.pretty_generate(JSON.parse(response.body))

レスポンス例

{
  "url": "https://example.com/shoes/trail-runner",
  "final_url": "https://example.com/shoes/trail-runner",
  "status": "ok",
  "reason": null,
  "checked_at": "2026-10-13T12:00:00.000Z",
  "fetch": {
    "http_status": 200,
    "final_url": "https://example.com/shoes/trail-runner",
    "content_type": "text/html",
    "bytes": 3535,
    "truncated": false,
    "redirect_count": 0,
    "duration_ms": 412,
    "rendered": false
  },
  "language": "en",
  "total_words": 122,
  "unique_words": 86,
  "stopwords_removed": true,
  "keywords": {
    "one_word": [
      {
        "keyword": "shoes",
        "count": 5,
        "density": 4.1
      },
      {
        "keyword": "trail",
        "count": 5,
        "density": 4.1
      },
      {
        "keyword": "running",
        "count": 5,
        "density": 4.1
      }
    ],
    "two_words": [
      {
        "keyword": "trail running",
        "count": 5,
        "density": 4.1
      },
      {
        "keyword": "running shoes",
        "count": 4,
        "density": 3.28
      },
      {
        "keyword": "rocky terrain",
        "count": 3,
        "density": 2.46
      }
    ],
    "three_words": [
      {
        "keyword": "trail running shoes",
        "count": 4,
        "density": 3.28
      }
    ]
  },
  "targets": [
    {
      "keyword": "trail running shoes",
      "count": 4,
      "density": 3.28,
      "in_title": true,
      "in_meta_description": true,
      "in_h1": true,
      "in_headings": true,
      "in_url": false,
      "in_first_100_words": true
    }
  ],
  "caveats": []
}

HTTP ステータスコード

  • 200 成功
  • 400 不正なリクエスト
  • 401 未認証
  • 402 支払いが必要
  • 429 リクエスト過多

リファレンスリソース