开发者文档

GetLinkFast API 与 MCP 服务器

无需打开控制台,即可搜索站点、填充购物车并用额度下单:可以从脚本、Make 或 n8n 场景,或者 Claude、Cursor 等 AI 代理发起。API 和 MCP 服务器使用同一个密钥,返回相同的 JSON。

用途

  • 代理机构与 SEO 团队:将您的内部工具和跟踪看板接入账户。目录、购物车、订单和状态都能以 JSON 读取。
  • AI 代理:让 Claude Code 或 Cursor“帮我找 5 个 DR 40+ 的金融站点并下单”。代理会搜索、向您展示摘要,并且只在您同意后才下单。
  • Make、n8n、Zapier:一个 HTTP 模块加一个密钥即可。

API 销售客座文章(guest_post)、链接插入(link_insertion)和 SEO/GEO 套餐,仅限使用额度支付。购买额度和其他服务仍在控制台中进行。

创建密钥

  1. 打开控制台 → API 访问。
  2. 为密钥命名(例如“Claude 代理”或“Make 报表”)并选择其权限。对于可以下单的密钥,您可以设置单笔订单上限和 24 小时上限。
  3. 复制密钥。密钥以 glf_live_ 开头,只显示一次:我们只保存它的哈希指纹。
  4. 在每个请求的请求头中发送它:Authorization: Bearer glf_live_…

每个组织最多 10 个有效密钥。被吊销的密钥立即失效,离开组织的成员的密钥也是如此。请勿将密钥放入代码仓库:持有密钥的人即可代表您的组织操作。

密钥的权限

每个密钥带有一个或多个权限。缺少所需权限的请求会收到 403 insufficient_scope,AI 代理也只能看到被允许的工具。

权限可访问谁可以授予
read目录、分类、账户与余额、额度记录、订单、套餐报价。始终包含。
cart添加、修改和移除购物车条目。组织的任何成员。
purchase用额度为购物车或套餐下单。包含购物车权限。仅限组织所有者。

快速上手

所有路由都以 https://www.getlinkfast.com/api/v1 开头。请保留 www:不带 www 的地址会重定向,而 HTTP 客户端在重定向后不再发送 Authorization 请求头。

金额以欧元计,不含增值税。响应为 JSON,字段使用 snake_case。

1. 读取账户与余额
curl https://www.getlinkfast.com/api/v1/account \
  -H "Authorization: Bearer glf_live_…"
2. 搜索站点:DR 40 及以上、法语、客座文章
curl "https://www.getlinkfast.com/api/v1/sites?dr_min=40&language=fr&product=guest_post&sort=dr&dir=desc&page_size=10" \
  -H "Authorization: Bearer glf_live_…"
3. 将一篇客座文章加入购物车
curl -X POST https://www.getlinkfast.com/api/v1/cart/items \
  -H "Authorization: Bearer glf_live_…" \
  -H "Content-Type: application/json" \
  -d '{"site_id":"8a1f0c3e-5b7d-4e2a-9c61-0f3b2d4e6a17","product_type":"guest_post","target_url":"https://www.example.com/invoicing","anchor":"invoicing software","topic":"How to choose invoicing software for a small business"}'

将 site_id 替换为第 2 步中某个站点的 id。切勿发送价格:价格由服务器计算。

4. 用额度为购物车下单
curl -X POST https://www.getlinkfast.com/api/v1/checkout \
  -H "Authorization: Bearer glf_live_…" \
  -H "Idempotency-Key: order-2026-10-14-001"

响应中包含订单 id、扣除金额和剩余余额。之后可通过 GET /orders/{id} 跟踪进度。

用额度下单

API 只用额度下单,从不发起银行卡支付。额度在控制台中充值。

订单会取购物车中的 guest_post 和 link_insertion 条目。其他从控制台添加的条目仍留在购物车中,并列在 skipped_items 里。

默认没有上限:余额是唯一的限制。对于可以下单的密钥,请设置单笔订单上限和滚动 24 小时上限。超出上限的订单会被拒绝(403 spending_limit_exceeded,并附剩余可用额),不会扣款。

余额不足:402 insufficient_credits,附缺少的金额和额度页面链接,可转交给您团队中的同事。不会扣除任何费用。

之后一切与在控制台下单相同:发送确认邮件,并可在订单页面跟踪,订单上会显示下单所用密钥的名称。

Idempotency-Key 请求头

  • 在 POST /checkout 和 POST /packs/orders 上必填:8 到 128 个可打印 ASCII 字符,不含空格。缺少时:400 idempotency_key_required。
  • 一个值对应一次购买意图。再次发送同一个值会返回原订单(200,"replayed": true),不会二次扣款,即使购物车此后已有变化。
  • 遇到超时或网络中断后,请用同一个值重试:您不会被重复扣款。
  • 新的购买请生成新的值,例如一个 UUID。
  • 无论在 POST /checkout 还是 POST /packs/orders 上,已用于其他购买的值都会被拒绝:409 idempotency_conflict,不扣款。对于套餐,以不同内容发送的同一个值也会被拒绝。
  • 在 MCP 中,确认令牌承担这一作用:您无需生成任何值。

限制

  • 读取:每个密钥每分钟 120 个请求;购物车另有同样数量,单独计算:二者互不占用。
  • 每个密钥每分钟对购买路由或工具最多调用 10 次——重放、被拒绝的调用以及 MCP 的摘要步骤都计算在内。
  • MCP 服务器上每个密钥每分钟 300 个 HTTP 请求。每次调用的工具还会计入其权限的限额。
  • 超出后:返回 429 rate_limited。等待秒数在 HTTP 中由 Retry-After 请求头给出,在 MCP 工具结果中由 details.retry_after_seconds 给出。
  • 每页最多 100 条结果(page_size)。
  • 请求体:最大 1 MB。

错误代码

所有错误格式相同。请以 code 判断:它是稳定的。message 为英文,面向开发者;details 指明出错的字段或金额。

示例:余额不足
{
  "error": {
    "code": "insufficient_credits",
    "message": "Not enough credits for this order. Nothing was debited. Ask a human to top up at credits_url, then retry with the same Idempotency-Key.",
    "details": {
      "missing_amount": 42,
      "credits_url": "https://www.getlinkfast.com/dashboard/credits"
    }
  }
}
代码HTTP含义
invalid_json400请求体不是可读的 JSON。请检查语法和 Content-Type: application/json 请求头。
idempotency_key_required400购买路由上缺少 Idempotency-Key 请求头或格式错误。请发送长度为 8 到 128 个字符的值。
invalid_api_key401密钥缺失、格式错误、未知或已吊销,或者由已离开组织的成员创建。请检查 Authorization: Bearer glf_live_… 请求头。
insufficient_credits402余额不足。details.missing_amount 给出缺少的金额,details.credits_url 给出充值页面。未扣除任何费用。
insufficient_scope403密钥没有此路由或工具所需的权限。请创建一个具有该权限的密钥。
spending_limit_exceeded403订单超出密钥的上限:单笔订单(window: order)或 24 小时(window: 24h)。details.remaining 给出剩余额度。未扣除任何费用。
not_found404资源不存在,或不属于您的组织。
method_not_allowed405MCP 服务器:不接受 GET 和 DELETE。请用 POST 发送每条 JSON-RPC 消息。
organization_financial_hold409您的组织已被暂停购买。请联系我们。未扣除任何费用。
page_already_sold409购物车中的一个页面(链接插入)刚刚售出。请移除该条目,然后用新的 Idempotency-Key 重新下单。
cart_already_ordered409购物车中的一个条目已被另一次购买下单(控制台或另一个 Idempotency-Key)。请先重新读取购物车,再用新的值下单。
idempotency_conflict409此 Idempotency-Key 已用于另一次购买。新的购买请使用新的值。
not_ready409审计尚未完成。请用 get_audit 等待状态变为 ready,然后再添加页面。
full_pass_running409审计的完整报告仍在准备中。请几分钟后重试。未启动任何操作。
limit_reached409该审计已有 8 个由您添加的页面(含正在进行的分析)。未启动任何操作。
already_present409此页面已在审计中,或其分析正在进行。未启动任何操作。
already_ordered409这条已规划的链接已下单,无法在此取消。
not_cancellable409这条链接目前无法取消。请用 get_plan 重新读取。
team_planned409此链接由我们的团队排期,而非通过 API:无法在此取消。如需更改,请账户所有者联系支持团队。
payload_too_large413请求体超过 1 MB。
invalid_parameter422查询参数无效、重复或未知。details.fields 列出每个出错的参数及原因。
invalid_arguments422参数组合无效,例如既没有 domain 也没有 audit_id,或两者同时给出。details.field 指出出错的字段。未执行任何操作。
invalid_domain422域名或 URL 无法识别。请发送域名,例如 example.com。
own_network_domain422该域名属于我们的发布网络:无法进行审核。未启动任何操作。
invalid_body422请求体中有无效或未知的字段。details.fields 列出每个出错的字段及原因。
product_not_available_via_api422API 销售客座文章和链接插入。其他产品请在控制台中下单。
image_not_uploaded422特色图片必须已通过控制台上传到 GetLinkFast。
cart_empty422购物车中没有可通过 API 下单的条目。未扣除任何费用。
cart_invalid422部分条目不完整或已不可用。details.items 列出每个条目及其问题。未扣除任何费用。
invalid_pack_input422套餐不符合其规则(details.reason)。未扣除任何费用。
site_unavailable422该站点不存在或已停止销售。
target_page_required422链接插入需要 page_id:请从站点的页面列表中获取。
target_page_not_found422该页面不属于此站点。
target_page_sold422该页面已售出。
target_page_withdrawn422该页面已不再提供。
target_page_already_in_cart422该页面已在您的购物车中。
product_unavailable422该站点不销售此产品。
invalid_url422网址无法识别。请发送完整的 http(s) 网址,不含凭据和端口。
other_site422此页面不在被审计的域名上。请发送同一网站的页面。
invalid_keyword422目标搜索词过长:最多 120 个字符。
rate_limited429此密钥的请求过多。请等待 HTTP 中 Retry-After 请求头或 MCP 工具结果中 details.retry_after_seconds 指示的秒数。
audit_quota_exceeded429此密钥在过去 24 小时内已启动 10 次审计。未启动任何审计:请稍后重试。
internal_error500我们这边出错了,已通知团队。请稍后重试:使用同一个 Idempotency-Key 重试的购买绝不会被扣款两次。
engine_unavailable502审计引擎暂时无法访问。未启动任何审计:请稍后重试。
packs_unavailable503SEO/GEO 套餐暂不可用。
confirmation_expiredMCP 工具确认令牌已过期,或者自摘要生成后购物车、价格或密钥发生了变化。未扣除任何费用:请不带令牌重新调用工具,以获取新的摘要。
purchase_unavailableMCP 工具通过 MCP 服务器购买暂时不可用。未扣除任何费用。请稍后重试。
unknown_toolMCP 工具未知工具,或密钥权限不允许使用该工具。tools/list 给出可用的工具。
audit_failedMCP 工具这次审计失败,因此无法制定计划。请用 run_audit 启动新的审计。未执行任何操作。
audit_not_readyMCP 工具这次审计尚未完成。请用 get_audit 等到状态变为 ready,再重新调用 plan_links。未执行任何操作。
budget_too_lowMCP 工具月预算低于每月 100 € 的最低额。未执行任何操作。
start_date_too_farMCP 工具开始日期太远。消息中会给出允许的最晚日期。未执行任何操作。
too_many_pagesMCP 工具一个项目可跟踪的页面数量有限。请在 target_urls 中少发一些新页面。未执行任何操作。
plan_existsMCP 工具该域名已有尚未下单的已规划链接。计划不会合并:请先用 cancel_planned_link 撤下它们,然后重新开始。未执行任何操作。
pending_proposalsMCP 工具我们的团队正在审核该域名的建议链接,因此暂时无法添加计划。details.count 给出其数量,details.retry_after 给出可以重试的日期(若届时仍未排期,它们会过期)。否则,请让账户所有者联系支持团队。未执行任何操作。
no_links_foundMCP 工具按此月预算,目录中没有适合这些页面的网站。请尝试其他页面或更高的预算。未执行任何操作。
plan_in_progressMCP 工具此计划正在保存。几秒后用相同的令牌再次调用 plan_links 即可读取结果。
plan_outcome_unknownMCP 工具保存被中断,结果未知。请不要再次确认:用 get_plan 读取计划。
plan_conflictMCP 工具该计划已无法按原样成立:域名的项目已更改,其日期不再落在预算月份内(预算月份从确认时开始),或其中某个网站已不再适用于该域名。details.reason 说明是哪一种。未写入任何内容:请不带令牌再次调用 plan_links 以获取新的摘要。
plan_retryMCP 工具使用此令牌的另一次调用在未保存计划的情况下结束了。请用相同的令牌再次调用 plan_links 以读取结果。

MCP 服务器

MCP 服务器用同一个密钥,为您的 AI 代理提供与 API 相同的功能。地址:https://www.getlinkfast.com/api/mcp。

Claude Code

在终端中执行一条命令:

Terminal — Claude Code
claude mcp add --transport http getlinkfast https://www.getlinkfast.com/api/mcp --header "Authorization: Bearer glf_live_…"

Cursor

写在 ~/.cursor/mcp.json 中。避免使用项目内的 .cursor/mcp.json 文件:它常常连同密钥一起被提交到仓库。

~/.cursor/mcp.json
{
  "mcpServers": {
    "getlinkfast": {
      "url": "https://www.getlinkfast.com/api/mcp",
      "headers": {
        "Authorization": "Bearer glf_live_…"
      }
    }
  }
}

Claude Desktop

Claude Desktop 不会向远程服务器发送自定义请求头,因此无法传递您的密钥。它将通过计划在后续版本中推出的 OAuth 连接直接接入。目前请使用 Claude Code 或 Cursor:它们会在 Authorization 请求头中发送密钥。

工具

代理只能看到密钥权限允许的工具:没有下单权限的密钥不会有任何购买工具。

read
search_sitesget_sitelist_site_pageslist_categoriesget_accountlist_ordersget_orderget_auditquote_packlist_auditsget_plan
cart
get_cartadd_to_cartupdate_cart_itemremove_cart_itemadd_audit_pagerun_auditcancel_planned_link
purchase
checkoutorder_packplan_links

两步购买

  1. 代理在不带 confirmation_token 的情况下调用 checkout 或 order_pack:不会扣款。它会收到摘要(条目、总额、扣款后余额、剩余上限)和一个 confirmation_token。
  2. 代理向您展示该摘要。如果您同意,它会带上 confirmation_token 再次调用工具:订单随即提交并扣款。
  3. 令牌有效期为 10 分钟。如果在此期间购物车、某个价格或密钥发生变化,令牌会被拒绝(confirmation_expired),代理需重新执行第 1 步。中断后用同一令牌再次调用,会返回同一订单,不会二次扣款。

自行编写的客户端

服务器是无会话的:每条 JSON-RPC 消息都用 POST 发送,响应以 JSON 返回。请发送 Accept: application/json, text/event-stream 和 Content-Type: application/json,否则服务器返回 406。GET 和 DELETE 返回 405。

列出您的密钥可用的工具
curl -X POST https://www.getlinkfast.com/api/mcp \
  -H "Authorization: Bearer glf_live_…" \
  -H "Accept: application/json, text/event-stream" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

审计与规划

代理可以先审计一个网站,再根据报告把链接分摊到几个月里。共四步,使用 MCP 服务器的工具。

  1. run_audit 启动域名的完整审计:技术检查、在 ChatGPT 中的可见度,以及链接能起作用的网站。需要几分钟。不会扣款;若组织有审计额度,报告将用该额度解锁。限额:每个密钥每 24 小时 10 次;一小时内再次请求同一域名,将返回已有的审计。
  2. get_audit 返回状态和当前步骤,状态变为 ready 后,报告在 summary 中返回。每 30 到 60 秒调用一次。list_audits 按从新到旧列出组织的审计。
  3. plan_links 根据已完成的审计生成日程:月预算(欧元,不含增值税,至少 100 €)、2 到 12 个月,另可选开始日期和目标页面。与购买一样分两步。不带令牌时不会保存任何内容:代理会收到日程(链接、发送日期、总额)和有效期 10 分钟的 confirmation_token。经您同意后,它用相同的字段和令牌再次调用该工具,计划随即保存。
  4. get_plan 跟踪每条链接:目标页面、锚文本、价格和状态(已排期、已下单、已发布、已取消或失败;失败时附带原因,例如 insufficient_credits)。cancel_planned_link 取消一条通过 API 计划的链接,或取消某个域名下所有尚未下单的链接。由我们团队排期的链接会保留:单条链接返回 team_planned,数量见 skipped_team_planned。

保存计划时不会扣款。每条链接在发送当天,按当天重新读取的价格,在每日清晨的例行处理(约 UTC 06:20)中以积分扣除。若当天余额不足,该链接不会下单,并在 get_plan 中显示为失败。已下单的链接不能再取消。

权限:run_audit 和 cancel_planned_link 需要 cart,plan_links 需要 purchase,get_audit、list_audits 和 get_plan 需要 read。密钥的支出上限同样适用于已规划的链接。

在控制台中,委托页面会在“已安排的链接”区块显示这些链接。组织所有者可以在那里撤下通过 API 排期的链接。由我们团队排期的链接只能查看。

参考

每个路由及其权限和对应的 MCP 工具。各路由的参数、响应结构和错误:OpenAPI 3.1 描述。

路由权限MCP 工具作用
GET /sitesreadsearch_sites搜索目录:指标、价格、分类、语言、产品;排序与分页。
GET /sites/{id}readget_site单个站点:指标、价格和发布规则。
GET /sites/{id}/pagesreadlist_site_pages站点中可做链接插入的页面,及其价格和 Google 流量。
GET /categoriesreadlist_categories分类及其 id,用于 category 筛选。
GET /accountreadget_account组织、额度余额、密钥的权限和上限、24 小时支出。
GET /credits/transactionsread无额度记录。
GET /ordersreadlist_orders您的订单,可按状态和日期筛选。
GET /orders/{id}readget_order单个订单及其条目和各自状态。
GET /cart/itemscartget_cart购物车:条目、最新价格和阻止下单的问题。
POST /cart/itemscartadd_to_cart添加客座文章或链接插入。
PATCH /cart/items/{id}cartupdate_cart_item补充或修改某个条目的需求说明。
DELETE /cart/items/{id}cartremove_cart_item移除一个条目。
GET /audits/{id}readget_audit读取审计:状态、当前步骤,随后是报告。
POST /audits/{id}/pagescartadd_audit_page向已完成的审计添加一个要推广的页面(最多 8 个)。分析需要 1 到 4 分钟:请用 get_audit 跟踪。不会扣费。
POST /checkoutpurchasecheckout用额度为购物车下单。
POST /packs/quotereadquote_pack为 SEO/GEO 套餐报价,不扣款。
POST /packs/orderspurchaseorder_pack用额度订购 SEO/GEO 套餐。
仅 MCP 服务器cartrun_audit启动域名的完整审计。不扣款。
仅 MCP 服务器readlist_audits按从新到旧列出组织的审计。
仅 MCP 服务器purchaseplan_links根据审计分两步规划 2 到 12 个月的链接。保存时不扣款。
仅 MCP 服务器readget_plan读取域名已规划的链接:每条的发送日期和状态。
仅 MCP 服务器cartcancel_planned_link取消一条已规划的链接,或取消某个域名下所有尚未下单的链接。

对 API 有疑问?给我们写信,团队成员会回复您。