Dokumentace pro vývojáře
API a server MCP GetLinkFast
Vyhledávejte weby, plňte košík a objednávejte za kredity bez otevření nástěnky: ze skriptu, ze scénáře Make nebo n8n nebo z AI agenta, jako je Claude či Cursor. API i server MCP používají stejný klíč a vracejí stejný JSON.
K čemu to slouží
- Agentury a SEO týmy: napojte své interní nástroje a reportovací nástěnky na svůj účet. Katalog, košík, objednávky a stavy čtete v JSON.
- AI agenti: požádejte Claude Code nebo Cursor „najdi mi 5 finančních webů s DR 40+ a objednej je“. Agent vyhledává, ukáže vám souhrn a objedná až po vašem souhlasu.
- Make, n8n, Zapier: stačí modul HTTP a klíč.
API prodává článek hosta (guest_post), vložení odkazu (link_insertion) a balíčky SEO/GEO, pouze za kredity. Nákup kreditů a ostatní nabídky zůstávají na nástěnce.
Vytvořit klíč
- Otevřete Nástěnka → Přístup k API.
- Pojmenujte klíč (například „Agent Claude“ nebo „Reporting Make“) a zvolte jeho oprávnění. U klíče, který smí objednávat, můžete nastavit limit na objednávku a limit na 24 hodin.
- Zkopírujte klíč. Začíná na
glf_live_a zobrazí se jen jednou: uchováváme pouze jeho otisk. - Posílejte ho v hlavičce každého požadavku:
Authorization: Bearer glf_live_…
Nejvýše 10 aktivních klíčů na organizaci. Odvolaný klíč okamžitě přestane fungovat, stejně jako klíče člena, který organizaci opustí. Držte klíč mimo repozitáře kódu: kdo ho má, jedná jménem vaší organizace.
Oprávnění klíče
Každý klíč nese jedno nebo více oprávnění. Požadavek bez potřebného oprávnění dostane 403 insufficient_scope a AI agent vidí jen povolené nástroje.
| Oprávnění | Dává přístup k | Kdo ho může udělit |
|---|---|---|
read | Katalog, kategorie, účet a zůstatek, historie kreditů, objednávky, cenové nabídky balíčků. | Vždy zahrnuto. |
cart | Přidávání, úprava a odebírání položek košíku. | Kterýkoli člen organizace. |
purchase | Objednání košíku nebo balíčku za kredity. Zahrnuje košík. | Pouze vlastník organizace. |
Rychlý start
Všechny cesty začínají na https://www.getlinkfast.com/api/v1. Ponechte www: adresa bez www přesměrovává a klient HTTP po přesměrování už neposílá hlavičku Authorization.
Částky jsou v eurech bez DPH. Odpovědi jsou v JSON, pole v 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"}'Nahraďte site_id id webu z kroku 2. Nikdy neposílejte cenu: počítá ji server.
curl -X POST https://www.getlinkfast.com/api/v1/checkout \
-H "Authorization: Bearer glf_live_…" \
-H "Idempotency-Key: order-2026-10-14-001"Odpověď obsahuje id objednávky, strženou částku a váš zbývající zůstatek. Průběh pak sledujte přes GET /orders/{id}.
Objednávání za kredity
API objednává pouze za kredity a nikdy nespouští platbu kartou. Kredity se dobíjejí na nástěnce.
Objednávka bere položky guest_post a link_insertion z košíku. Ostatní položky, přidané z nástěnky, zůstávají v košíku a jsou uvedeny v skipped_items.
Ve výchozím stavu žádný limit: jedinou hranicí je váš zůstatek. U klíče, který smí objednávat, nastavte limit na objednávku a limit na klouzavých 24 hodin. Objednávka, která je překročí, je odmítnuta (403 spending_limit_exceeded, se zbývající částkou), bez stržení.
Nedostatečný zůstatek: 402 insufficient_credits, s chybějící částkou a odkazem na stránku Kredity, k předání někomu z vašeho týmu. Nic se nestrhne.
Dál vše probíhá jako z nástěnky: potvrzovací e-mail a sledování na obrazovce Objednávky, kde objednávka nese název klíče, který ji zadal.
Hlavička Idempotency-Key
- Povinná u
POST /checkoutaPOST /packs/orders: 8 až 128 tisknutelných znaků ASCII, bez mezer. Bez ní:400 idempotency_key_required. - Jedna hodnota odpovídá jednomu záměru nákupu. Opětovné odeslání stejné hodnoty vrátí původní objednávku (
200,"replayed": true) bez druhého stržení, i když se košík mezitím změnil. - Po vypršení časového limitu nebo výpadku sítě to zkuste znovu se stejnou hodnotou: nezaplatíte dvakrát.
- Pro nový nákup vygenerujte novou hodnotu, například UUID.
- U
POST /checkouti uPOST /packs/ordersje hodnota už použitá pro jiný nákup odmítnuta:409 idempotency_conflict, bez stržení. U balíčku je odmítnuta i stejná hodnota odeslaná s jiným obsahem. - Na straně MCP tuto roli plní potvrzovací token: nemusíte nic generovat.
Limity
- 120 požadavků za minutu na klíč pro čtení a stejně tolik, odděleně, pro košík: jedno neubírá z druhého.
- 10 volání za minutu na klíč na nákupní cesty nebo nástroje — včetně opakování, odmítnutí a kroku souhrnu v MCP.
- 300 požadavků HTTP za minutu na klíč na serveru MCP. Každý volaný nástroj se navíc počítá do limitu svého oprávnění.
- Nad tento limit:
429 rate_limited. Dobu čekání v sekundách udává hlavičkaRetry-Afterpřes HTTP adetails.retry_after_secondsve výsledku nástroje MCP. - Nejvýše 100 výsledků na stránku (
page_size). - Tělo požadavku: nejvýše 1 MB.
Chybové kódy
Každá chyba má stejný tvar. Testujte code: je stabilní. message je v angličtině a je určena vývojáři; details uvádí chybné pole nebo částky.
{
"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"
}
}
}| Kód | HTTP | Co znamená |
|---|---|---|
invalid_json | 400 | Tělo požadavku není čitelný JSON. Zkontrolujte syntaxi a hlavičku Content-Type: application/json. |
idempotency_key_required | 400 | Hlavička Idempotency-Key chybí nebo je chybná na nákupní cestě. Pošlete hodnotu o 8 až 128 znacích. |
invalid_api_key | 401 | Klíč chybí, je chybný, neznámý nebo odvolaný, případně ho vytvořil člen, který organizaci opustil. Zkontrolujte hlavičku Authorization: Bearer glf_live_…. |
insufficient_credits | 402 | Nedostatečný zůstatek. details.missing_amount udává chybějící částku, details.credits_url stránku pro dobití. Nic nebylo strženo. |
insufficient_scope | 403 | Klíč nemá oprávnění, které tato cesta nebo nástroj vyžaduje. Vytvořte klíč s tímto oprávněním. |
spending_limit_exceeded | 403 | Objednávka překračuje limit klíče: na objednávku (window: order) nebo na 24 hodin (window: 24h). details.remaining udává zbytek. Nic nebylo strženo. |
not_found | 404 | Zdroj nebyl nalezen nebo nepatří vaší organizaci. |
method_not_allowed | 405 | Server MCP: GET a DELETE nejsou přijímány. Každou zprávu JSON-RPC posílejte jako POST. |
organization_financial_hold | 409 | Nákupy jsou ve vaší organizaci zablokované. Kontaktujte nás. Nic nebylo strženo. |
page_already_sold | 409 | Stránka v košíku (vložení odkazu) byla právě prodána. Odeberte položku a objednejte znovu s novým Idempotency-Key. |
cart_already_ordered | 409 | Položka košíku už byla objednána jiným nákupem (nástěnka nebo jiný Idempotency-Key). Před objednáním s novou hodnotou si košík znovu načtěte. |
idempotency_conflict | 409 | Tento Idempotency-Key už byl použit pro jiný nákup. Pro nový nákup použijte novou hodnotu. |
not_ready | 409 | Audit ještě není hotový. Počkejte přes get_audit na stav ready a pak stránku přidejte. |
full_pass_running | 409 | Úplná zpráva auditu se ještě připravuje. Zkuste to znovu za několik minut. Nic nebylo spuštěno. |
limit_reached | 409 | Audit už obsahuje 8 stránek, které jste přidali, včetně probíhajících analýz. Nic nebylo spuštěno. |
already_present | 409 | Tato stránka už v auditu je, nebo její analýza probíhá. Nic nebylo spuštěno. |
already_ordered | 409 | Tento naplánovaný odkaz je už objednaný a nelze ho tady zrušit. |
not_cancellable | 409 | Tento odkaz teď nelze zrušit. Přečtěte ho znovu přes get_plan. |
team_planned | 409 | Tento odkaz naplánoval náš tým, ne API: zde jej nelze zrušit. Chce-li jej vlastník účtu změnit, kontaktuje podporu. |
payload_too_large | 413 | Tělo požadavku přesahuje 1 MB. |
invalid_parameter | 422 | Neplatný, opakovaný nebo neznámý parametr dotazu. details.fields uvádí každý chybný parametr a důvod. |
invalid_arguments | 422 | Neplatná kombinace argumentů, například ani domain, ani audit_id, nebo obojí. details.field pojmenuje pole. Nic nebylo provedeno. |
invalid_domain | 422 | Nečitelná doména nebo URL. Pošlete název domény, například example.com. |
own_network_domain | 422 | Tato doména patří do naší publikační sítě: nelze ji auditovat. Nic nebylo spuštěno. |
invalid_body | 422 | Neplatné nebo neznámé pole v těle. details.fields uvádí každé chybné pole a důvod. |
product_not_available_via_api | 422 | API prodává článek hosta a vložení odkazu. Ostatní produkty se objednávají z nástěnky. |
image_not_uploaded | 422 | Hlavní obrázek musí být nahrán do GetLinkFast z nástěnky. |
cart_empty | 422 | Žádnou položku košíku nelze objednat přes API. Nic nebylo strženo. |
cart_invalid | 422 | Některé položky jsou neúplné nebo už nejsou dostupné. details.items uvádí každou položku a její problémy. Nic nebylo strženo. |
invalid_pack_input | 422 | Balíček nedodržuje svá pravidla (details.reason). Nic nebylo strženo. |
site_unavailable | 422 | Tento web neexistuje nebo už není na prodej. |
target_page_required | 422 | Vložení odkazu vyžaduje page_id: vezměte ho ze seznamu stránek webu. |
target_page_not_found | 422 | Tato stránka k tomuto webu nepatří. |
target_page_sold | 422 | Tato stránka už byla prodána. |
target_page_withdrawn | 422 | Tato stránka už není nabízena. |
target_page_already_in_cart | 422 | Tato stránka už je ve vašem košíku. |
product_unavailable | 422 | Tento web tento produkt neprodává. |
invalid_url | 422 | Adresu nelze přečíst. Pošlete úplnou adresu http(s) bez přihlašovacích údajů a portu. |
other_site | 422 | Tato stránka není na auditované doméně. Pošlete stránku ze stejného webu. |
invalid_keyword | 422 | Cílové vyhledávání je příliš dlouhé: nejvýše 120 znaků. |
rate_limited | 429 | Příliš mnoho požadavků pro tento klíč. Počkejte počet sekund uvedený v hlavičce Retry-After přes HTTP, nebo v details.retry_after_seconds ve výsledku nástroje MCP. |
audit_quota_exceeded | 429 | Tento klíč už za posledních 24 hodin spustil 10 auditů. Nic nebylo spuštěno: zkuste to později. |
internal_error | 500 | Chyba na naší straně, už nahlášená týmu. Zkuste to později: nákup zopakovaný se stejným Idempotency-Key se nikdy nestrhne dvakrát. |
engine_unavailable | 502 | Auditní nástroj je dočasně nedostupný. Nic nebylo spuštěno: zkuste to později. |
packs_unavailable | 503 | Balíčky SEO/GEO zatím nejsou dostupné. |
confirmation_expired | Nástroj MCP | Potvrzovací token vypršel, nebo se od souhrnu změnil košík, ceny či klíč. Nic nebylo strženo: zavolejte nástroj znovu bez tokenu a získejte nový souhrn. |
purchase_unavailable | Nástroj MCP | Nákupy přes server MCP jsou dočasně nedostupné. Nic nebylo strženo. Zkuste to později. |
unknown_tool | Nástroj MCP | Neznámý nástroj, nebo není povolen oprávněními klíče. tools/list uvádí dostupné nástroje. |
audit_failed | Nástroj MCP | Tento audit selhal, plán proto není možný. Spusťte nový přes run_audit. Nic nebylo provedeno. |
audit_not_ready | Nástroj MCP | Tento audit ještě neskončil. Počkejte na stav ready přes get_audit a pak znovu zavolejte plan_links. Nic nebylo provedeno. |
budget_too_low | Nástroj MCP | Měsíční rozpočet je pod minimem 100 € měsíčně. Nic nebylo provedeno. |
start_date_too_far | Nástroj MCP | Datum zahájení je příliš vzdálené. Zpráva uvádí poslední povolené datum. Nic nebylo provedeno. |
too_many_pages | Nástroj MCP | Projekt sleduje omezený počet stránek. Pošlete méně nových stránek v target_urls. Nic nebylo provedeno. |
plan_exists | Nástroj MCP | Tato doména už má naplánované, dosud neobjednané odkazy. Plány se nikdy nesloučí: odeberte je přes cancel_planned_link a začněte znovu. Nic nebylo provedeno. |
pending_proposals | Nástroj MCP | Náš tým posuzuje navržené odkazy pro tuto doménu, proto zatím nelze přidat žádný plán. details.count udává jejich počet a details.retry_after datum, po kterém to zkuste znovu (pokud do té doby nebudou naplánovány, vyprší). Jinak požádejte vlastníka účtu, aby kontaktoval podporu. Nic nebylo provedeno. |
no_links_found | Nástroj MCP | Žádný web z katalogu k těmto stránkám s tímto měsíčním rozpočtem nesedí. Zkuste jiné stránky nebo vyšší rozpočet. Nic nebylo provedeno. |
plan_in_progress | Nástroj MCP | Tento plán se právě ukládá. Za pár sekund zavolejte plan_links znovu se stejným tokenem a přečtěte si výsledek. |
plan_outcome_unknown | Nástroj MCP | Ukládání bylo přerušeno a jeho výsledek není znám. Nepotvrzujte znovu: přečtěte plán přes get_plan. |
plan_conflict | Nástroj MCP | Plán v této podobě už neplatí: projekt domény se změnil, jeho termíny už nespadají do měsíců rozpočtu (které začínají potvrzením), nebo některý z jeho webů už pro tuto doménu není k dispozici. details.reason říká, který případ nastal. Nic nebylo zapsáno: zavolejte znovu plan_links bez tokenu a získejte nový souhrn. |
plan_retry | Nástroj MCP | Jiné volání s tímto tokenem skončilo bez uložení plánu. Zavolejte plan_links znovu se stejným tokenem a přečtěte si výsledek. |
Server MCP
Server MCP dává vašemu AI agentovi stejné funkce jako API, se stejným klíčem. Jeho adresa: https://www.getlinkfast.com/api/mcp.
Claude Code
Jeden příkaz v terminálu:
claude mcp add --transport http getlinkfast https://www.getlinkfast.com/api/mcp --header "Authorization: Bearer glf_live_…"Cursor
V ~/.cursor/mcp.json. Vyhněte se souboru .cursor/mcp.json v projektu: často skončí v repozitáři, i s klíčem.
{
"mcpServers": {
"getlinkfast": {
"url": "https://www.getlinkfast.com/api/mcp",
"headers": {
"Authorization": "Bearer glf_live_…"
}
}
}
}Claude Desktop
Claude Desktop neposílá vlastní hlavičky vzdálenému serveru, a proto nemůže předat váš klíč. Připojí se nativně přes připojení OAuth, plánované v některé z příštích verzí. Dnes použijte Claude Code nebo Cursor: posílají klíč v hlavičce Authorization.
Nástroje
Agent vidí jen nástroje povolené oprávněními klíče: klíč bez práva objednávat nemá žádný nákupní nástroj.
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
Nákup ve dvou krocích
- Agent zavolá
checkoutneboorder_packbezconfirmation_token: nic se nestrhne. Dostane souhrn (položky, celkem, zůstatek po stržení, zbývající limit) aconfirmation_token. - Ukáže vám tento souhrn. Pokud souhlasíte, zavolá nástroj znovu s
confirmation_token: objednávka je zadána a stržena. - Token platí 10 minut. Pokud se mezitím změní košík, cena nebo klíč, je odmítnut (
confirmation_expired) a agent zopakuje krok 1. Opětovné volání se stejným tokenem po výpadku vrátí stejnou objednávku, bez druhého stržení.
Ručně psaný klient
Server je bez relace: každá zpráva JSON-RPC jde jako POST a odpověď přichází v JSON. Posílejte Accept: application/json, text/event-stream a Content-Type: application/json, jinak server odpoví 406. GET a DELETE vracejí 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"}'Audit a plánování
Agent může zauditovat web a podle zprávy rozložit odkazy na několik měsíců. Čtyři kroky, s nástroji serveru MCP.
run_auditspustí úplný audit domény: technické kontroly, viditelnost v ChatGPT a weby, kde by odkaz pomohl. Počítejte s několika minutami. Nic se nestrhává a zpráva se odemkne kvótou auditů organizace, pokud ji má. Limit: 10 auditů na klíč za 24 hodin; opětovný požadavek na stejnou doménu do hodiny vrátí existující audit.get_auditvrátí stav a aktuální krok, poté zprávu vsummary, jakmile je stavready. Volejte ho každých 30 až 60 sekund.list_auditsvypíše audity organizace od nejnovějšího.plan_linkssestaví z hotového auditu kalendář: měsíční rozpočet v eurech bez DPH (alespoň 100 €), 2 až 12 měsíců a volitelně datum zahájení a cílové stránky. Stejně jako při nákupu jsou to dva kroky. Bez tokenu se nic neuloží: agent dostane kalendář (odkazy, data odeslání, součet) aconfirmation_tokenplatný 10 minut. Po vašem souhlasu zavolá nástroj znovu se stejnými poli a tokenem a plán se uloží.get_plansleduje každý odkaz: cílovou stránku, kotvu, cenu a stav (naplánováno, objednáno, zveřejněno, zrušeno nebo selhalo, u selhání s příčinou, napříkladinsufficient_credits).cancel_planned_linkzruší odkaz naplánovaný přes API nebo všechny dosud neobjednané odkazy domény. Odkazy naplánované naším týmem zůstávají:team_plannedpro jeden odkaz,skipped_team_plannedpro jejich počet.
Při uložení plánu se nic nestrhává. Každý odkaz se strhne v kreditech v den odeslání, za cenu znovu načtenou téhož dne, při denním ranním průchodu (kolem 06:20 UTC). Pokud ten den chybí zůstatek, odkaz se neobjedná a v get_plan se zobrazí jako neúspěšný. Už objednaný odkaz nelze zrušit.
Oprávnění: run_audit a cancel_planned_link vyžadují cart, plan_links vyžaduje purchase a get_audit, list_audits a get_plan vyžadují read. Limity útrat klíče platí i pro plánované odkazy.
V nástěnce zobrazuje stránka Delegování tyto odkazy v bloku „Naplánované odkazy“. Vlastník organizace tam může odebrat odkazy naplánované přes API. Odkazy naplánované naším týmem jsou jen ke čtení.
Reference
Každá cesta s oprávněním a odpovídajícím nástrojem MCP. Parametry, schémata odpovědí a chyby cesta po cestě: popis OpenAPI 3.1.
| Cesta | Oprávnění | Nástroj MCP | Účel |
|---|---|---|---|
GET /sites | read | search_sites | Vyhledávání v katalogu: metriky, cena, kategorie, jazyk, produkt; řazení a stránkování. |
GET /sites/{id} | read | get_site | Jeden web: metriky, ceny a pravidla publikace. |
GET /sites/{id}/pages | read | list_site_pages | Stránky webu otevřené pro vložení odkazu, s cenou a návštěvností z Googlu. |
GET /categories | read | list_categories | Kategorie a jejich id, pro filtr category. |
GET /account | read | get_account | Organizace, zůstatek kreditů, oprávnění a limity klíče, útrata za 24 hodin. |
GET /credits/transactions | read | žádný | Historie kreditů. |
GET /orders | read | list_orders | Vaše objednávky, filtrovatelné podle stavu a data. |
GET /orders/{id} | read | get_order | Jedna objednávka a její položky, s jejich stavem. |
GET /cart/items | cart | get_cart | Košík: položky, aktuální ceny a blokující problémy. |
POST /cart/items | cart | add_to_cart | Přidání článku hosta nebo vložení odkazu. |
PATCH /cart/items/{id} | cart | update_cart_item | Doplnění nebo úprava briefu položky. |
DELETE /cart/items/{id} | cart | remove_cart_item | Odebrání položky. |
GET /audits/{id} | read | get_audit | Přečíst audit: stav, aktuální krok, poté zprávu. |
POST /audits/{id}/pages | cart | add_audit_page | Přidá do hotového auditu stránku k posílení (nejvýše 8). Analýza trvá 1 až 4 minuty: sledujte ji přes get_audit. Nic se nestrhává. |
POST /checkout | purchase | checkout | Objednání košíku za kredity. |
POST /packs/quote | read | quote_pack | Nacenění balíčku SEO/GEO, bez stržení. |
POST /packs/orders | purchase | order_pack | Objednání balíčku SEO/GEO za kredity. |
| Jen server MCP | cart | run_audit | Spustit úplný audit domény. Nic se nestrhává. |
| Jen server MCP | read | list_audits | Vypsat audity organizace od nejnovějšího. |
| Jen server MCP | purchase | plan_links | Naplánovat odkazy na 2 až 12 měsíců podle auditu, ve dvou krocích. Při uložení se nic nestrhává. |
| Jen server MCP | read | get_plan | Přečíst naplánované odkazy domény: datum odeslání a stav každého. |
| Jen server MCP | cart | cancel_planned_link | Zrušit jeden naplánovaný odkaz nebo všechny dosud neobjednané odkazy domény. |
Otázka k API? Napište nám, odpoví vám člověk z týmu.
