Sitemap 变化

GET/api/v1/sitemap/changesMCP get_sitemap_changes前 3 个域名免费,超出每个 2 积分/天

监控任意网站的 sitemap,每天拿到它新增和下线的页面。

接口

  • GET

    路径/api/v1/sitemap/watches

    作用列出监控的域名,带状态、是否免费和最近一次扫描。

  • POST

    路径/api/v1/sitemap/watches

    作用添加监控。请求体 { "domain": "example.com" },重复添加不会报错。

  • DELETE

    路径/api/v1/sitemap/watches?domain=

    作用停止监控,已有的变化历史保留。

  • GET

    路径/api/v1/sitemap/changes?domain=

    作用新增或下线的页面 URL,按日期倒序。

  • GET

    路径/api/v1/sitemap/history?domain=&days=

    作用每天的页面数和新增、下线数。

工作方式

  • 每个监控的域名每天北京时间 9 点左右抓一次,入口是 robots.txt 里的 Sitemap: 声明(没有就用 /sitemap.xml)。
  • 第一次抓取只记录页面清单,第二天起才报告变化。
  • 近 30 天没出现过的页面算新增;连续 7 天没出现的页面算下线。
  • 页面总数不到基线的七成时,这一天标记为 suspicious,不判下线;部分 sitemap 文件抓取失败时(complete: false)同样不判下线。
  • 只能查自己监控的域名。www.example.com 和 example.com 是两个站。

请求参数

  • domain

    类型string

    必填是

    说明你监控的域名。

  • date

    类型string

    必填—

    说明指定一天,YYYY-MM-DD(北京时间)。不传就看最近 30 天。

  • change

    类型string

    必填—

    说明added 或 removed,不传两种都要。

  • scope

    类型string

    必填—

    说明primary(默认)不含 /de/ 这类语言前缀下的翻译页;all 全部包含。

  • page

    类型integer

    必填—

    说明页码,从 1 开始。

  • pageSize

    类型integer

    必填—

    说明每页条数,1–200,默认 50。

请求示例

shell
# Watch a domain (crawled daily from tomorrow 09:00 UTC+8)
curl -X POST "https://seo-api.org/api/v1/sitemap/watches" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain":"example.com"}'

# Pages it added in the last 30 days
curl "https://seo-api.org/api/v1/sitemap/changes?domain=example.com&change=added" \
  -H "Authorization: Bearer YOUR_API_KEY"

响应示例

items 每行是一条 URL 变化:snapshotDate、change、url、section(一级目录)和 locale;total 是符合条件的总条数。

200 OK
{
  "ok": true,
  "data": {
    "items": [
      {
        "snapshotDate": "2026-10-29",
        "domain": "example.com",
        "change": "added",
        "url": "https://example.com/tools/new-tool",
        "section": "tools",
        "locale": null
      }
    ],
    "total": 1,
    "page": 1,
    "pageSize": 50
  }
}

计费

查询不扣积分。监控的前 3 个域名(按添加时间最早的算)免费;超出的每个域名,每天扫描成功扣 2 积分。建基线的那天和扫描失败的日子不扣。积分不够时超出的域名会暂停,余额够扣一天后自动恢复。

错误码

  • SEO_API.MISSING_API_KEY

    HTTP401

    含义没有 Authorization 头,也没有 x-api-key 头。

  • SEO_API.INVALID_API_KEY

    HTTP401

    含义key 不存在或已被撤销。

  • SEO_API.INVALID_DOMAIN

    HTTP400

    含义缺少 domain 参数,或者它不是域名(IP 会被拒绝)。

  • BILLING.INSUFFICIENT_CREDITS

    HTTP402

    含义账号积分用完了。24 小时内的重复查询仍然可用。

  • SYSTEM.INTERNAL_SERVER_ERROR

    HTTP500

    含义我们这边出了问题,请退避后重试。

通过 MCP 调用

工具 list_sitemap_watches、add_sitemap_watch、remove_sitemap_watch、get_sitemap_changes 和 get_sitemap_history,参数与 REST 一致。

tools/call
{
  "name": "get_sitemap_changes",
  "arguments": {
    "domain": "example.com",
    "change": "added"
  }
}

通过命令行调用

terminal
npx @seo-api/cli sitemap add example.com
npx @seo-api/cli sitemap list
npx @seo-api/cli sitemap changes example.com --added

其他 API