你在哪些关键词上排在第 11 到 30 名?免费查看你的 cusp 区间

写给开发者

我们测量的一切
都可以被读出来。

同一把密钥同时打开 REST API 和 MCP 端点;两者都是只读的,也都包含在 Studio 方案里。你的数据没有被锁在我们的界面上--它以同样的形态进入你的脚本、你的看板或你的助手。

  • 带进你自己的看板

    把排名历史拉进内部看板、表格或每周报告。数据是你的,不必留在我们的界面里。

  • 发版前的检查

    在提交新元数据之前,让脚本读一遍临界带:你刚从副标题里拿掉的那个词,现在排第几,真的可以舍弃吗?

  • 问你的助手

    接上 MCP 端点后,「我哪些关键词在临界带上、哪个最热门?」不用截一张图就能得到答案。

一行即可开始

三种接入方式,一把密钥。挑你自己的那一种:会说 MCP 的助手、一个终端,或者一段脚本。

claude-code
claude mcp add --transport http rankcusp \
  https://rankcusp.com/api/mcp \
  --header "Authorization: Bearer rc_live_…" \
  --header "Accept-Language: tr"

配置到此为止。第二个请求头决定判断用哪种语言返回;去掉它就是英文。问一句「我哪些关键词在临界带上?」,助手会自己去调用下面这些工具。

密钥

账户页面创建。密钥只显示一次--我们只保存它的摘要,所以丢了就找不回来;你注销它,再取一把新的。

助手能做什么

九个工具。其中八个只读;最后一个添加关键词,并在被调用之前就告诉客户端。助手一连上就能用,命令行底层调用的也是它们。

list_apps
账户里的应用和对手。其他工具要的 appId 就从这里来。
cusp_actions
11-30 带,按热度排序:值得花字符的关键词短名单。
get_keyword
单个关键词--排名、热度、难度--附带用你的语言写出的判断:值不值得争取,依据是什么。
ranking_keywords
一个应用已经排上的词,来自本产品做过的每一次搜索汇总的记录。对准某个对手就能读它的--苹果没有为此发布任何接口,所以答案只有观测到的那么宽。
keyword_competitors
还有谁排在这个词上,比首页那十个更深。你在 60、它在 40 的那个应用,才是值得研究的。
audit_metadata
在你发布之前读一遍标题、副标题和关键词字段草稿,指出哪些重复、哪些浪费、能收回多少字符。
country_priorities
下一个小时该投给哪个商店:各国的临界词数量,以及对手最弱的地方。
list_keywords
某个国家全部在追踪的关键词,连同当前排名和上一次排名。
add_keywords
唯一会写的一个。 把关键词加进某个应用在某商店的追踪列表,接受列表或粘贴的一行。它们进来时没有评分--评分要花苹果的请求、要等采集器--所以这里的空热度不是零。

命令行

一条 `curl` 加一把密钥。它打印的是为终端阅读而设计的表格--未测量的值在那里同样是一个破折号,任何地方都不会凭空造出零。

terminal
$ rankcusp cusp 1544… --country us
KEYWORD          RANK   Δ  POP  DIFF  CUSP
───────────────  ────  ──  ───  ────  ────
habit tracker      14  +5   32    41  •   
streak tracking    23   -    -    38  •   
rankcusp
打开会话:连到了哪里、能问什么,以及一个提示符。
rankcusp apps
账户里的应用和对手。
rankcusp keywords <appId> --country <cc>
某个商店里全部在追踪的关键词。
rankcusp cusp <appId> --country <cc>
某个应用的临界带,按热度排序。
rankcusp keyword <appId> <phrase> --country <cc>
单个关键词及其判断。
rankcusp audit --country <cc> --title … --keywords …
发布前检查一份元数据草稿。
rankcusp countries <appId>
接下来该做哪个商店。
rankcusp tools
列出所有工具--助手就是这样自己找路的。

端点

GET/api/v1/apps
账户里的应用和竞品。其他调用需要的 appId 从这里来。
GET/api/v1/keywords?app=…&country=…
被追踪的关键词:名次、上次名次、热度、难度,以及是否在临界带上。
GET/api/v1/keywords?app=…&country=…&cusp=1
只要 11-30 带--改一次元数据回报最高的那些。
GET/api/v1/keywords?app=…&country=…&keyword=…
单个关键词:它的首页和判定--该不该做,理由是什么。
POST/api/mcp
MCP 端点(JSON-RPC 2.0)。上面那九个工具都在这里。

响应长什么样?

下面的例子展示了请求临界带时的返回形态。注意第二行:previousRankpopularity 都是 null。这表示该关键词是第一次被测量、热度还没取到--而不是它等于零。

json
{
  "total": 2,
  "maxPageSize": 200,
  "keywords": [
    {
      "keyword": "habit tracker",
      "country": "us",
      "rank": 14,
      "previousRank": 19,
      "delta": 5,
      "popularity": 32,
      "difficulty": 41,
      "cusp": true,
      "lastMeasuredAt": "2026-08-12T04:12:09.114Z"
    },
    {
      "keyword": "streak tracking",
      "country": "us",
      "rank": 23,
      "previousRank": null,
      "delta": null,
      "popularity": null,
      "difficulty": 38,
      "cusp": true,
      "lastMeasuredAt": "2026-08-12T04:12:11.902Z"
    }
  ]
}

你需要知道的

  • 没测到的值返回 `null`,绝不是零。rank: null 表示「在前 200 名之外」,popularity: null 表示「尚未测量」。把它们换成零的客户端,迟早会去求它们的平均值。
  • 判断会用你自己的语言返回。 MCP 端点读取客户端的语言,命令行用 RANKCUSP_LANG=zh。数字在哪种语言里都一样。
  • 每分钟 120 次请求。超过会返回 429retry-after
  • 每页最多 200 行;用 offset 往后翻。
  • 全部只读。不能通过 API 添加或删除关键词。
  • 每次调用都必须带 country:同一个词在两个商店是两次不同的搜索,因此是两行不同的数据。
  • 密钥代表一个账户,而不是一个人。与其共用一把,不如各生成各的--这样注销其中一把不会弄坏另一把。

你排在第 11 到 30 名的关键词,是进入首页最省力的地方。想看看是哪些吗?