> For the complete documentation index see https://domscan.net/llms.txt. Markdown versions of every docs page are available by appending .md to the page URL.

Source: https://domscan.net/tr/docs/products/keyword-density

# Anahtar kelime yoğunluğu API'si API ürünü

Bir sayfada en sık geçen anahtar kelimeleri ve ifadeleri yoğunluk yüzdeleriyle bulun. Bir işlem seçmek ve belgelenen yanıt sözleşmesini entegre etmek için bu referansı kullanın.

[Ürün sayfasını görüntüle](https://domscan.net/tr/keyword-density-api)

## İşlemler

GET `/v1/keyword-density` [API referansını görüntüle](https://domscan.net/tr/docs/products/keyword-density#getKeywordDensity)

## GET `/v1/keyword-density`

İşlem: `getKeywordDensity`
Krediler ve kimlik doğrulama: 2-6
Kimlik doğrulama gerekli

GET /v1/keyword-density Kredi: 2-6

#### Sorgu parametreleri

| Parametre | Tür | gerekli |
| --- | --- | --- |
| url | string | gerekli |
| render | boolean | isteğe bağlı |
| keywords | string | isteğe bağlı |
| top | integer Varsayılan `20` | isteğe bağlı |
| include_stopwords | boolean | isteğe bağlı |

#### Yanıt alanları

| Alan | Tür |
| --- | --- |
| `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[] |

#### Örnek istek

```bash
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"
```

```javascript
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);
```

```python
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())
```

```go
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))
}
```

```ruby
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))
```

#### Örnek yanıt

```json
{
  "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 durum kodları

- `200` OK
- `400` Hatalı İstek
- `401` Yetkisiz
- `402` Ödeme Gerekli
- `429` Çok Fazla İstek

## Referans kaynakları

[OpenAPI 3.0](https://domscan.net/v1/openapi.json)
[Postman](https://domscan.net/v1/postman.json)
[MCP](https://domscan.net/tr/mcp-domain-checker)
