Справочник API

API API проверки hreflang

Проверка кодов hreflang, x-default, ссылок на саму страницу и обратных ссылок. Используйте этот справочник, чтобы выбрать операцию и встроить её документированный контракт ответа.

Операции

GET /v1/hreflang

Операция: getHreflangAudit Кредиты и аутентификация: 3 Требуется аутентификация
GET /v1/hreflang Кредиты: 3

Параметры запроса

Параметр Тип обязателен
url string обязателен
max_alternates integer
По умолчанию 10
опционально

Поля ответа

Поле Тип
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
lang string | null
entries[] object[]
entries[] object
entries[].hreflang string
entries[].href string
entries[].url string | null
entries[].source string
entries[].valid_code boolean
entries[].issues[] string[]
self_reference boolean
x_default boolean
issues[] string[]
return_links object
return_links.alternates integer
return_links.checked integer
return_links.not_checked integer
return_links.confirmed integer
return_links.missing integer
return_links.code_mismatch integer
return_links.not_found integer
return_links.unknown integer
return_links.results[] object[]
return_links.results[] object
return_links.results[].url string
return_links.results[].hreflang[] string[]
return_links.results[].state string
return_links.results[].http_status integer | null
return_links.results[].final_url string | null
return_links.results[].canonical string | null
return_links.results[].lang string | null
return_links.results[].issues[] string[]

Пример запроса

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/hreflang?url=https%3A%2F%2Fexample.com&max_alternates=10"
const response = await fetch("https://domscan.net/v1/hreflang?url=https%3A%2F%2Fexample.com&max_alternates=10", {
  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/hreflang?url=https%3A%2F%2Fexample.com&max_alternates=10",
    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/hreflang?url=https%3A%2F%2Fexample.com&max_alternates=10", 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/hreflang?url=https%3A%2F%2Fexample.com&max_alternates=10")
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
  },
  "lang": "en",
  "entries": [
    {
      "hreflang": "en",
      "href": "https://example.com/shoes/trail-runner",
      "url": "https://example.com/shoes/trail-runner",
      "source": "html",
      "valid_code": true,
      "issues": []
    },
    {
      "hreflang": "es-ES",
      "href": "https://example.com/es/zapatillas/trail-runner",
      "url": "https://example.com/es/zapatillas/trail-runner",
      "source": "html",
      "valid_code": true,
      "issues": []
    },
    {
      "hreflang": "x-default",
      "href": "https://example.com/shoes/trail-runner",
      "url": "https://example.com/shoes/trail-runner",
      "source": "html",
      "valid_code": true,
      "issues": []
    }
  ],
  "self_reference": true,
  "x_default": true,
  "issues": [],
  "return_links": {
    "alternates": 1,
    "checked": 1,
    "not_checked": 0,
    "confirmed": 1,
    "missing": 0,
    "not_found": 0,
    "unknown": 0,
    "results": [
      {
        "url": "https://example.com/es/zapatillas/trail-runner",
        "hreflang": [
          "es-ES"
        ],
        "http_status": 200,
        "final_url": "https://example.com/es/zapatillas/trail-runner",
        "canonical": "https://example.com/es/zapatillas/trail-runner",
        "lang": "es",
        "issues": [],
        "state": "confirmed"
      }
    ]
  }
}

Коды состояния HTTP

  • 200 OK
  • 400 Неверный запрос
  • 401 Не авторизован
  • 402 Требуется оплата
  • 429 Слишком много запросов

Справочные материалы