> 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/duplicate-content

# Yinelenen içerik denetleyicisi API'si API ürünü

Sayfaları yinelenen içerik, başlık ve meta açıklamaları açısından karşılaştırın. 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/duplicate-content-api)

## İşlemler

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

## GET `/v1/duplicate-content`

İşlem: `getDuplicateContent`
Krediler ve kimlik doğrulama: 5
Kimlik doğrulama gerekli

GET /v1/duplicate-content Kredi: 5

#### Sorgu parametreleri

| Parametre | Tür | gerekli |
| --- | --- | --- |
| urls | string | gerekli |

#### Yanıt alanları

| Alan | Tür |
| --- | --- |
| `status` | string |
| `checked_at` | string |
| `threshold` | number |
| `pages[]` | object[] |
| `pages[]` | object |
| `pages[].url` | string |
| `pages[].final_url` | string |
| `pages[].status` | string |
| `pages[].reason` | string \| null |
| `pages[].http_status` | integer \| null |
| `pages[].title` | string \| null |
| `pages[].meta_description` | string \| null |
| `pages[].h1` | string \| null |
| `pages[].canonical` | string \| null |
| `pages[].word_count` | integer |
| `pages[].comparable` | boolean |
| `pages[].comparison_reason` | string \| null |
| `pairs[]` | object[] |
| `pairs[]` | object |
| `pairs[].a` | string |
| `pairs[].b` | string |
| `pairs[].similarity` | number \| null |
| `pairs[].containment` | number \| null |
| `pairs[].near_duplicate` | boolean \| null |
| `pairs[].comparable` | boolean |
| `pairs[].canonicalized` | boolean |
| `pairs[].same_final_url` | boolean |
| `pairs[].reason` | string \| null |
| `clusters[]` | string[][] |
| `clusters[][]` | string[] |
| `duplicates` | object |
| `duplicates.titles[]` | object[] |
| `duplicates.titles[]` | object |
| `duplicates.titles[].value` | string |
| `duplicates.titles[].urls[]` | string[] |
| `duplicates.meta_descriptions[]` | object[] |
| `duplicates.meta_descriptions[]` | object |
| `duplicates.meta_descriptions[].value` | string |
| `duplicates.meta_descriptions[].urls[]` | string[] |
| `duplicates.h1[]` | object[] |
| `duplicates.h1[]` | object |
| `duplicates.h1[].value` | string |
| `duplicates.h1[].urls[]` | string[] |
| `summary` | object |
| `summary.pages` | integer |
| `summary.readable` | integer |
| `summary.unknown` | integer |
| `summary.comparable_pairs` | integer |
| `summary.unknown_pairs` | integer |
| `summary.same_final_url_pairs` | integer |
| `summary.near_duplicate_pairs` | integer |
| `summary.uncanonicalized_near_duplicates` | integer |

#### Örnek istek

```bash
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/duplicate-content?urls=https%3A%2F%2Fexample.com"
```

```javascript
const response = await fetch("https://domscan.net/v1/duplicate-content?urls=https%3A%2F%2Fexample.com", {
  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/duplicate-content?urls=https%3A%2F%2Fexample.com",
    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/duplicate-content?urls=https%3A%2F%2Fexample.com", 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/duplicate-content?urls=https%3A%2F%2Fexample.com")
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
{
  "status": "ok",
  "checked_at": "2026-10-13T12:00:00.000Z",
  "threshold": 0.8,
  "pages": [
    {
      "url": "https://example.com/a",
      "final_url": "https://example.com/a",
      "status": "ok",
      "reason": null,
      "http_status": 200,
      "title": "Trail shoes",
      "meta_description": "Shop trail shoes",
      "h1": "Trail shoes",
      "canonical": null,
      "word_count": 640,
      "comparable": true,
      "comparison_reason": null
    },
    {
      "url": "https://example.com/b",
      "final_url": "https://example.com/b",
      "status": "ok",
      "reason": null,
      "http_status": 200,
      "title": "Trail shoes",
      "meta_description": "Shop trail shoes",
      "h1": "Trail running shoes",
      "canonical": null,
      "word_count": 655,
      "comparable": true,
      "comparison_reason": null
    }
  ],
  "pairs": [
    {
      "a": "https://example.com/a",
      "b": "https://example.com/b",
      "similarity": 0.91,
      "containment": 0.96,
      "near_duplicate": true,
      "comparable": true,
      "canonicalized": false,
      "same_final_url": false,
      "reason": null
    }
  ],
  "clusters": [
    [
      "https://example.com/a",
      "https://example.com/b"
    ]
  ],
  "duplicates": {
    "titles": [
      {
        "value": "trail shoes",
        "urls": [
          "https://example.com/a",
          "https://example.com/b"
        ]
      }
    ],
    "meta_descriptions": [
      {
        "value": "shop trail shoes",
        "urls": [
          "https://example.com/a",
          "https://example.com/b"
        ]
      }
    ],
    "h1": []
  },
  "summary": {
    "pages": 2,
    "readable": 2,
    "unknown": 0,
    "comparable_pairs": 1,
    "unknown_pairs": 0,
    "same_final_url_pairs": 0,
    "near_duplicate_pairs": 1,
    "uncanonicalized_near_duplicates": 1
  }
}
```

#### 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)
