域名投资者
从一个 JSON 源监控 GoDaddy、DropCatch、NameJet、Dynadot 等拍卖。不用每天早上挨个平台查看。
面向 SEO 专家和机构的 Expired Domains API
与 Karma.Domains 应用相同的库存 — gTLD 和 ccTLD,每份报告含 Ahrefs、Majestic、Moz、Semrush、SimilarWeb 和 Wayback。已保存过滤器、注释、带 share_url 的分享链接,以及通过 REST 的 SEO enrich。Pro 套餐 Bearer 密钥,每分钟 60 次请求,与 MCP 共享。
一个 Base URL、一把 Bearer 密钥、JSON 响应。调用 POST /v1/reports/search — 下方字段名在构建时从 OpenAPI 模式同步。
| Base URL | https://api.karma.domains |
|---|---|
| Auth | Authorization: Bearer YOUR_API_KEY |
| Format | JSON over HTTPS |
| 速率限制 | 每把密钥每分钟 60 次请求(与 MCP 共享) |
| 列表配额 | 每天 50,000 行(UTC),page_size 1–100,page × page_size ≤ 5000 |
| Live-tool 配额 | 每天 200 次(UTC,非缓存);缓存命中免费 |
交互式试调控制台 — Swagger UI。
curl、Python、PHP、JavaScript、Go、Apps Script、Perl — 还有 LOLCODE。默认是 curl 加上 KarmaScore 至少 60 的 expired 域名搜索。响应已截断 — 真实 payload 包含每个模式字段。
curl -X POST "https://api.karma.domains/v1/reports/search?page=1&page_size=25" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"karmascore_min":60,"domain_type":["expired"]}' Response
{
"report_list": [
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "brewjournal.com",
"domain_tld": "com",
"karmascore": 72,
"karmametric": 61,
"majestic_tf": 18,
"majestic_cf": 22,
"moz_da": 28,
"ahrefs_dr": 31.4,
"sr_as": 24,
"sw_last_traffic": 1200,
"wa_age": 9,
"wa_last_title": "Specialty coffee notes",
"auctions": null,
"...": "…"
}
],
"total_count": 1842
} curl -X GET "https://api.karma.domains/v1/reports/report?report_type=expired&report_id=65a1c2f8e4b0a91d3c7e4b12" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" Response
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "brewjournal.com",
"domain_tld": "com",
"added_at": 1710000000,
"processed": true,
"is_expired": true,
"metrics": {
"majestic": {
"tf": 18,
"cf": 22,
"bl": 1420,
"...": "…"
},
"moz": {
"da": 28,
"ss": 3,
"...": "…"
},
"ahrefs": {
"dr": 31.4,
"ur": 18.2
},
"similarweb": {
"visits": 1200,
"...": "…"
},
"karma_metric": {
"karma_metric": 61,
"...": "…"
},
"...": "…"
},
"web_archive": {
"age": 9,
"last_title": "Specialty coffee notes",
"...": "…"
},
"auctions": null,
"...": "…"
} curl -X GET "https://api.karma.domains/v1/reports/by-domain?domain=example.com" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" Response
{
"domain": "example.com",
"matches": [
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "example.com",
"added_at": 1710000000
}
]
} curl -X GET "https://api.karma.domains/v1/domains/checker/expiry?domain=mybrand.com" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" Response
{
"domain": "mybrand.com",
"available": true
} curl -X GET "https://api.karma.domains/v1/domains/checker/domain_authority?domain=mybrand.com" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" Response
{
"domain": "mybrand.com",
"metrics": {
"dr": 31.4,
"ur": 18.2,
"da": 28,
"ss": 3,
"sr_as": 24,
"kdm": 61,
"...": "…"
}
} curl -X GET "https://api.karma.domains/v1/user" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" Response
{
"id": "65a1c2f8e4b0a91d3c7e4b12",
"email": "[email protected]",
"balance": 420,
"pro_plan": 1,
"pro_task_credits": 350,
"unlimited_plan": 0,
"...": "…"
} curl -X POST "https://api.karma.domains/v1/reports/share" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"report_type":"expired","report_id":"65a1c2f8e4b0a91d3c7e4b12"}' Response
{
"token": "abc123guest",
"expires_at": 1710000000,
"share_url": "https://karma.domains/app/share/abc123guest"
} curl -X POST "https://api.karma.domains/v1/reports/expired/65a1c2f8e4b0a91d3c7e4b12/enrich-seo" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" Response
{
"job_id": "65a1c2f8e4b0a91d3c7e4b99"
} import requests
url = "https://api.karma.domains/v1/reports/search"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
}
params = {
"page": 1,
"page_size": 25,
}
body = {
"karmascore_min": 60,
"domain_type": ["expired"],
}
response = requests.post(url, headers=headers, params=params, json=body)
print(response.json()) Response
{
"report_list": [
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "brewjournal.com",
"domain_tld": "com",
"karmascore": 72,
"karmametric": 61,
"majestic_tf": 18,
"majestic_cf": 22,
"moz_da": 28,
"ahrefs_dr": 31.4,
"sr_as": 24,
"sw_last_traffic": 1200,
"wa_age": 9,
"wa_last_title": "Specialty coffee notes",
"auctions": null,
"...": "…"
}
],
"total_count": 1842
} import requests
url = "https://api.karma.domains/v1/reports/report"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
}
params = {
"report_type": "expired",
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
}
response = requests.get(url, headers=headers, params=params)
print(response.json()) Response
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "brewjournal.com",
"domain_tld": "com",
"added_at": 1710000000,
"processed": true,
"is_expired": true,
"metrics": {
"majestic": {
"tf": 18,
"cf": 22,
"bl": 1420,
"...": "…"
},
"moz": {
"da": 28,
"ss": 3,
"...": "…"
},
"ahrefs": {
"dr": 31.4,
"ur": 18.2
},
"similarweb": {
"visits": 1200,
"...": "…"
},
"karma_metric": {
"karma_metric": 61,
"...": "…"
},
"...": "…"
},
"web_archive": {
"age": 9,
"last_title": "Specialty coffee notes",
"...": "…"
},
"auctions": null,
"...": "…"
} import requests
url = "https://api.karma.domains/v1/reports/by-domain"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
}
params = {
"domain": "example.com",
}
response = requests.get(url, headers=headers, params=params)
print(response.json()) Response
{
"domain": "example.com",
"matches": [
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "example.com",
"added_at": 1710000000
}
]
} import requests
url = "https://api.karma.domains/v1/domains/checker/expiry"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
}
params = {
"domain": "mybrand.com",
}
response = requests.get(url, headers=headers, params=params)
print(response.json()) Response
{
"domain": "mybrand.com",
"available": true
} import requests
url = "https://api.karma.domains/v1/domains/checker/domain_authority"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
}
params = {
"domain": "mybrand.com",
}
response = requests.get(url, headers=headers, params=params)
print(response.json()) Response
{
"domain": "mybrand.com",
"metrics": {
"dr": 31.4,
"ur": 18.2,
"da": 28,
"ss": 3,
"sr_as": 24,
"kdm": 61,
"...": "…"
}
} import requests
url = "https://api.karma.domains/v1/user"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
}
response = requests.get(url, headers=headers)
print(response.json()) Response
{
"id": "65a1c2f8e4b0a91d3c7e4b12",
"email": "[email protected]",
"balance": 420,
"pro_plan": 1,
"pro_task_credits": 350,
"unlimited_plan": 0,
"...": "…"
} import requests
url = "https://api.karma.domains/v1/reports/share"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
}
body = {
"report_type": "expired",
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
}
response = requests.post(url, headers=headers, json=body)
print(response.json()) Response
{
"token": "abc123guest",
"expires_at": 1710000000,
"share_url": "https://karma.domains/app/share/abc123guest"
} import requests
url = "https://api.karma.domains/v1/reports/expired/65a1c2f8e4b0a91d3c7e4b12/enrich-seo"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
}
response = requests.post(url, headers=headers)
print(response.json()) Response
{
"job_id": "65a1c2f8e4b0a91d3c7e4b99"
} <?php
$ch = curl_init('https://api.karma.domains/v1/reports/search?page=1&page_size=25');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Accept: application/json',
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'karmascore_min' => 60,
'domain_type' => ['expired'],
]),
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response; Response
{
"report_list": [
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "brewjournal.com",
"domain_tld": "com",
"karmascore": 72,
"karmametric": 61,
"majestic_tf": 18,
"majestic_cf": 22,
"moz_da": 28,
"ahrefs_dr": 31.4,
"sr_as": 24,
"sw_last_traffic": 1200,
"wa_age": 9,
"wa_last_title": "Specialty coffee notes",
"auctions": null,
"...": "…"
}
],
"total_count": 1842
} <?php
$ch = curl_init('https://api.karma.domains/v1/reports/report?report_type=expired&report_id=65a1c2f8e4b0a91d3c7e4b12');
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Accept: application/json',
],
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response; Response
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "brewjournal.com",
"domain_tld": "com",
"added_at": 1710000000,
"processed": true,
"is_expired": true,
"metrics": {
"majestic": {
"tf": 18,
"cf": 22,
"bl": 1420,
"...": "…"
},
"moz": {
"da": 28,
"ss": 3,
"...": "…"
},
"ahrefs": {
"dr": 31.4,
"ur": 18.2
},
"similarweb": {
"visits": 1200,
"...": "…"
},
"karma_metric": {
"karma_metric": 61,
"...": "…"
},
"...": "…"
},
"web_archive": {
"age": 9,
"last_title": "Specialty coffee notes",
"...": "…"
},
"auctions": null,
"...": "…"
} <?php
$ch = curl_init('https://api.karma.domains/v1/reports/by-domain?domain=example.com');
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Accept: application/json',
],
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response; Response
{
"domain": "example.com",
"matches": [
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "example.com",
"added_at": 1710000000
}
]
} <?php
$ch = curl_init('https://api.karma.domains/v1/domains/checker/expiry?domain=mybrand.com');
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Accept: application/json',
],
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response; Response
{
"domain": "mybrand.com",
"available": true
} <?php
$ch = curl_init('https://api.karma.domains/v1/domains/checker/domain_authority?domain=mybrand.com');
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Accept: application/json',
],
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response; Response
{
"domain": "mybrand.com",
"metrics": {
"dr": 31.4,
"ur": 18.2,
"da": 28,
"ss": 3,
"sr_as": 24,
"kdm": 61,
"...": "…"
}
} <?php
$ch = curl_init('https://api.karma.domains/v1/user');
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Accept: application/json',
],
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response; Response
{
"id": "65a1c2f8e4b0a91d3c7e4b12",
"email": "[email protected]",
"balance": 420,
"pro_plan": 1,
"pro_task_credits": 350,
"unlimited_plan": 0,
"...": "…"
} <?php
$ch = curl_init('https://api.karma.domains/v1/reports/share');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Accept: application/json',
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'report_type' => 'expired',
'report_id' => '65a1c2f8e4b0a91d3c7e4b12',
]),
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response; Response
{
"token": "abc123guest",
"expires_at": 1710000000,
"share_url": "https://karma.domains/app/share/abc123guest"
} <?php
$ch = curl_init('https://api.karma.domains/v1/reports/expired/65a1c2f8e4b0a91d3c7e4b12/enrich-seo');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Accept: application/json',
],
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response; Response
{
"job_id": "65a1c2f8e4b0a91d3c7e4b99"
} const response = await fetch(
'https://api.karma.domains/v1/reports/search?page=1&page_size=25',
{
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
Accept: 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
karmascore_min: 60,
domain_type: ["expired"],
}),
}
);
const data = await response.json(); Response
{
"report_list": [
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "brewjournal.com",
"domain_tld": "com",
"karmascore": 72,
"karmametric": 61,
"majestic_tf": 18,
"majestic_cf": 22,
"moz_da": 28,
"ahrefs_dr": 31.4,
"sr_as": 24,
"sw_last_traffic": 1200,
"wa_age": 9,
"wa_last_title": "Specialty coffee notes",
"auctions": null,
"...": "…"
}
],
"total_count": 1842
} const response = await fetch(
'https://api.karma.domains/v1/reports/report?report_type=expired&report_id=65a1c2f8e4b0a91d3c7e4b12',
{
headers: {
Authorization: 'Bearer YOUR_API_KEY',
Accept: 'application/json',
},
}
);
const data = await response.json(); Response
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "brewjournal.com",
"domain_tld": "com",
"added_at": 1710000000,
"processed": true,
"is_expired": true,
"metrics": {
"majestic": {
"tf": 18,
"cf": 22,
"bl": 1420,
"...": "…"
},
"moz": {
"da": 28,
"ss": 3,
"...": "…"
},
"ahrefs": {
"dr": 31.4,
"ur": 18.2
},
"similarweb": {
"visits": 1200,
"...": "…"
},
"karma_metric": {
"karma_metric": 61,
"...": "…"
},
"...": "…"
},
"web_archive": {
"age": 9,
"last_title": "Specialty coffee notes",
"...": "…"
},
"auctions": null,
"...": "…"
} const response = await fetch(
'https://api.karma.domains/v1/reports/by-domain?domain=example.com',
{
headers: {
Authorization: 'Bearer YOUR_API_KEY',
Accept: 'application/json',
},
}
);
const data = await response.json(); Response
{
"domain": "example.com",
"matches": [
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "example.com",
"added_at": 1710000000
}
]
} const response = await fetch(
'https://api.karma.domains/v1/domains/checker/expiry?domain=mybrand.com',
{
headers: {
Authorization: 'Bearer YOUR_API_KEY',
Accept: 'application/json',
},
}
);
const data = await response.json(); Response
{
"domain": "mybrand.com",
"available": true
} const response = await fetch(
'https://api.karma.domains/v1/domains/checker/domain_authority?domain=mybrand.com',
{
headers: {
Authorization: 'Bearer YOUR_API_KEY',
Accept: 'application/json',
},
}
);
const data = await response.json(); Response
{
"domain": "mybrand.com",
"metrics": {
"dr": 31.4,
"ur": 18.2,
"da": 28,
"ss": 3,
"sr_as": 24,
"kdm": 61,
"...": "…"
}
} const response = await fetch(
'https://api.karma.domains/v1/user',
{
headers: {
Authorization: 'Bearer YOUR_API_KEY',
Accept: 'application/json',
},
}
);
const data = await response.json(); Response
{
"id": "65a1c2f8e4b0a91d3c7e4b12",
"email": "[email protected]",
"balance": 420,
"pro_plan": 1,
"pro_task_credits": 350,
"unlimited_plan": 0,
"...": "…"
} const response = await fetch(
'https://api.karma.domains/v1/reports/share',
{
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
Accept: 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
report_type: "expired",
report_id: "65a1c2f8e4b0a91d3c7e4b12",
}),
}
);
const data = await response.json(); Response
{
"token": "abc123guest",
"expires_at": 1710000000,
"share_url": "https://karma.domains/app/share/abc123guest"
} const response = await fetch(
'https://api.karma.domains/v1/reports/expired/65a1c2f8e4b0a91d3c7e4b12/enrich-seo',
{
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
Accept: 'application/json',
},
}
);
const data = await response.json(); Response
{
"job_id": "65a1c2f8e4b0a91d3c7e4b99"
} package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
req, err := http.NewRequest("POST", "https://api.karma.domains/v1/reports/search?page=1&page_size=25", strings.NewReader(`{"karmascore_min":60,"domain_type":["expired"]}`))
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
} Response
{
"report_list": [
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "brewjournal.com",
"domain_tld": "com",
"karmascore": 72,
"karmametric": 61,
"majestic_tf": 18,
"majestic_cf": 22,
"moz_da": 28,
"ahrefs_dr": 31.4,
"sr_as": 24,
"sw_last_traffic": 1200,
"wa_age": 9,
"wa_last_title": "Specialty coffee notes",
"auctions": null,
"...": "…"
}
],
"total_count": 1842
} package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://api.karma.domains/v1/reports/report?report_type=expired&report_id=65a1c2f8e4b0a91d3c7e4b12", nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Accept", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
} Response
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "brewjournal.com",
"domain_tld": "com",
"added_at": 1710000000,
"processed": true,
"is_expired": true,
"metrics": {
"majestic": {
"tf": 18,
"cf": 22,
"bl": 1420,
"...": "…"
},
"moz": {
"da": 28,
"ss": 3,
"...": "…"
},
"ahrefs": {
"dr": 31.4,
"ur": 18.2
},
"similarweb": {
"visits": 1200,
"...": "…"
},
"karma_metric": {
"karma_metric": 61,
"...": "…"
},
"...": "…"
},
"web_archive": {
"age": 9,
"last_title": "Specialty coffee notes",
"...": "…"
},
"auctions": null,
"...": "…"
} package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://api.karma.domains/v1/reports/by-domain?domain=example.com", nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Accept", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
} Response
{
"domain": "example.com",
"matches": [
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "example.com",
"added_at": 1710000000
}
]
} package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://api.karma.domains/v1/domains/checker/expiry?domain=mybrand.com", nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Accept", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
} Response
{
"domain": "mybrand.com",
"available": true
} package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://api.karma.domains/v1/domains/checker/domain_authority?domain=mybrand.com", nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Accept", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
} Response
{
"domain": "mybrand.com",
"metrics": {
"dr": 31.4,
"ur": 18.2,
"da": 28,
"ss": 3,
"sr_as": 24,
"kdm": 61,
"...": "…"
}
} package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://api.karma.domains/v1/user", nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Accept", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
} Response
{
"id": "65a1c2f8e4b0a91d3c7e4b12",
"email": "[email protected]",
"balance": 420,
"pro_plan": 1,
"pro_task_credits": 350,
"unlimited_plan": 0,
"...": "…"
} package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
req, err := http.NewRequest("POST", "https://api.karma.domains/v1/reports/share", strings.NewReader(`{"report_type":"expired","report_id":"65a1c2f8e4b0a91d3c7e4b12"}`))
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
} Response
{
"token": "abc123guest",
"expires_at": 1710000000,
"share_url": "https://karma.domains/app/share/abc123guest"
} package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, err := http.NewRequest("POST", "https://api.karma.domains/v1/reports/expired/65a1c2f8e4b0a91d3c7e4b12/enrich-seo", nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Accept", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
} Response
{
"job_id": "65a1c2f8e4b0a91d3c7e4b99"
} function run() {
const url = 'https://api.karma.domains/v1/reports/search?page=1&page_size=25';
const response = UrlFetchApp.fetch(url, {
method: 'post',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
Accept: 'application/json',
},
contentType: 'application/json',
payload: JSON.stringify({
karmascore_min: 60,
domain_type: ["expired"],
}),
muteHttpExceptions: true,
});
const data = JSON.parse(response.getContentText());
Logger.log(data);
} Response
{
"report_list": [
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "brewjournal.com",
"domain_tld": "com",
"karmascore": 72,
"karmametric": 61,
"majestic_tf": 18,
"majestic_cf": 22,
"moz_da": 28,
"ahrefs_dr": 31.4,
"sr_as": 24,
"sw_last_traffic": 1200,
"wa_age": 9,
"wa_last_title": "Specialty coffee notes",
"auctions": null,
"...": "…"
}
],
"total_count": 1842
} function run() {
const url = 'https://api.karma.domains/v1/reports/report?report_type=expired&report_id=65a1c2f8e4b0a91d3c7e4b12';
const response = UrlFetchApp.fetch(url, {
method: 'get',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
Accept: 'application/json',
},
muteHttpExceptions: true,
});
const data = JSON.parse(response.getContentText());
Logger.log(data);
} Response
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "brewjournal.com",
"domain_tld": "com",
"added_at": 1710000000,
"processed": true,
"is_expired": true,
"metrics": {
"majestic": {
"tf": 18,
"cf": 22,
"bl": 1420,
"...": "…"
},
"moz": {
"da": 28,
"ss": 3,
"...": "…"
},
"ahrefs": {
"dr": 31.4,
"ur": 18.2
},
"similarweb": {
"visits": 1200,
"...": "…"
},
"karma_metric": {
"karma_metric": 61,
"...": "…"
},
"...": "…"
},
"web_archive": {
"age": 9,
"last_title": "Specialty coffee notes",
"...": "…"
},
"auctions": null,
"...": "…"
} function run() {
const url = 'https://api.karma.domains/v1/reports/by-domain?domain=example.com';
const response = UrlFetchApp.fetch(url, {
method: 'get',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
Accept: 'application/json',
},
muteHttpExceptions: true,
});
const data = JSON.parse(response.getContentText());
Logger.log(data);
} Response
{
"domain": "example.com",
"matches": [
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "example.com",
"added_at": 1710000000
}
]
} function run() {
const url = 'https://api.karma.domains/v1/domains/checker/expiry?domain=mybrand.com';
const response = UrlFetchApp.fetch(url, {
method: 'get',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
Accept: 'application/json',
},
muteHttpExceptions: true,
});
const data = JSON.parse(response.getContentText());
Logger.log(data);
} Response
{
"domain": "mybrand.com",
"available": true
} function run() {
const url = 'https://api.karma.domains/v1/domains/checker/domain_authority?domain=mybrand.com';
const response = UrlFetchApp.fetch(url, {
method: 'get',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
Accept: 'application/json',
},
muteHttpExceptions: true,
});
const data = JSON.parse(response.getContentText());
Logger.log(data);
} Response
{
"domain": "mybrand.com",
"metrics": {
"dr": 31.4,
"ur": 18.2,
"da": 28,
"ss": 3,
"sr_as": 24,
"kdm": 61,
"...": "…"
}
} function run() {
const url = 'https://api.karma.domains/v1/user';
const response = UrlFetchApp.fetch(url, {
method: 'get',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
Accept: 'application/json',
},
muteHttpExceptions: true,
});
const data = JSON.parse(response.getContentText());
Logger.log(data);
} Response
{
"id": "65a1c2f8e4b0a91d3c7e4b12",
"email": "[email protected]",
"balance": 420,
"pro_plan": 1,
"pro_task_credits": 350,
"unlimited_plan": 0,
"...": "…"
} function run() {
const url = 'https://api.karma.domains/v1/reports/share';
const response = UrlFetchApp.fetch(url, {
method: 'post',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
Accept: 'application/json',
},
contentType: 'application/json',
payload: JSON.stringify({
report_type: "expired",
report_id: "65a1c2f8e4b0a91d3c7e4b12",
}),
muteHttpExceptions: true,
});
const data = JSON.parse(response.getContentText());
Logger.log(data);
} Response
{
"token": "abc123guest",
"expires_at": 1710000000,
"share_url": "https://karma.domains/app/share/abc123guest"
} function run() {
const url = 'https://api.karma.domains/v1/reports/expired/65a1c2f8e4b0a91d3c7e4b12/enrich-seo';
const response = UrlFetchApp.fetch(url, {
method: 'post',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
Accept: 'application/json',
},
muteHttpExceptions: true,
});
const data = JSON.parse(response.getContentText());
Logger.log(data);
} Response
{
"job_id": "65a1c2f8e4b0a91d3c7e4b99"
} use HTTP::Tiny;
my $res = HTTP::Tiny->new->request(
'POST',
'https://api.karma.domains/v1/reports/search?page=1&page_size=25',
{
headers => {
Authorization => 'Bearer YOUR_API_KEY',
Accept => 'application/json',
'Content-Type' => 'application/json',
},
content => '{"karmascore_min":60,"domain_type":["expired"]}',
}
);
print $res->{content}; Response
{
"report_list": [
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "brewjournal.com",
"domain_tld": "com",
"karmascore": 72,
"karmametric": 61,
"majestic_tf": 18,
"majestic_cf": 22,
"moz_da": 28,
"ahrefs_dr": 31.4,
"sr_as": 24,
"sw_last_traffic": 1200,
"wa_age": 9,
"wa_last_title": "Specialty coffee notes",
"auctions": null,
"...": "…"
}
],
"total_count": 1842
} use HTTP::Tiny;
my $res = HTTP::Tiny->new->request(
'GET',
'https://api.karma.domains/v1/reports/report?report_type=expired&report_id=65a1c2f8e4b0a91d3c7e4b12',
{
headers => {
Authorization => 'Bearer YOUR_API_KEY',
Accept => 'application/json',
},
}
);
print $res->{content}; Response
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "brewjournal.com",
"domain_tld": "com",
"added_at": 1710000000,
"processed": true,
"is_expired": true,
"metrics": {
"majestic": {
"tf": 18,
"cf": 22,
"bl": 1420,
"...": "…"
},
"moz": {
"da": 28,
"ss": 3,
"...": "…"
},
"ahrefs": {
"dr": 31.4,
"ur": 18.2
},
"similarweb": {
"visits": 1200,
"...": "…"
},
"karma_metric": {
"karma_metric": 61,
"...": "…"
},
"...": "…"
},
"web_archive": {
"age": 9,
"last_title": "Specialty coffee notes",
"...": "…"
},
"auctions": null,
"...": "…"
} use HTTP::Tiny;
my $res = HTTP::Tiny->new->request(
'GET',
'https://api.karma.domains/v1/reports/by-domain?domain=example.com',
{
headers => {
Authorization => 'Bearer YOUR_API_KEY',
Accept => 'application/json',
},
}
);
print $res->{content}; Response
{
"domain": "example.com",
"matches": [
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "example.com",
"added_at": 1710000000
}
]
} use HTTP::Tiny;
my $res = HTTP::Tiny->new->request(
'GET',
'https://api.karma.domains/v1/domains/checker/expiry?domain=mybrand.com',
{
headers => {
Authorization => 'Bearer YOUR_API_KEY',
Accept => 'application/json',
},
}
);
print $res->{content}; Response
{
"domain": "mybrand.com",
"available": true
} use HTTP::Tiny;
my $res = HTTP::Tiny->new->request(
'GET',
'https://api.karma.domains/v1/domains/checker/domain_authority?domain=mybrand.com',
{
headers => {
Authorization => 'Bearer YOUR_API_KEY',
Accept => 'application/json',
},
}
);
print $res->{content}; Response
{
"domain": "mybrand.com",
"metrics": {
"dr": 31.4,
"ur": 18.2,
"da": 28,
"ss": 3,
"sr_as": 24,
"kdm": 61,
"...": "…"
}
} use HTTP::Tiny;
my $res = HTTP::Tiny->new->request(
'GET',
'https://api.karma.domains/v1/user',
{
headers => {
Authorization => 'Bearer YOUR_API_KEY',
Accept => 'application/json',
},
}
);
print $res->{content}; Response
{
"id": "65a1c2f8e4b0a91d3c7e4b12",
"email": "[email protected]",
"balance": 420,
"pro_plan": 1,
"pro_task_credits": 350,
"unlimited_plan": 0,
"...": "…"
} use HTTP::Tiny;
my $res = HTTP::Tiny->new->request(
'POST',
'https://api.karma.domains/v1/reports/share',
{
headers => {
Authorization => 'Bearer YOUR_API_KEY',
Accept => 'application/json',
'Content-Type' => 'application/json',
},
content => '{"report_type":"expired","report_id":"65a1c2f8e4b0a91d3c7e4b12"}',
}
);
print $res->{content}; Response
{
"token": "abc123guest",
"expires_at": 1710000000,
"share_url": "https://karma.domains/app/share/abc123guest"
} use HTTP::Tiny;
my $res = HTTP::Tiny->new->request(
'POST',
'https://api.karma.domains/v1/reports/expired/65a1c2f8e4b0a91d3c7e4b12/enrich-seo',
{
headers => {
Authorization => 'Bearer YOUR_API_KEY',
Accept => 'application/json',
},
}
);
print $res->{content}; Response
{
"job_id": "65a1c2f8e4b0a91d3c7e4b99"
} HAI 1.2
BTW POST /reports/search — do not ship this
I HAS A URL ITZ "https://api.karma.domains/v1/reports/search?page=1&page_size=25"
I HAS A KEY ITZ "YOUR_API_KEY"
VISIBLE SMOOSH "Authorization: Bearer " AN KEY MKAY
VISIBLE URL
I HAS A BODY ITZ "{""karmascore_min"":60,""domain_type"":[""expired""]}"
VISIBLE BODY
VISIBLE "I CAN HAS EXPIRED DOMAINS WIF KARMA 60"
KTHXBYE Response
{
"report_list": [
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "brewjournal.com",
"domain_tld": "com",
"karmascore": 72,
"karmametric": 61,
"majestic_tf": 18,
"majestic_cf": 22,
"moz_da": 28,
"ahrefs_dr": 31.4,
"sr_as": 24,
"sw_last_traffic": 1200,
"wa_age": 9,
"wa_last_title": "Specialty coffee notes",
"auctions": null,
"...": "…"
}
],
"total_count": 1842
} HAI 1.2
BTW GET /reports/report — do not ship this
I HAS A URL ITZ "https://api.karma.domains/v1/reports/report?report_type=expired&report_id=65a1c2f8e4b0a91d3c7e4b12"
I HAS A KEY ITZ "YOUR_API_KEY"
VISIBLE SMOOSH "Authorization: Bearer " AN KEY MKAY
VISIBLE URL
VISIBLE "GIMMEH TEH FULL REPORT"
KTHXBYE Response
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "brewjournal.com",
"domain_tld": "com",
"added_at": 1710000000,
"processed": true,
"is_expired": true,
"metrics": {
"majestic": {
"tf": 18,
"cf": 22,
"bl": 1420,
"...": "…"
},
"moz": {
"da": 28,
"ss": 3,
"...": "…"
},
"ahrefs": {
"dr": 31.4,
"ur": 18.2
},
"similarweb": {
"visits": 1200,
"...": "…"
},
"karma_metric": {
"karma_metric": 61,
"...": "…"
},
"...": "…"
},
"web_archive": {
"age": 9,
"last_title": "Specialty coffee notes",
"...": "…"
},
"auctions": null,
"...": "…"
} HAI 1.2
BTW GET /reports/by-domain — do not ship this
I HAS A URL ITZ "https://api.karma.domains/v1/reports/by-domain?domain=example.com"
I HAS A KEY ITZ "YOUR_API_KEY"
VISIBLE SMOOSH "Authorization: Bearer " AN KEY MKAY
VISIBLE URL
VISIBLE "I CAN HAS DOMAIN example.com"
KTHXBYE Response
{
"domain": "example.com",
"matches": [
{
"report_id": "65a1c2f8e4b0a91d3c7e4b12",
"report_type": "expired",
"domain": "example.com",
"added_at": 1710000000
}
]
} HAI 1.2
BTW GET /domains/checker/expiry — do not ship this
I HAS A URL ITZ "https://api.karma.domains/v1/domains/checker/expiry?domain=mybrand.com"
I HAS A KEY ITZ "YOUR_API_KEY"
VISIBLE SMOOSH "Authorization: Bearer " AN KEY MKAY
VISIBLE URL
VISIBLE "IZ IT FREE OR IZ IT TAKEN"
KTHXBYE Response
{
"domain": "mybrand.com",
"available": true
} HAI 1.2
BTW GET /domains/checker/domain_authority — do not ship this
I HAS A URL ITZ "https://api.karma.domains/v1/domains/checker/domain_authority?domain=mybrand.com"
I HAS A KEY ITZ "YOUR_API_KEY"
VISIBLE SMOOSH "Authorization: Bearer " AN KEY MKAY
VISIBLE URL
VISIBLE "HOW BIG IZ TEH DA"
KTHXBYE Response
{
"domain": "mybrand.com",
"metrics": {
"dr": 31.4,
"ur": 18.2,
"da": 28,
"ss": 3,
"sr_as": 24,
"kdm": 61,
"...": "…"
}
} HAI 1.2
BTW GET /user — do not ship this
I HAS A URL ITZ "https://api.karma.domains/v1/user"
I HAS A KEY ITZ "YOUR_API_KEY"
VISIBLE SMOOSH "Authorization: Bearer " AN KEY MKAY
VISIBLE URL
VISIBLE "GIMMEH MAH CREDITS"
KTHXBYE Response
{
"id": "65a1c2f8e4b0a91d3c7e4b12",
"email": "[email protected]",
"balance": 420,
"pro_plan": 1,
"pro_task_credits": 350,
"unlimited_plan": 0,
"...": "…"
} HAI 1.2
BTW POST /reports/share — do not ship this
I HAS A URL ITZ "https://api.karma.domains/v1/reports/share"
I HAS A KEY ITZ "YOUR_API_KEY"
VISIBLE SMOOSH "Authorization: Bearer " AN KEY MKAY
VISIBLE URL
I HAS A BODY ITZ "{""report_type"":""expired"",""report_id"":""65a1c2f8e4b0a91d3c7e4b12""}"
VISIBLE BODY
VISIBLE "PLZ SHARE DIS REPORT WIF MAH CLIENT"
KTHXBYE Response
{
"token": "abc123guest",
"expires_at": 1710000000,
"share_url": "https://karma.domains/app/share/abc123guest"
} HAI 1.2
BTW POST /reports/expired/65a1c2f8e4b0a91d3c7e4b12/enrich-seo — do not ship this
I HAS A URL ITZ "https://api.karma.domains/v1/reports/expired/65a1c2f8e4b0a91d3c7e4b12/enrich-seo"
I HAS A KEY ITZ "YOUR_API_KEY"
VISIBLE SMOOSH "Authorization: Bearer " AN KEY MKAY
VISIBLE URL
VISIBLE "MAKE TEH SEO MOAR SHINY"
KTHXBYE Response
{
"job_id": "65a1c2f8e4b0a91d3c7e4b99"
} 上方响应已截断。每个端点的完整正文 — Swagger UI。
与应用相同的平台。用 auction_source 过滤 — 名称(godaddy)或 source|sale_type(godaddy|bid)。条目以 OR 组合。
aftermarket_pl 全部 aftermarket_pl|auction Auctions aftermarket_pl|buynow Buy Now alibabacloud 全部 alibabacloud|buynow Buy Now cznic 全部 cznic|auction Auctions domainlore 全部 dropcatch 全部 dropcatch|prerelease Pre-Release dropcatch|dropped Dropped dropcatch|privateseller Private Seller dynadot 全部 dynadot|auction Auctions dynadot|closeout Closeout dynadot|backorder Backorder dynadot|buynow Buy Now efty 全部 efty|buynow Buy Now gname 全部 gname|auction Auctions gname|backorder Backorder gname|buynow Buy Now godaddy 全部 godaddy|bid Auctions godaddy|closeout Closeouts hugedomains 全部 hugedomains|buynow Buy Now namecheap 全部 namecheap|buynow Buy Now namejet 全部 nameshift 全部 nameshift|auction Auctions nameshift|buynow Buy Now namesilo 全部 namesilo|buynow Buy Now nicsell 全部 park.io 全部 porkbun 全部 porkbun|buynow Buy Now rakkodomain 全部 rakkodomain|buynow Buy Now sav.com 全部 sav.com|dropped Dropped sav.com|customer Customer sav.com|expired Expired sedo 全部 sedo|buynow Buy Now seo.domains 全部 seo.domains|buynow Buy Now subreg 全部 webexpire 全部 whc 全部 whc|auction Auctions whc|backorder Backorder POST /v1/reports/search 的 body 字段 — 与应用表格同一套。打开分组可看到 OpenAPI 名称。Min/max 成对显示在同一行。
tlds List of TLD's separated by comma or space domain Domain Name. Use comma (,) for AND logic (all domains must match) or pipe (|) for OR logic (any domain matches). Case-insensitive substring search. categories List of categories. Each category will be searched with OR logic (any category matches). Use exact flat category names. Case-insensitive substring search. categories_exclude Categories to exclude. OR logic — domain is excluded if it has ANY listed category. Use exact flat category names. Case-insensitive substring search. domain_type Filter by domain base type: auctions, backorder, buynow, or expired. OR logic (any selected type matches). languages List of languages. Use comma (,) for AND logic (all languages must match) or pipe (|) for OR logic (any language matches). Case-insensitive substring search. keywords Keywords to search in web archive content (title, description, h1-h6, etc.). Use comma (,) for AND logic (all keywords must be found) or pipe (|) for OR logic (any keyword found). openpagerank_min openpagerank_max Openpagerank (OPR) (0-10) domain_numbers Domain Name has Numbers (True/False) domain_hyphens Domain Name has Hyphens (True/False) domain_length_min domain_length_max Domain Name Length (1-30) karmascore_min karmascore_max KarmaScore (0-100) brandscore_min brandscore_max Brandscore (0-100). Brandscore is the domain brandiness indicator: higher value = more brand-like, brandable (brand-worthy, suitable for a brand). karmametric_min karmametric_max Karma Metric (0-100) report_added_time Report added date range. Array of 2 strings: [start_date, end_date]. Format: 'YYYY-MM-DD' (e.g., ['2020-01-01', '2023-12-31']). Time is automatically set to 00:00:00 for start and 23:59:59 for end. Filters by added_at field. website_ids List of website service IDs (e.g., Google Analytics ID, Yandex Metrika ID). OR logic - finds domains with ANY of the specified IDs. Used to find domains owned by the same owner. combine_seo Combined SEO filter. OR logic inside each group by selected vendors; groups are combined with AND. combine_authority_min combine_authority_max Domain Authority minimum (DR/DA/TF/OPR/AS). Supported vendors: ahrefs, moz, majestic, openpagerank, semrush. combine_backlinks_min combine_backlinks_max Backlinks minimum. Supported vendors: moz, majestic, semrush. combine_refdomains_min combine_refdomains_max Referring domains minimum. Supported vendors: moz, majestic, semrush. combine_traffic_min combine_traffic_max Traffic (visits) minimum. Supported vendors: similarweb, semrush. combine_keywords Keyword phrase filter. Supported vendor: keywordseverywhere. combine_backlink_url Backlink URL phrase filter. Supported vendor: moz. combine_anchors Backlink anchor phrase filter. Supported vendor: moz. favorites Filter by favorites. True = show only favorite reports, False = exclude favorites. Requires user_id to be provided. has_annotations Filter by report annotations. True = only reports with a note or tags, False = exclude annotated reports. Pro only. report_tags Filter by annotation tags (AND logic — report must contain all selected tags). Pro only. majestic_tf_min majestic_tf_max Majestic Trust Flow (TF) (0-100) majestic_cf_min majestic_cf_max Majestic Citation Flow (CF) (0-100) majestic_bl_min majestic_bl_max Majestic Backlinks (BL) majestic_rd_min majestic_rd_max Majestic Referring Domains (RD) majestic_topics Majestic topics. Can be a list of topic strings (each topic will be searched as OR) or a single integer. Supports phrase matching. majestic_lang Majestic anchor language. Use comma (,) for AND logic (all languages must match) or pipe (|) for OR logic (any language matches). Case-insensitive. moz_da_min moz_da_max Moz Domain Authority (DA) moz_ss_min moz_ss_max Moz Spam Score (SS) (0-100) moz_bl_min moz_bl_max Moz Backlinks (External Pages) moz_rd_min moz_rd_max Moz Referring Domains (RD) moz_bl_url Moz backlink URL source(s). Use comma (,) for AND logic (all URLs must be found) or pipe (|) for OR logic (any URL found). Case-insensitive phrase matching. moz_bl_anchor Moz backlink anchor text(s). Use comma (,) for AND logic (all anchors must be found) or pipe (|) for OR logic (any anchor found). Case-insensitive phrase matching. ahrefs_dr_min ahrefs_dr_max Ahrefs Domain Rating (DR) (0-100) ahrefs_ur_min ahrefs_ur_max Ahrefs URL Rating (UR) (0-100) ahrefs_ar_min ahrefs_ar_max Ahrefs Rank (AR) (lower rank = stronger domain) sr_as_min sr_as_max Semrush Authority Score (AS) (0-100) sr_bl_min sr_bl_max Semrush Backlinks sr_rd_min sr_rd_max Semrush Referring Domains sr_ip_min sr_ip_max Semrush Referring IPs sr_edu_min sr_edu_max Semrush EDU Backlinks sr_gov_min sr_gov_max Semrush GOV Backlinks sr_visits_min sr_visits_max Semrush Visits sr_users_min sr_users_max Semrush Unique Visitors sr_desktop_share_min sr_desktop_share_max Semrush Desktop Share (0-100%) sr_mobile_share_min sr_mobile_share_max Semrush Mobile Share (0-100%) sr_direct_min sr_direct_max Semrush Traffic Direct sr_search_organic_min sr_search_organic_max Semrush Traffic Search Organic sr_search_paid_min sr_search_paid_max Semrush Traffic Search Paid sr_referral_min sr_referral_max Semrush Traffic Referral sr_social_min sr_social_max Semrush Traffic Social sr_mail_min sr_mail_max Semrush Traffic Mail sw_visits_min sw_visits_max Similarweb Visits sw_ts_social_min sw_ts_social_max Similarweb Traffic Sources Social Ratio (0-100) sw_ts_paid_referrals_min sw_ts_paid_referrals_max Similarweb Traffic Sources Paid Referrals Ratio (0-100) sw_ts_mail_min sw_ts_mail_max Similarweb Traffic Sources Mail Ratio (0-100) sw_ts_referrals_min sw_ts_referrals_max Similarweb Traffic Sources Referrals Ratio (0-100) sw_ts_search_min sw_ts_search_max Similarweb Traffic Sources Search Ratio (0-100) sw_ts_direct_min sw_ts_direct_max Similarweb Traffic Sources Direct Ratio (0-100) sw_country_filters List of country filters with optional minimum traffic share. Each filter: {'country': 'US', 'share_min': 50} or {'country': 'GB'}. OR logic - matches any country. sw_country_share_min sw_country_share_max Similarweb Country Share Ratio (0-100) sw_last_traffic_date Similarweb last traffic date range. Array of 2 strings: [start_date, end_date]. Format: 'YYYY-MM' (e.g., ['2023-01', '2023-12']). Filters by Year and Month fields. ke_etv_min ke_etv_max KeywordsEverywhere Estimated Traffic Value (ETV) ke_total_min ke_total_max KeywordsEverywhere Total Keywords ke_keyword KeywordsEverywhere keyword(s). Use comma (,) for AND logic (all keywords must be found) or pipe (|) for OR logic (any keyword found). Case-insensitive phrase matching. wa_age_min wa_age_max Domain age in years (Min) by Wayback Machine wa_first_snap Wayback Machine first snap date range. Array of 2 strings: [start_date, end_date]. Format: 'YYYY-MM-DD' (e.g., ['2020-01-01', '2023-12-31']). Time is automatically set to 00:00:00 for start and 23:59:59 for end. wa_last_snap Wayback Machine last snap date range. Array of 2 strings: [start_date, end_date]. Format: 'YYYY-MM-DD' (e.g., ['2020-01-01', '2023-12-31']). Time is automatically set to 00:00:00 for start and 23:59:59 for end. wa_hieroglyphs Content has Hieroglyphs (Asian Content) in Wayback Machine (True/False) wa_redirects Content has redirects in Wayback Machine. True = has redirects (HTTP codes 301, 302, 307, 308), False = no redirects. wa_error403 Content has HTTP error code 403 (Forbidden) in Wayback Machine. True = has 403 errors, False = no 403 errors. wa_changes_min wa_changes_max Minimum number of content changes in Wayback Machine history wa_parkings_min wa_parkings_max Minimum number of parking pages in Wayback Machine history wa_redirects_min wa_redirects_max Minimum number of redirects in Wayback Machine history wa_lang_filters List of language filters with optional minimum percentage. Each filter: {'language': 'en', 'ratio_min': 30} or {'language': 'ru'}. OR logic - matches any language. wa_server_code HTTP server response code in Wayback Machine (e.g., 200, 301, 302, 403, 404). Used together with wa_server_code_ratio_min/max. Filters by server_code field. wa_server_code_ratio_min wa_server_code_ratio_max Server Code Ratio in Wayback Machine (0-100) google_title_index Search in the Google snippet title when requesting site:domain.tld (domain's pages in Google index). Use comma (,) for AND or pipe (|) for OR. Case-insensitive. google_title_mentions Search in the Google snippet title when requesting "domain.tld" (mentions). Use comma (,) for AND or pipe (|) for OR. Case-insensitive. google_description_index Search in the Google snippet description when requesting site:domain.tld (domain's pages in Google index). Use comma (,) for AND or pipe (|) for OR. Case-insensitive. google_description_mentions Search in the Google snippet description when requesting "domain.tld" (mentions). Use comma (,) for AND or pipe (|) for OR. Case-insensitive. google_has_index At least one Google result for site:domain.tld (domain's pages in Google index). True/False. None = any. google_has_mentions At least one Google result for "domain.tld" (sites that mention the domain). True/False. None = any. auction_source Auction source(s). Each item can be a source name or 'source|sale_type' format (e.g., ['godaddy', 'namejet|buynow']). Case-insensitive matching. Items are combined with OR logic. auction_end_time Auction end time date range. Array of 2 strings: [start_date, end_date]. Format: 'YYYY-MM-DD' (e.g., ['2024-01-01', '2024-12-31']). For 'auctions' report type, only shows active auctions (end_time >= now). auction_added_time Auction added time date range. Array of 2 strings: [start_date, end_date]. Format: 'YYYY-MM-DD' (e.g., ['2024-01-01', '2024-12-31']). For 'auctions' report type, only shows domains with active auctions. auction_price_min auction_price_max Auction Price (USD/EUR) auction_bids_min auction_bids_max Auction Bids (Number of bids) 类型、枚举和示例 — Swagger UI。
完整路径。打开路由可查看模式中的响应字段。
/v1/reports/search Search reports across all bases (auctions, expired, backorder, buynow). 响应字段
report_list total_count 其中每一项 report_list
providers_status report_id report_type domain domain_tld added_at processed updated_at checked_at expire_checked_at demo favorite annotation karmascore karmametric brandscore majestic_tf majestic_cf majestic_bl majestic_rd majestic_topics majestic_lang moz_da moz_da_history moz_ss moz_rd moz_bl ahrefs_dr ahrefs_ur sr_as sr_bl sr_rd sr_traffic sr_sources sr_zones ke_etv ke_total google_index openpagerank blacklists categories sw_last_traffic sw_visits_history sw_last_traffic_date sw_country_share sw_sources wa_langs wa_server_code wa_age wa_last_snap wa_changes wa_calender wa_last_title wa_last_desc wa_screenshot_snaped_at ai_summary auctions is_expired /v1/reports/by-domain Find report identifiers by exact domain name in all bases collections. 响应字段
domain matches 其中每一项 matches
report_id report_type domain added_at /v1/reports/check/expired Check whether the report domain is available (drop). 响应字段
timestamp is_expired /v1/reports/report Get full report by collection type and MongoDB document id. 响应字段
report_id enrich_seo providers_status report_type favorite annotation demo guest_view is_expired processed added_at updated_at created_at checked_at expire_checked_at web_archive metrics domain domain_tld domain_length domain_numbers domain_hyphens auctions task 嵌套对象 metrics
categories openpagerank majestic moz moz_anchor_profile ahrefs semrush keywordseverywhere similarweb brandscore karma_metric ai_summary google blacklists checked_services /v1/reports/favorites List the current user's favorite reports across all bases. 响应字段
report_list total_count 其中每一项 report_list
providers_status report_id report_type domain domain_tld added_at processed updated_at checked_at expire_checked_at demo favorite annotation karmascore karmametric brandscore majestic_tf majestic_cf majestic_bl majestic_rd majestic_topics majestic_lang moz_da moz_da_history moz_ss moz_rd moz_bl ahrefs_dr ahrefs_ur sr_as sr_bl sr_rd sr_traffic sr_sources sr_zones ke_etv ke_total google_index openpagerank blacklists categories sw_last_traffic sw_visits_history sw_last_traffic_date sw_country_share sw_sources wa_langs wa_server_code wa_age wa_last_snap wa_changes wa_calender wa_last_title wa_last_desc wa_screenshot_snaped_at ai_summary auctions is_expired /v1/reports/favorites Add a report to the current user's favorites. 响应字段
status message /v1/reports/favorites Remove a report from the current user's favorites. 响应字段
status message /v1/user Return the authenticated user's profile (email, joined date, credits, plans). 响应字段
id email joined balance pro_task_credits unlimited_plan pro_plan unlimited_subscription_info pro_subscription_info lang country timezone home theme referral_counter news 写入注释、share 和 enrich 需要 Pro。x402 代理每次写入消耗 1 积分。
/v1/user/saved-filters Create or replace a saved search filter by name. 响应字段
status message /v1/user/saved-filters Create or replace a saved search filter by name. 响应字段
status message /v1/user/saved-filters Delete a saved search filter by name. 响应字段
status message /v1/reports/annotations/tags Distinct annotation tags for the current user (sorted). 响应字段
tags /v1/reports/annotations Delete report annotation. 响应字段
status message /v1/reports/annotations Delete report annotation. 响应字段
status message /v1/reports/annotations Delete report annotation. 响应字段
status message /v1/reports/share Create or reuse a guest share link for a bases report. 响应字段
token expires_at share_url /v1/reports/{report_type}/{report_id}/enrich-seo Start paid SEO enrich job (Pro/Unlimited). 响应字段
job_id /v1/reports/enrich-jobs/{job_id} Poll an SEO enrich job by ID. 响应字段
status progress result error 每个域名 1 积分,除非响应来自缓存
/v1/domains/checker/expiry Check if a domain name appears free for registration (live WHOIS/DNS). 1 credit per domain; cache hits free
响应字段
domain available /v1/domains/checker/karma_metric Compute Karma Metric from Web Archive history for a domain (live check). 1 credit per domain; cache hits free
响应字段
karma_metric components period 嵌套对象 components
A_mass A_cont A_stab A_trend A_hist /v1/domains/checker/domain_authority Live Domain Authority metrics (Ahrefs, Moz, Semrush, Karma Metric). 1 credit per domain; cache hits free
响应字段
domain metrics 嵌套对象 metrics
dr ur da ss bl rd sr_as sr_rd sr_bl opr kdm A_mass A_hist A_cont A_stab A_trend /v1/domains/checker/domain_age Live Wayback archive age: first/last snapshot timestamps and sparkline. 1 credit per domain; cache hits free
响应字段
domain first_ts last_ts snap_counter sparkline /v1/domains/checker/registration_expiry Live WHOIS/RDAP registration expiry (created/expires, days left, status). 1 credit per domain; cache hits free
响应字段
domain domain_status expires_ts created_ts updated_ts days_left /v1/domains/checker/backlinks Live Moz backlink summary and sample backlinks. 1 credit per domain; cache hits free
响应字段
domain summary backlinks /v1/domains/checker/anchors Live Moz anchor-text aggregation and word frequencies. 1 credit per domain; cache hits free
响应字段
domain summary sample_size anchors words /v1/domains/checker/pages Count unique page URLs from the site sitemap for a domain. 1 credit per domain; cache hits free
响应字段
domain root_sitemap_url total_pages truncated sitemaps urls /v1/domains/checker/traffic Live SimilarWeb and Semrush traffic estimates for a domain. 1 credit per domain; cache hits free
响应字段
domain similarweb semrush /v1/domains/checker/dns Live DNS lookup across public resolvers (A, AAAA, MX, NS, TXT, …). 1 credit per domain; cache hits free
响应字段
domain default_resolver dns /v1/domains/checker/whois Live structured WHOIS/RDAP (registrar, contacts, nameservers, dates). 1 credit per domain; cache hits free
响应字段
domain domain_status created_ts updated_ts expires_ts status name_servers dnssec registrar contacts privacy_masked raw /v1/domains/checker/spam_score Live Moz Spam Score plus DA, backlinks, and referring domains. 1 credit per domain; cache hits free
响应字段
domain da ss bl rd 交互式试调控制台 — Swagger UI。
与网站相同的库存 — 晨间扫描、工作流工具或助手。
从一个 JSON 源监控 GoDaddy、DropCatch、NameJet、Dynadot 等拍卖。不用每天早上挨个平台查看。
按 DA、TF/CF、DR、外链和 Wayback 年龄筛选,找出适合 301 或重建的名字。与报告页相同的指标,可分页列表。
Slack 机器人、n8n、CRM 表、Sheets、内部仪表盘。标准 REST,CORS 开放,适用于 curl、Python、PHP、JavaScript、Go、Apps Script 和 Perl。
与 MCP 同一把 Bearer 密钥。在聊天里问,或从 tool call 发起 POST /v1/reports/search。脚本和助手共用一套库存。
对任意名字做 expiry、WHOIS、DA、流量和 DNS — 不限于库里已有的名字。每个域名 1 积分;缓存命中免费。
为多个客户细分市场跑同一套过滤器,翻 JSON,把报告 id 丢进表格或 CRM。一把密钥 — 其他人不必泡在应用里。
按名称保存搜索过滤器,给报告打标签,把注释同步到你的技术栈。标签列表免费;写入在 x402 账户上每次消耗 1 个代理积分。
POST 带 share_url 的分享链接供访客查看报告,或在发送 shortlist 前做 SEO enrich — 轮询 job 直到指标更新。
是。同一套数据库和报告 — 拍卖、expired、backorder 和 buy-now。脚本拿 JSON;浏览器界面是同一库存,报告页有完整 Wayback 时间线。
是。没有 Pro 不会发放密钥。见 定价。
每把密钥每分钟 60 次,覆盖全部 Public API 路由和 MCP。成功响应含 X-RateLimit-Limit、X-RateLimit-Remaining 和 X-RateLimit-Reset。超限返回 HTTP 429 和 Retry-After。列表端点还共享每天 50,000 行配额(UTC 重置)。
列表和报告读取计入请求限制和每日行配额,不额外扣积分。域名实时检查每个域名 1 积分(缓存命中免费)。Expired 列表复检免费,同一报告最多每 3 小时一次。PUT/DELETE saved-filters、PUT/DELETE annotations 和 POST share 在 x402 账户上每次写入消耗 1 个代理积分。
需要。写入注释和 POST /v1/reports/share 需要 Pro 套餐。用 GET /v1/reports/annotations/tags 列出标签和读取注释包含在套餐配额内。
POST /v1/reports/{report_type}/{report_id}/enrich-seo 返回 202 和 job id。轮询 GET /v1/reports/enrich-jobs/{job_id} 直到完成。需要 Pro 或 Unlimited。成功的 enrich 消耗 3 积分(Pro)或 22(Unlimited)— 与网站相同。
本页的过滤器名称和响应字段在构建时由后端模式生成。类型、枚举和试调控制台在 Swagger UI。
可以。响应是 HTTPS 上的 JSON — 用在 n8n、Zapier、Sheets、CRM、Slack 或任何能调 REST 的仪表盘。对 Claude、Cursor、ChatGPT 及其他支持 MCP 的助手,用 MCP 服务器,不必自己拼 HTTP。同一把密钥,同一套库存。
REST 适合脚本、n8n、CRM 以及需要显式 HTTP 的场景。MCP 适合 ChatGPT、Claude、Cursor 等在聊天里调用工具的助手。同一把密钥、同一套数据、共享速率限制。见 MCP 落地页。
可以。每个 Public API 端点都接受 x402 付费请求 — USDC 代理额度,无需浏览器账号。清单:/.well-known/x402。
与应用相同的库存 — 走 HTTPS
REST 和 MCP 共用一把 Bearer 密钥。每分钟 60 次请求。本页字段名与 OpenAPI 一致。