Public API 提供对 Karma.Domains 域名报告的程序化访问:auctions、expired、backorder、buy-now。所有响应均为 HTTPS 下的 JSON。Base URL:https://api.karma.domains,路由前缀:/v1。
Karma.Domains 是面向投资者、SEO 团队与自动化流水线的域名情报平台:
- 每天 400,000+ 新域名 进入发现与监控流程(总量 7,000,000+ 域名)
- 30+ 域名数据源,其中包含 27+ 拍卖/过期/backorder/buy-now 来源(GoDaddy、NameJet、DropCatch、Dynadot、GNAME、Namecheap 等)
- 90+ 筛选器,可按域名质量、SEO、内容历史与拍卖信号进行精准检索(TF、CF、DA、DR、Age、Backlinks、Traffic、Keywords、Anchor Text 等)
- TLD 与 ccTLD 覆盖(例如
.com、.net、.org、.biz、.info、.at、.be、.ca、.cc、.cl、.co、.co.nz) - 来自主要供应商的 SEO 与权威数据:Ahrefs、Majestic、Moz、SimilarWeb
- 通过 Wayback Machine 提供历史内容与变化信号
请求与响应 schema(过滤字段、报告结构、排序枚举)见交互式文档:Swagger UI 或 ReDoc。
本页是集成总览:鉴权、限流、端点列表、典型工作流和示例。
- 介绍
- 鉴权
- Rate limiting
- Daily row quota
- 端点概览
- 模型参数参考
- 典型工作流
- Caching
- 请求示例(curl)
- 集成用例
- MCP 与 Public API
- FAQ
- 错误码
- 有用链接
介绍
Public API 适用于脚本、内部仪表盘、CRM 系统,以及任何需要与 Karma.Domains Web 应用相同数据的自动化场景。
- 格式: JSON
- API 版本: 1.0.0
- 数据库:
auctions、expired、backorder、buynow;跨所有库检索:POST /v1/reports/search(与 UI 中 “all databases” 表一致) - 字段文档: 仅在 OpenAPI
- 仅对 Pro 及以上计划开放
鉴权
每个请求都必须包含以下请求头:
Authorization: Bearer YOUR_API_KEY
如何获取 API key
- 开通 Pro 计划(无 Pro 无法使用 API)。
- 打开 Profile → Settings,在 API key 区域创建或重置密钥。
同一密钥也用于 MCP server(AI 助手)。请求配额在 REST 与 MCP 之间共享。
密钥错误时的典型响应
| Code | Reason |
|---|---|
| 401 | 缺少 header、密钥无效,或 Bearer 拼写错误 |
| 403 | 密钥有效,但账号无有效 Pro(Pro plan required for API access) |
请始终发送 Accept: application/json。
Rate limiting
- 每个 API key 60 次请求/分钟
- 窗口:60 秒
- 计数器在所有 Public API 端点与 MCP 之间共享
成功响应包含以下头部:
| Header | Description |
|---|---|
X-RateLimit-Limit | 限额(60) |
X-RateLimit-Remaining | 当前窗口剩余请求数 |
X-RateLimit-Reset | 窗口重置时的 Unix 时间戳 |
超限时返回:429 Too Many Requests 与 Retry-After(可重试前等待秒数)。
建议: 列表接口 page_size 最多设为 50;不要过于频繁轮询 POST /search —— 响应会被缓存(见“Caching”)。
Daily row quota
- 50,000 list rows per day per account (API key / signed-in user)
- Reset: UTC midnight
- Counter is shared across Public API list endpoints, MCP list tools, web UI tables, and CSV export
Each list request charges page_size rows (the requested page size, not total_count).
Successful list responses include headers:
| Header | Description |
|---|---|
X-Quota-Limit | Daily limit (50000) |
X-Quota-Remaining | Rows left today |
X-Quota-Reset | Unix timestamp when the daily quota resets |
When the quota is exceeded: 429 Too Many Requests and Retry-After (seconds until reset).
Pagination depth: for a single search/filter, page × page_size must not exceed 5000 (e.g. with page_size=50, max page is 100). This limits deep scraping of one result set; the daily quota caps total volume across all queries.
端点概览
完整 query/body 参数请见 OpenAPI。
| Method | Path | Purpose |
|---|---|---|
POST | /v1/reports/search | 使用 ReportListFilterSchema body 搜索报告,支持分页与排序 |
GET | /v1/reports/favorites | 当前用户收藏报告列表 |
POST | /v1/reports/favorites | 添加报告到收藏 |
DELETE | /v1/reports/favorites/{report_type}/{report_id} | 从收藏中移除 |
GET | /v1/reports/by-domain/{domain} | 通过精确域名查找报告 ID |
GET | /v1/reports/{report_type}/{report_id} | 按库类型与报告 ID 获取完整报告 |
GET | /v1/reports/check/expired/{report_id} | 检查某 expired 报告对应域名是否已掉落 |
GET | /v1/user | 用户资料(PublicUserProfileSchema) |
GET | /v1/domains/checker/expiry/{domain} | 实时检查域名是否可注册 |
GET | /v1/domains/checker/karma_metric/{domain} | 通过 WayBack Machine 实时计算 Karma Metric |
模型参数参考
下面是 3 个核心 OpenAPI 模型的实用参数地图,覆盖 API 的主要能力。
ReportListFilterSchema(POST /v1/reports/search 的请求体)
该 schema 的值语义:
null或省略字段 = 不应用该过滤条件。- 字符串查询字段在有说明处支持
,表示 AND 与|表示 OR。 - 日期区间是 2 个字符串的数组:
[from, to]。 - 大多数评分区间使用包含边界的
*_min/*_max。
| Parameter | Type | Description |
|---|---|---|
domain | string | null | 域名子串过滤(不区分大小写)。, = AND(所有词都需匹配),| = OR(任一词匹配)。最大长度 350。 |
tlds | string | null | TLD 列表,逗号或空格分隔(如 .com .net .org)。最大长度 350。 |
domain_type | string[] | null | 可选值:auctions、backorder、buynow、expired。所选值之间为 OR。 |
favorites | boolean | null | true = 仅收藏,false = 排除收藏。需要已鉴权用户上下文。 |
categories | string[] | null | 按分类 OR,支持 Category / Subcategory,不区分大小写子串匹配。 |
languages | string | 语言查询,支持 ,(AND)/ |(OR),不区分大小写子串匹配。最大长度 350。 |
keywords | string | null | 在 Wayback 内容中搜索(title、description、h1-h6 等)。, = AND,| = OR。最大长度 350。 |
website_ids | string[] | GA/Metrika 等 ID,用于查找同 owner 域名。 |
domain_length_min / domain_length_max | integer | null | 域名长度边界(文档写为 1..30)。 |
domain_numbers / domain_hyphens | boolean | 是否要求/排除域名中的数字与连字符。 |
report_added_time | string[2] | null | 日期范围:["YYYY-MM-DD","YYYY-MM-DD"],后端自动应用日界。 |
karmascore_min / karmascore_max | integer | null | KarmaScore 范围,0..100。 |
karmametric_min / karmametric_max | integer | null | Karma Metric 范围,0..100。 |
brandscore_min / brandscore_max | integer | null | Brandscore 范围,0..100。 |
openpagerank_min / openpagerank_max | integer | null | Open PageRank 范围,文档为 0..10。 |
ahrefs_dr_min / ahrefs_dr_max | number | null | Ahrefs DR 范围,0..100。 |
ahrefs_ur_min / ahrefs_ur_max | number | null | Ahrefs UR 范围,0..100。 |
ahrefs_ar_min / ahrefs_ar_max | integer | null | Ahrefs Rank 范围(>= 0)。 |
majestic_tf_min / majestic_tf_max | integer | null | Majestic TF 范围,0..100。 |
majestic_cf_min / majestic_cf_max | integer | null | Majestic CF 范围,0..100。 |
majestic_bl_min / majestic_bl_max | integer | Majestic backlinks 范围。 |
majestic_rd_min / majestic_rd_max | integer | Majestic referring domains 范围。 |
majestic_topics / majestic_lang | string[] / string | 主题与锚文本语言过滤。 |
moz_da_min / moz_da_max | integer | null | Moz DA 范围,0..100。 |
moz_ss_min / moz_ss_max | integer | null | Moz Spam Score 范围,0..100。 |
moz_bl_min / moz_bl_max | integer | Moz backlinks 范围。 |
moz_rd_min / moz_rd_max | integer | Moz referring domains 范围。 |
moz_bl_url / moz_bl_anchor | string | Moz 反链 URL / 锚文本短语过滤。 |
sw_visits_min / sw_visits_max | integer | SimilarWeb visits 范围。 |
sw_last_traffic_date | string[2] | null | SimilarWeb 月份范围:["YYYY-MM","YYYY-MM"]。 |
sw_country_filters | object[] | 国家占比过滤(country,可选 share_min)。 |
sw_ts_direct_min...sw_ts_social_max | number | null | SimilarWeb 各流量来源渠道占比范围,0..100。 |
wa_age_min / wa_age_max | integer | null | Wayback 视角的域名年龄(年)。 |
wa_first_snap / wa_last_snap | string[2] | null | 日期范围:["YYYY-MM-DD","YYYY-MM-DD"](首/末快照窗口)。 |
wa_changes_min/max, wa_redirects_min/max, wa_parkings_min/max | integer | Wayback 历史计数器。 |
wa_hieroglyphs, wa_redirects, wa_error403 | boolean | Wayback 内容质量标记。 |
wa_lang_filters | object[] | Wayback 语言过滤(language,可选 ratio_min)。 |
wa_server_code, wa_server_code_ratio_min/max | integer | null / number | null | Wayback 状态码过滤(如 200、301、302、403、404)+ 比例范围 0..100。 |
ke_etv_min/max, ke_total_min/max | integer | Keywords Everywhere 流量价值/关键词数量范围。 |
ke_keyword | string | Keywords Everywhere 关键词短语过滤。 |
google_has_index, google_has_mentions | boolean | null | 要求 Google SERP 中有索引/提及的 true/false/未设置语义。 |
google_title_index/mentions, google_description_index/mentions | string | SERP 片段标题/描述短语过滤。 |
trustpilot_rating_min/max, trustpilot_reviews_count_min/max | number | null / integer | null | Trustpilot 评分(0..5)与评论数范围。 |
trustpilot_category | string | Trustpilot 分类短语过滤。 |
auction_source | string[] | null | 拍卖来源名(不区分大小写)或复合值 `source |
auction_end_time, auction_added_time | string[2] | null | 日期范围:["YYYY-MM-DD","YYYY-MM-DD"]。 |
auction_price_min/max | number | 拍卖价格范围。 |
auction_bids_min/max | integer | 拍卖出价次数范围。 |
combine_seo | object | null | 跨供应商 CombineSEOFilter:authority/backlinks/refdomains/traffic/keywords/backlink-url/anchors;行内 vendor 为 OR,行间为 AND。 |
ReportListResponseSchema(POST /search 与 GET /favorites 的响应)
| Parameter | Type | Description |
|---|---|---|
report_list | ReportItem[] | 列表视图与 shortlist 生成用的分页行。 |
total_count | integer | 当前过滤条件下命中的总记录数。 |
report_list[](ReportItem)常见字段:
| Parameter | Type | Description |
|---|---|---|
report_id | string | 稳定报告标识(完整报告与收藏使用)。 |
report_type | string | auctions、expired、backorder、buynow 之一。 |
domain, domain_tld | string | 域名与 TLD。 |
added_at, updated_at | integer | 时间戳。 |
processed, demo, is_expired | boolean | UI/API 工作流状态标记。 |
karmascore, karmametric, brandscore | integer | 核心质量/品牌性评分。 |
ahrefs_dr, ahrefs_ur | number | Ahrefs 汇总指标。 |
majestic_tf/cf/bl/rd, moz_da/ss/bl/rd | integer | Majestic 与 Moz 汇总指标。 |
ke_etv, ke_total | integer | Keywords Everywhere 汇总值。 |
sw_last_traffic, sw_country_share, sw_sources | integer/object | SimilarWeb 流量汇总。 |
wa_age, wa_last_snap, wa_changes, wa_langs, wa_server_code | integer/array | Wayback 汇总信号。 |
google_index, trustpilot_rating, trustpilot_reviews_count | boolean/number/integer | Google/Trustpilot 汇总字段。 |
auctions | array/object | 可用时的拍卖条目汇总。 |
ReportFullResponseSchema(GET /v1/reports/{report_type}/{report_id} 的响应)
| Parameter | Type | Description |
|---|---|---|
report_id, report_type, domain, domain_tld | string | 核心身份字段。 |
domain_length, domain_numbers, domain_hyphens | integer/boolean | 域名结构属性。 |
favorite, demo, processed, is_expired | boolean | 报告状态与用户相关标记。 |
added_at, updated_at, created_at, checked_at, expire_checked_at | integer | 生命周期时间戳。 |
providers_status | object | 按 provider 的处理状态映射(字符串值)。 |
web_archive | object | Wayback Machine 数据(见下文)。 |
metrics | DomainMetrics | 嵌套 SEO/流量/信誉指标(见下文)。 |
auctions | object | null | 按 end_time 分组的拍卖批次(见下文)。 |
metrics → DomainMetrics
多数 provider 块可为对象、false(未加载)或 null。categories、blacklists 为空时也可能是 []。
| Parameter | Type | Description |
|---|---|---|
openpagerank | number | integer | boolean | null | Open PageRank 分数(常见 0..10)。 |
categories | CategoryData[] | boolean | null | 分类服务提供的内容类别。 |
blacklists | BlacklistsData[] | boolean | null | 安全/信誉黑名单命中。 |
ahrefs | AhrefsData | boolean | null | Ahrefs 域名指标。 |
majestic | MajesticData | boolean | null | Majestic TF/CF 与反链画像。 |
moz | MozData | boolean | null | Moz 权威、垃圾分与反链详情。 |
keywordseverywhere | KeywordseverywhereData | boolean | null | Keywords Everywhere 流量/词量估算。 |
similarweb | SimilarWebData | boolean | null | SimilarWeb 访问、来源与地理占比。 |
brandscore | BrandscoreData | boolean | null | 品牌性评分组成。 |
karma_metric | KarmaMetricData | boolean | null | 基于 Wayback 历史的 Karma Metric。 |
trustpilot | TrustpilotData | boolean | null | Trustpilot 评分与评论统计。 |
google | GoogleData | boolean | null | Google 索引与提及片段。 |
ai_summary | string | null | AI 生成的域名摘要文本。 |
AhrefsData
| Parameter | Type | Description |
|---|---|---|
domain_rating | number | null | Ahrefs DR |
url_rating | number | integer | null | Ahrefs UR |
ahrefs_rank | integer | null | Ahrefs Rank(越小越强) |
MajesticData
| Parameter | Type | Description |
|---|---|---|
tf, cf | integer | null | Trust Flow / Citation Flow(0..100) |
backlinks, refdomains | integer | null | 反链数与引用域数 |
primary_topic | string | null | 主主题分类 |
topics | array | null | 主题分布列表 |
anchor_lang | array | null | 锚文本语言分布 |
indexed_urls, referring_ips, referring_subnets | integer | null | 索引与网络多样性计数 |
MozData
| Parameter | Type | Description |
|---|---|---|
moz_domain_authority | integer | null | Moz DA |
moz_spam_score | integer | null | Moz Spam Score |
page_rank, moz_link_propensity | number | integer | null | 旧版 rank 与 link propensity |
moz_*_to_subdomain fields | integer | null | Moz 链路图计数(pages/domains, follow/nofollow/redirect/deleted) |
moz_da_history_values | string | null | DA 历史序列化值 |
backlinks | MozBacklink[] | null | 反链行(domain_source、url_source、domain_target、url_target、anchor_text、harmonic_centrality、last_found_date) |
KeywordseverywhereData
| Parameter | Type | Description |
|---|---|---|
etv | integer | null | 估算流量价值 |
total_keywords | integer | null | 跟踪关键词总量 |
data | KeywordItem[] | null | 关键词行(position、etv、keyword) |
SimilarWebData
| Parameter | Type | Description |
|---|---|---|
estimated_monthly_visits | object | null | 月份 → 访问量映射 |
traffic_sources | TrafficSources | null | 渠道占比:Social、Paid Referrals、Mail、Referrals、Search、Direct(0..1) |
top_country_shares | CountryShare[] | null | 地域分布(Country、CountryCode、Value) |
engagments | Engagements | null | BounceRate、PagePerVisit、Visits、TimeOnSite、Month、Year |
category | string | null | SimilarWeb 站点分类 |
BrandscoreData
| Parameter | Type | Description |
|---|---|---|
pronounceability, memorability, uniqueness, appeal, brandscore | integer | 品牌性构成项与最终分 |
KarmaMetricData
| Parameter | Type | Description |
|---|---|---|
karma_metric | integer | 最终分,0..100 |
components | KarmaMetricComponents | A_mass、A_cont、A_stab、A_trend(各 0..100) |
period | string | null | YYYY-MM 周期(不可用时为 null) |
TrustpilotData
| Parameter | Type | Description |
|---|---|---|
rating | number | null | 评分,通常 0..5 |
reviews_count | integer | null | 评论数量 |
category | string | null | Trustpilot 业务分类 |
GoogleData
| Parameter | Type | Description |
|---|---|---|
google_index | GoogleItem[] | null | site:domain 的索引页(rank、url、title、description) |
google_mentions | GoogleItem[] | null | 引号域名搜索下的提及结果 |
CategoryData / BlacklistsData
| Model | Key fields |
|---|---|
CategoryData | categories[], vendor, info_url |
BlacklistsData | vendor, info_url, optional info |
web_archive(Wayback Machine 负载)
对象包含三大块:info、ts_summary、history。完整报告响应中的 history 按时间从新到旧返回。
| Parameter | Type | Description |
|---|---|---|
info | object | null | 域名归档覆盖概览 |
ts_summary | object | null | 列表筛选使用的 KarmaScore/Wayback 聚合信号 |
history | array | 快照时间线(每个 Wayback capture 一条) |
web_archive.info
| Parameter | Type | Description |
|---|---|---|
snap_counter | integer | 统计到的 Wayback 快照总数 |
years_counter | integer | 有归档活动的年份数(域名年龄信号) |
first_ts | integer | 首次快照 Unix 时间戳 |
last_ts | integer | 最新快照 Unix 时间戳 |
years | object | 年份 → 月快照数映射(sparkline/calendar 数据) |
web_archive.ts_summary
| Parameter | Type | Description |
|---|---|---|
average_karma_score | integer | 平均 KarmaScore,0..100(映射到列表 karmascore) |
wa_changes | integer | 扫描历史中的显著内容变化次数 |
wa_langs | array | 语言分布项:language、pageRatio(0..100) |
wa_server_code | array | HTTP 状态分布:server_code(如 200、301、403)、response_ratio(0..100) |
wa_tags | array | 历史检测出的内容标签 |
pattern_shares | array | 模式占比项:factor、description、share |
chart_data | array | 时间序列点:timestamp、karma_score、lang、server_code、tags、detected_patterns |
web_archive.history[](快照行)
| Parameter | Type | Description |
|---|---|---|
snaped_at | integer | 快照 Unix 时间戳 |
webarchive_link | string | null | 本次快照的 Wayback URL(收尾占位快照时为 null) |
headers | object | null | HTTP 元数据,常见 status_code(200、301、302、403、404、429 等)、original_url |
screenshot | boolean | null | 若存在截图则为 true(二进制单独存储;UI 通过 screenshot API 获取) |
content_info | object | null | 解析后的页面内容(见下) |
karma_score | object | null | 单快照评分:score(0..100)、detected_patterns、tags(porno/crypto/gambling 等标志) |
redirects | array | null | 若存在则包含重定向链数据 |
website_ids | array | null | 检测到的网站 ID(name、website、ids[]),如 analytics 标签 |
built_with | object | null | 技术栈识别负载(可用时) |
web_archive.history[].content_info
| Parameter | Type | Description |
|---|---|---|
lang | string | null | 检测到的页面语言代码 |
title, description, keywords | string | null | 用于过滤与 UI 的 meta/页面文本字段 |
generator, author, copyright | string | null | 其他 meta 字段 |
h1 … h6 | string[] | null | 标题文本(可被 keywords 过滤检索) |
cloud_words | array | null | 词云条目(word) |
external_links, internal_links | array | null | 外链/内链列表 |
rel_canonical, meta_robots | string | null | canonical URL 与 robots meta |
length_symbols, length_words | integer | 内容长度计数 |
auctions(拍卖批次)
当报告含拍卖数据时出现(auctions,有时也会有其他库中的关联行)。
在完整报告响应中,批次按结束时间分组:
{
"1764441900": [
{ "source": "godaddy", "sale_type": "auction", "price": 120, "bids": 3, "...": "..." }
]
}
- 对象键 =
end_time(Unix 秒) - 值 = 在该时刻结束的批次对象数组(多平台可共享同一键)
| Parameter | Type | Description |
|---|---|---|
source | string | 拍卖平台/注册商来源(如 godaddy、namejet、dynadot、dropcatch、sedo、sav.com),过滤时不区分大小写 |
sale_type | string | listing 类型(如 auction、buynow、Closeout、Pre-Release、Dropped) |
domain | string | 批次域名 |
item_id | string | 平台特定批次/listing ID |
end_time | integer | 结束时间(Unix 秒),在完整报告中也作为分组键 |
price | number | 当前价格(通常 USD) |
bids | integer | null | 适用时的出价次数 |
currency | string | 货币符号/代码(默认 "$") |
report_type | string | 所属库:auctions、backorder 或 buynow |
priority | integer | 内部排序/优先级权重(默认 0) |
过滤提示:搜索中的 auction_source 支持普通来源(godaddy)或复合值 source|sale_type(如 godaddy|auction)。
对于精确字段约束(nullable 规则、枚举、min/max、嵌套对象),请始终参考 OpenAPI 或 ReDoc。
report_type 参数
完整报告与收藏使用:auctions、expired、backorder、buynow。
all 仅用于搜索逻辑(跨所有库),不作为路径中的 {report_type}。
分页与排序(列表端点)
Query 参数:
| Parameter | Default | Description |
|---|---|---|
page | 1 | 页码 |
page_size | 10 | 每页大小(最大 50) |
sort_by | added_at | 排序列名(与 UI 表一致;枚举见 OpenAPI) |
sort_desc | true | true = 降序 |
Depth limit: page × page_size ≤ 5000. Requests beyond this return 422 validation error.
URL 中的域名
路径中的 {domain} 请使用 percent-encoding(IDN、西里尔等)。服务端会规范化名称(punycoded/lowercase)。
典型工作流
1. 搜索 → 完整报告
- 发送
POST https://api.karma.domains/v1/reports/search,携带过滤 body(见 OpenAPI →ReportListFilterSchema) - 从
report_list[]取report_id与report_type - 请求
GET https://api.karma.domains/v1/reports/{report_type}/{report_id}
过滤项与 Web UI 过滤器 对齐,便于对照;字段结构以 OpenAPI 为准。
2. 不做长搜索,直接精确域名
GET /v1/reports/by-domain/example.com- 响应里的
matches[]:每个库最多一条匹配 - 选择需要的
report_type→GET /v1/reports/{report_type}/{report_id}
若 matches 为空,表示该域名不在 Karma 数据库中。
3. 收藏
- 列表:
GET /v1/reports/favorites - 通过搜索拿同一列表:
POST /v1/reports/search且 body 中"favorites": true - 添加:
POST /v1/reports/favorites,body{"report_id": "...", "report_type": "expired"} - 移除:
DELETE /v1/reports/favorites/expired/{report_id}
4. 掉落检查(expired report)
GET /v1/reports/check/expired/{report_id} —— 使用 report id,不是域名。
- 检查成功后会更新服务端报告记录
is_expired: true表示域名很可能可注册(不是 “WHOIS 过期日期已过”)- 同一报告的实时重复检查最多 3 小时一次(业务规则)
- 同一
report_id的重复 GET,HTTP 响应缓存 1 小时(见“Caching”)
5. 无库内报告时检查域名
GET /v1/domains/checker/expiry/{domain} —— 实时 WHOIS/DNS,不会修改库内报告。
available: true:大概率可注册available: false:已被占用或保留- 对同一域名在 ~1 小时内重复请求,可能返回缓存结果
6. 实时 Karma Metric
GET /v1/domains/checker/karma_metric/{domain} —— 基于 WayBack Machine 计算 Karma Metric,不更新报告。响应字段见 OpenAPI(KarmaMetricData)。按域名缓存约 1 小时。
关于 Karma Metric 可阅读博客
7. 余额与计划
GET /v1/user 返回 email、balance(credits)、计划标志、订阅数据。响应中不包含 API key。按 key 缓存约 1 分钟,获取实时余额时避免过度轮询。
Caching
Public API 层会缓存 HTTP response body。部分端点启用 early refresh(TTL 到期前后台刷新:5 分钟 TTL 在第 4 分钟刷新;1 小时 TTL 在第 50 分钟刷新)。
| Endpoint | TTL |
|---|---|
POST /v1/reports/search | 5 min |
GET /v1/reports/favorites | 5 min |
POST /v1/reports/favorites | none |
DELETE /v1/reports/favorites/{report_type}/{report_id} | none |
GET /v1/reports/by-domain/{domain} | 5 min |
GET /v1/reports/check/expired/{report_id} | 1 h |
GET /v1/reports/{report_type}/{report_id} | none |
GET /v1/user | 1 min |
GET /v1/domains/checker/expiry/{domain} | 1 h |
GET /v1/domains/checker/karma_metric/{domain} | 1 h |
POST/DELETE 收藏会立即修改服务端数据,但重复 GET /favorites 或 POST /search(favorites: true)在缓存过期前(5 分钟)可能仍返回旧列表。
请求示例(curl)
将 YOUR_API_KEY 替换为你的个人密钥。Base URL:https://api.karma.domains。
带过滤条件搜索 expired
curl -X POST "https://api.karma.domains/v1/reports/search?page=1&page_size=25&sort_by=added_at&sort_desc=true" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"karmascore_min": 60,
"domain_type": ["expired"]
}'
过滤 body 可使用 OpenAPI 中 ReportListFilterSchema 的任意字段。
完整报告
curl "https://api.karma.domains/v1/reports/expired/507f1f77bcf86cd799439011" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
按域名查询
curl "https://api.karma.domains/v1/reports/by-domain/example.com" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
添加到收藏
curl -X POST "https://api.karma.domains/v1/reports/favorites" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"report_id": "507f1f77bcf86cd799439011",
"report_type": "expired"
}'
域名可注册性检查
curl "https://api.karma.domains/v1/domains/checker/expiry/mybrand.com" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
Karma Metric
curl "https://api.karma.domains/v1/domains/checker/karma_metric/mybrand.com" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
集成用例
夜间过期域名筛选流水线
每日定时任务:用已保存的 JSON 过滤器调用 POST /search(类似 UI 的 saved filter),page_size=50 分页,并将 report_id 导出到你的数据库。详细分析仅对 shortlist 调 GET 完整报告。
注册前监控域名清单
域名队列 → GET /domains/checker/expiry/{domain} → 按 available 分支处理。无需该域名在 Karma.Domains 内已有报告。
与内部 CRM 同步收藏
定期 GET /favorites;CRM 用户动作触发 POST/DELETE 收藏。注意约 5 分钟列表缓存。
BI / 漏斗分析
导出搜索页,不打开 UI 也能聚合 total_count 与 report_list 指标。列表行 schema 为 OpenAPI 的 ReportListResponseSchema。
同一 key 下 MCP + 脚本
团队可在 Cursor 中用 MCP 做临时查询,用 Public API 跑稳定 ETL。总限额 60 请求/分钟,请规划批处理并在 429 时做退避。
MCP 与 Public API
| Public API (REST) | MCP | |
|---|---|---|
| Audience | 开发者、脚本、ETL | AI 助手(Cursor、Claude) |
| Interface | HTTP + JSON | 对话与工具 |
| Docs | 本页 + OpenAPI | /zh/expired-domains-mcp/ |
| Data | 相同报告与数据库 | 相同 |
| Key & limit | 共享 | 共享 |
新代码集成建议先用 REST;对话式实验可用 MCP。
FAQ
完整过滤字段参考在哪里?
见 OpenAPI 的 ReportListFilterSchema。字段语义与 UI 的 filter help 一致。
available 与 is_expired 有什么区别?
在 API 语境中两者都表示:域名大概率可注册。
available:按名称实时检查(/domains/checker/expiry)。
is_expired:绑定 expired 库报告的检查(/reports/check/expired/{report_id})。
为什么 key 正确却返回 403?
账号没有有效 Pro。请检查个人资料中的订阅状态。
为什么 API 结果与 UI 或刚执行的操作不一致?
通常是 Public API HTTP 缓存导致,见 “Caching” 表。与 UI 同步时请考虑 TTL。
sort_by 允许哪些值?
见 OpenAPI 的枚举列表,对应 Web 报告表的列名。
有 OpenAPI 还需要这页吗?
OpenAPI 是类型与字段的事实标准;本页补充了限流、缓存、调用顺序、使用场景与常见陷阱。
有沙箱环境吗?
没有单独沙箱;请使用 Pro 账号并遵守限流。调试时可用 GET /user 与严格过滤的 POST /search。
错误码
| Code | Meaning |
|---|---|
| 200 | Success |
| 401 | Unauthorized (key) |
| 403 | No Pro |
| 404 | 未找到报告或资源 |
| 422 | body/query 校验错误(如无效过滤器、sort_by 等) |
| 429 | 超出请求限额 |
| 503 | rate limiter 暂时不可用 |
错误体通常包含 detail(字符串或校验对象数组)。示例:
{
"detail": "Invalid API key"
}
有用链接
- OpenAPI (Swagger): https://api.karma.domains/docs
- ReDoc: https://api.karma.domains/redoc
- AI 用 MCP
- API key: Profile → Settings
- UI 过滤器帮助