開発者向けドキュメント
GetLinkFast の API と MCP サーバー
ダッシュボードを開かずに、サイトを検索し、カートに追加し、クレジットで注文できます。スクリプト、Make や n8n のシナリオ、Claude や Cursor などの AI エージェントから利用できます。API と MCP サーバーは同じキーを使い、同じ JSON を返します。
用途
- 代理店と SEO チーム:社内ツールやレポート用ダッシュボードをアカウントに接続できます。カタログ、カート、注文、ステータスを JSON で取得できます。
- AI エージェント:Claude Code や Cursor に「DR 40 以上の金融サイトを 5 つ探して注文して」と頼めます。エージェントは検索して概要を提示し、あなたの承認後にのみ注文します。
- Make、n8n、Zapier:HTTP モジュールとキーがあれば十分です。
API で購入できるのはゲスト記事(guest_post)、リンク挿入(link_insertion)、SEO/GEO パックで、支払いはクレジットのみです。クレジットの購入やその他のサービスはダッシュボードで行います。
キーを作成する
- ダッシュボード → API アクセスを開きます。
- キーに名前を付け(例:「Claude エージェント」「Make レポート」)、権限を選びます。注文できるキーには、注文ごとの上限と 24 時間の上限を設定できます。
- キーをコピーします。キーは
glf_live_で始まり、表示されるのは一度だけです。当社が保存するのはそのハッシュのみです。 - すべてのリクエストのヘッダーで送信します:
Authorization: Bearer glf_live_…
有効なキーは組織あたり最大 10 個です。失効したキーはただちに使えなくなります。組織を離れたメンバーのキーも同様です。キーはコードリポジトリに含めないでください。キーを持つ人は誰でも、あなたの組織として操作できます。
キーの権限
各キーには 1 つ以上の権限があります。必要な権限がないリクエストには 403 insufficient_scope が返り、AI エージェントには許可されたツールだけが表示されます。
| 権限 | アクセスできる範囲 | 付与できる人 |
|---|---|---|
read | カタログ、カテゴリ、アカウントと残高、クレジット履歴、注文、パックの見積もり。 | 常に含まれます。 |
cart | カートの項目の追加、変更、削除。 | 組織のすべてのメンバー。 |
purchase | カートまたはパックをクレジットで注文。カートの権限を含みます。 | 組織のオーナーのみ。 |
クイックスタート
すべてのルートは https://www.getlinkfast.com/api/v1 で始まります。www は省略しないでください。www なしのアドレスはリダイレクトされ、HTTP クライアントはリダイレクト後に Authorization ヘッダーを送信しなくなります。
金額はユーロ建て、付加価値税抜きです。レスポンスは JSON で、フィールドは snake_case です。
curl https://www.getlinkfast.com/api/v1/account \
-H "Authorization: Bearer glf_live_…"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_…"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 に置き換えてください。価格は送信しないでください。サーバーが計算します。
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では必須です。空白を含まない、印字可能な ASCII 文字 8〜128 文字。ない場合:400 idempotency_key_required。- 1 つの値は 1 回の購入意図に対応します。同じ値を再送すると、カートがその後変わっていても、2 回目の引き落としなしに元の注文が返ります(
200、"replayed": true)。 - タイムアウトやネットワーク切断の後は、同じ値で再試行してください。二重に支払うことはありません。
- 新しい購入には、UUID などの新しい値を生成してください。
POST /checkoutでもPOST /packs/ordersでも、別の購入に使った値は拒否されます:409 idempotency_conflict、引き落としなし。パックでは、同じ値を異なる内容で送った場合も拒否されます。- MCP では確認トークンがこの役割を果たすため、値を生成する必要はありません。
制限
- 読み取りはキーごとに毎分 120 リクエスト、カートは別枠で同数です。一方がもう一方の枠を消費することはありません。
- 購入用のルートまたはツールへの呼び出しは、キーごとに毎分 10 回まで。再送、拒否、MCP の確認用サマリー段階も含みます。
- MCP サーバーへの HTTP リクエストはキーごとに毎分 300 回。呼び出した各ツールは、その権限の制限にも加算されます。
- 超えた場合:
429 rate_limited。待ち時間(秒)は、HTTP ではRetry-Afterヘッダー、MCP ツールの結果ではdetails.retry_after_secondsが示します。 - 1 ページあたり最大 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_json | 400 | リクエスト本文が読み取れる JSON ではありません。構文と Content-Type: application/json ヘッダーを確認してください。 |
idempotency_key_required | 400 | 購入ルートで Idempotency-Key ヘッダーがないか、形式が誤っています。8〜128 文字の値を送信してください。 |
invalid_api_key | 401 | キーがない、形式が誤っている、不明、または失効しているか、組織を離れたメンバーが作成したキーです。Authorization: Bearer glf_live_… ヘッダーを確認してください。 |
insufficient_credits | 402 | 残高不足です。details.missing_amount は不足額、details.credits_url はチャージ用のページです。引き落としは行われていません。 |
insufficient_scope | 403 | このルートまたはツールに必要な権限がキーにありません。その権限を持つキーを作成してください。 |
spending_limit_exceeded | 403 | 注文がキーの上限を超えています:注文ごと(window: order)または 24 時間(window: 24h)。details.remaining は残額です。引き落としは行われていません。 |
not_found | 404 | リソースが見つからないか、あなたの組織のものではありません。 |
method_not_allowed | 405 | MCP サーバー:GET と DELETE は受け付けません。各 JSON-RPC メッセージは POST で送信してください。 |
organization_financial_hold | 409 | あなたの組織では購入が停止されています。お問い合わせください。引き落としは行われていません。 |
page_already_sold | 409 | カート内のページ(リンク挿入)が売れてしまいました。その項目を削除し、新しい Idempotency-Key で注文し直してください。 |
cart_already_ordered | 409 | カートの項目が別の購入(ダッシュボードまたは別の Idempotency-Key)ですでに注文されています。新しい値で注文する前にカートを再取得してください。 |
idempotency_conflict | 409 | この Idempotency-Key は別の購入ですでに使われています。新しい購入には新しい値を使ってください。 |
not_ready | 409 | 監査の準備がまだ整っていません。get_audit でステータスが ready になるのを待ってから、ページを追加してください。 |
full_pass_running | 409 | 監査の完全レポートはまだ準備中です。数分後にもう一度お試しください。何も開始されていません。 |
limit_reached | 409 | この監査には、あなたが追加したページがすでに8ページあります(分析中のものを含む)。何も開始されていません。 |
already_present | 409 | このページはすでに監査に含まれているか、分析中です。何も開始されていません。 |
already_ordered | 409 | この予定リンクはすでに注文済みで、ここではキャンセルできません。 |
not_cancellable | 409 | このリンクは現在キャンセルできません。get_plan でもう一度確認してください。 |
team_planned | 409 | このリンクは API ではなく当社チームが予定に組み込んだものです。ここではキャンセルできません。変更するには、アカウント所有者がサポートに連絡してください。 |
payload_too_large | 413 | リクエスト本文が 1 MB を超えています。 |
invalid_parameter | 422 | クエリパラメーターが無効、重複、または不明です。details.fields は誤りのある各パラメーターとその理由を示します。 |
invalid_arguments | 422 | 引数の組み合わせが無効です。たとえば domain と audit_id のどちらもない、または両方ある場合です。details.field が対象の項目を示します。何も実行されていません。 |
invalid_domain | 422 | ドメインまたは URL を読み取れません。ドメイン名を送ってください(例:example.com)。 |
own_network_domain | 422 | このドメインは当社のパブリッシングネットワークに含まれるため、監査できません。何も開始されていません。 |
invalid_body | 422 | 本文に無効または不明なフィールドがあります。details.fields は誤りのある各フィールドとその理由を示します。 |
product_not_available_via_api | 422 | API で購入できるのはゲスト記事とリンク挿入です。その他の商品はダッシュボードから注文してください。 |
image_not_uploaded | 422 | アイキャッチ画像は、ダッシュボードから GetLinkFast にアップロードされている必要があります。 |
cart_empty | 422 | API で注文できる項目がカートにありません。引き落としは行われていません。 |
cart_invalid | 422 | 一部の項目が不完全か、利用できなくなっています。details.items は各項目とその問題を一覧表示します。引き落としは行われていません。 |
invalid_pack_input | 422 | パックがそのルールを満たしていません(details.reason)。引き落としは行われていません。 |
site_unavailable | 422 | このサイトは存在しないか、販売を終了しています。 |
target_page_required | 422 | リンク挿入には page_id が必要です。サイトのページ一覧から取得してください。 |
target_page_not_found | 422 | このページはこのサイトに属していません。 |
target_page_sold | 422 | このページはすでに売れています。 |
target_page_withdrawn | 422 | このページは提供を終了しました。 |
target_page_already_in_cart | 422 | このページはすでにカートに入っています。 |
product_unavailable | 422 | このサイトではこの商品を販売していません。 |
invalid_url | 422 | アドレスを読み取れません。認証情報やポートを含まない、完全な http(s) アドレスを送信してください。 |
other_site | 422 | このページは監査対象のドメインにありません。同じサイトのページを送信してください。 |
invalid_keyword | 422 | 狙う検索が長すぎます。120文字までです。 |
rate_limited | 429 | このキーのリクエストが多すぎます。HTTP では Retry-After ヘッダー、MCP ツールの結果では details.retry_after_seconds が示す秒数だけ待ってください。 |
audit_quota_exceeded | 429 | このキーは直近 24 時間にすでに 10 件の監査を開始しています。何も開始されていません。後でもう一度お試しください。 |
internal_error | 500 | 当社側のエラーです。チームにはすでに通知されています。後でもう一度お試しください。同じ Idempotency-Key で再試行した購入が二重に引き落とされることはありません。 |
engine_unavailable | 502 | 監査エンジンに一時的に接続できません。何も開始されていません。後でもう一度お試しください。 |
packs_unavailable | 503 | SEO/GEO パックはまだご利用いただけません。 |
confirmation_expired | MCP ツール | 確認トークンの有効期限が切れたか、概要の提示後にカート、価格、またはキーが変更されました。引き落としは行われていません。トークンなしでツールを再度呼び出し、新しい概要を取得してください。 |
purchase_unavailable | MCP ツール | MCP サーバー経由の購入は一時的に利用できません。引き落としは行われていません。後でもう一度お試しください。 |
unknown_tool | MCP ツール | 不明なツール、またはキーの権限で許可されていないツールです。tools/list で利用可能なツールを確認できます。 |
audit_failed | MCP ツール | この監査は失敗したため、プランを作れません。run_audit で新しく開始してください。何も実行されていません。 |
audit_not_ready | MCP ツール | この監査はまだ完了していません。get_audit でステータスが ready になるのを待ってから、plan_links をもう一度呼び出してください。何も実行されていません。 |
budget_too_low | MCP ツール | 月額予算が最低額の月 100 € を下回っています。何も実行されていません。 |
start_date_too_far | MCP ツール | 開始日が先すぎます。メッセージに指定できる最終日が示されます。何も実行されていません。 |
too_many_pages | MCP ツール | 1 つのプロジェクトが追跡できるページ数には上限があります。target_urls の新しいページを減らしてください。何も実行されていません。 |
plan_exists | MCP ツール | このドメインには、まだ注文されていない予定リンクがあります。プランは統合されません。cancel_planned_link で取り下げてから、やり直してください。何も実行されていません。 |
pending_proposals | MCP ツール | このドメインの提案リンクを当社チームが確認中のため、現時点ではプランを追加できません。details.count はその件数、details.retry_after は再試行できる日時を示します(それまでに予定に組み込まれなければ期限切れになります)。それ以外の場合は、アカウント所有者にサポートへの連絡を依頼してください。何も実行されていません。 |
no_links_found | MCP ツール | この月額予算で、これらのページに合うカタログのサイトがありません。別のページか、より高い予算をお試しください。何も実行されていません。 |
plan_in_progress | MCP ツール | このプランは現在保存中です。数秒後に同じトークンで plan_links をもう一度呼び出し、結果を読み取ってください。 |
plan_outcome_unknown | MCP ツール | 保存が中断され、結果が不明です。もう一度確認せず、get_plan でプランを読み取ってください。 |
plan_conflict | MCP ツール | このプランはそのままでは成立しません。ドメインのプロジェクトが変更されたか、日付が予算の各月(確定時点から始まります)に収まらなくなったか、サイトのいずれかがこのドメインで利用できなくなりました。details.reason がどれかを示します。何も書き込まれていません。新しい概要を得るには、トークンなしで plan_links をもう一度呼び出してください。 |
plan_retry | MCP ツール | このトークンによる別の呼び出しが、プランを保存せずに終了しました。同じトークンで plan_links をもう一度呼び出し、結果を読み取ってください。 |
MCP サーバー
MCP サーバーは、API と同じ機能を同じキーで AI エージェントに提供します。アドレス:https://www.getlinkfast.com/api/mcp。
Claude Code
ターミナルでコマンドを 1 つ実行します:
claude mcp add --transport http getlinkfast https://www.getlinkfast.com/api/mcp --header "Authorization: Bearer glf_live_…"Cursor
~/.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 ヘッダーでキーを送信します。
ツール
エージェントに表示されるのは、キーの権限で許可されたツールだけです。注文権限のないキーには購入ツールがありません。
readsearch_sitesget_sitelist_site_pageslist_categoriesget_accountlist_ordersget_orderget_auditquote_packlist_auditsget_plancartget_cartadd_to_cartupdate_cart_itemremove_cart_itemadd_audit_pagerun_auditcancel_planned_linkpurchasecheckoutorder_packplan_links
2 段階の購入
- エージェントは
confirmation_tokenなしでcheckoutまたはorder_packを呼び出します。引き落としは行われません。エージェントは概要(項目、合計、引き落とし後の残高、残りの上限)とconfirmation_tokenを受け取ります。 - エージェントがこの概要をあなたに提示します。承認すると、
confirmation_token付きでツールを再度呼び出し、注文が確定して引き落とされます。 - トークンの有効期間は 10 分です。その間にカート、価格、またはキーが変わると拒否され(
confirmation_expired)、エージェントは手順 1 からやり直します。切断後に同じトークンで再度呼び出すと、2 回目の引き落としなしに同じ注文が返ります。
クライアントを自作する場合
サーバーはセッションを持ちません。各 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 サーバーのツールを使う 4 つのステップです。
run_auditはドメインのフル監査を開始します。技術チェック、ChatGPT での可視性、リンクが役立つサイトを調べます。数分かかります。引き落としは行われず、組織に監査枠があれば、その枠でレポートが開きます。上限はキーあたり 24 時間で 10 件です。同じドメインを 1 時間以内に再度依頼すると、既存の監査が返ります。get_auditはステータスと現在のステップを返し、ステータスがreadyになるとレポートをsummaryに返します。30〜60 秒ごとに呼び出してください。list_auditsは組織の監査を新しい順に一覧表示します。plan_linksは完了した監査からカレンダーを作ります。月額予算(税抜ユーロ、最低 100 €)、2〜12 か月、任意で開始日と対象ページを指定します。購入と同じく 2 段階です。トークンなしでは何も保存されず、エージェントはカレンダー(リンク、送信日、合計)と 10 分間有効なconfirmation_tokenを受け取ります。あなたの承認後、同じ項目とトークンでツールをもう一度呼び出すと、プランが保存されます。get_planは各リンクを追跡します。対象ページ、アンカー、価格、状態(予定、注文済み、公開済み、キャンセル済み、失敗のいずれかで、失敗にはinsufficient_creditsなどの原因が付きます)。cancel_planned_linkは API で計画したリンク 1 件、またはドメインのまだ注文されていないリンクすべてをキャンセルします。当社チームが予定に組み込んだリンクはそのまま残ります。1 件なら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 /sites | read | search_sites | カタログを検索:指標、価格、カテゴリ、言語、商品。並べ替えとページ分割。 |
GET /sites/{id} | read | get_site | 1 つのサイト:指標、価格、掲載ルール。 |
GET /sites/{id}/pages | read | list_site_pages | リンク挿入が可能なサイトのページと、その価格および Google からのトラフィック。 |
GET /categories | read | list_categories | category フィルター用のカテゴリとその id。 |
GET /account | read | get_account | 組織、クレジット残高、キーの権限と上限、24 時間の支出額。 |
GET /credits/transactions | read | なし | クレジット履歴。 |
GET /orders | read | list_orders | 注文一覧。ステータスと日付で絞り込めます。 |
GET /orders/{id} | read | get_order | 1 件の注文とその項目、および各ステータス。 |
GET /cart/items | cart | get_cart | カート:項目、最新の価格、注文を妨げる問題。 |
POST /cart/items | cart | add_to_cart | ゲスト記事またはリンク挿入を追加する。 |
PATCH /cart/items/{id} | cart | update_cart_item | 項目のブリーフを補完または変更する。 |
DELETE /cart/items/{id} | cart | remove_cart_item | 項目を削除する。 |
GET /audits/{id} | read | get_audit | 監査を読み取り:ステータス、現在のステップ、続いてレポート。 |
POST /audits/{id}/pages | cart | add_audit_page | 完成した監査に、押し上げるページを1つ追加します(最大8ページ)。分析には1~4分かかります。get_audit で進行を確認してください。課金はありません。 |
POST /checkout | purchase | checkout | カートをクレジットで注文する。 |
POST /packs/quote | read | quote_pack | SEO/GEO パックを見積もる(引き落としなし)。 |
POST /packs/orders | purchase | order_pack | SEO/GEO パックをクレジットで注文する。 |
| MCP サーバーのみ | cart | run_audit | ドメインのフル監査を開始。引き落としなし。 |
| MCP サーバーのみ | read | list_audits | 組織の監査を新しい順に一覧表示。 |
| MCP サーバーのみ | purchase | plan_links | 監査をもとに 2〜12 か月分のリンクを 2 段階でプランニング。保存時の引き落としなし。 |
| MCP サーバーのみ | read | get_plan | ドメインの予定リンクを読み取り:各リンクの送信日と状態。 |
| MCP サーバーのみ | cart | cancel_planned_link | 予定リンク 1 件、またはドメインの未注文リンクすべてをキャンセル。 |
API についてご質問がありますか?お問い合わせください。チームの担当者がお答えします。
