مرجع API

API الخاص بـ واجهة برمجة تحليل أسماء النطاقات الدولية والأحرف المتشابهة

حوّل نطاقات Punycode وUnicode واكتشف الأحرف المتشابهة. استخدم هذا المرجع لاختيار عملية ودمج عقد الاستجابة الموثق.

العمليات

GET /v1/idn عرض مرجع API

GET /v1/idn

العملية: getIdnAnalysis الوحدات والمصادقة: 1 المصادقة مطلوبة
GET /v1/idn الرصيد: 1

معاملات الاستعلام

المعامل النوع مطلوب
domain string مطلوب

حقول الرد

الحقل النوع
input string
outcome string
unicode string
ascii string
is_idn boolean
valid boolean
errors[] string[]
labels[] object[]
labels[] object
labels[].unicode string
labels[].ascii string
labels[].is_idn boolean
labels[].scripts[] string[]
labels[].mixed_script boolean
labels[].has_invisible boolean
labels[].confusable_characters[] object[]
labels[].confusable_characters[] object
labels[].confusable_characters[].char string
labels[].confusable_characters[].codepoint string
labels[].confusable_characters[].script string
labels[].confusable_characters[].looks_like string
skeleton string
risk object
risk.level string
risk.reasons[] string[]
tld object
tld.label string
tld.ascii string
tld.is_idn boolean
checked_at string
caveats[] string[]

طلب مثال

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/idn?domain=xn--80ak6aa92e.com"
const response = await fetch("https://domscan.net/v1/idn?domain=xn--80ak6aa92e.com", {
  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/idn?domain=xn--80ak6aa92e.com",
    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/idn?domain=xn--80ak6aa92e.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))
}
require "json"
require "net/http"

uri = URI("https://domscan.net/v1/idn?domain=xn--80ak6aa92e.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))

مثال الرد

{
  "input": "xn--80ak6aa92e.com",
  "outcome": "analyzed",
  "unicode": "аррӏе.com",
  "ascii": "xn--80ak6aa92e.com",
  "is_idn": true,
  "valid": true,
  "errors": [],
  "labels": [
    {
      "unicode": "аррӏе",
      "ascii": "xn--80ak6aa92e",
      "is_idn": true,
      "scripts": [
        "Cyrillic"
      ],
      "mixed_script": false,
      "has_invisible": false,
      "confusable_characters": [
        {
          "char": "а",
          "codepoint": "U+0430",
          "script": "Cyrillic",
          "looks_like": "a"
        },
        {
          "char": "р",
          "codepoint": "U+0440",
          "script": "Cyrillic",
          "looks_like": "p"
        },
        {
          "char": "р",
          "codepoint": "U+0440",
          "script": "Cyrillic",
          "looks_like": "p"
        },
        {
          "char": "ӏ",
          "codepoint": "U+04CF",
          "script": "Cyrillic",
          "looks_like": "l"
        },
        {
          "char": "е",
          "codepoint": "U+0435",
          "script": "Cyrillic",
          "looks_like": "e"
        }
      ]
    },
    {
      "unicode": "com",
      "ascii": "com",
      "is_idn": false,
      "scripts": [
        "Latin"
      ],
      "mixed_script": false,
      "has_invisible": false,
      "confusable_characters": []
    }
  ],
  "skeleton": "apple.com",
  "risk": {
    "level": "high",
    "reasons": [
      "whole_script_confusable",
      "idn_label"
    ]
  },
  "tld": {
    "label": "com",
    "ascii": "com",
    "is_idn": false
  },
  "checked_at": "2026-10-09T10:15:30.000Z",
  "caveats": [
    "partial_confusable_table"
  ]
}

رموز حالة HTTP

  • 200 OK
  • 400 طلب غير صالح
  • 401 غير مصرح
  • 402 الدفع مطلوب
  • 429 طلبات كثيرة جداً

موارد المرجع