GetLinkFastGetLinkFast

Utvecklardokumentation

GetLinkFast API och MCP-server

Sök sajter, fyll din varukorg och beställ med saldo utan att öppna kontrollpanelen: från ett skript, ett Make- eller n8n-scenario eller en AI-agent som Claude eller Cursor. API:t och MCP-servern använder samma nyckel och returnerar samma JSON.

Vad det är till för

  • Byråer och SEO-team: koppla era interna verktyg och uppföljningspaneler till ditt konto. Katalog, varukorg, beställningar och statusar läses som JSON.
  • AI-agenter: be Claude Code eller Cursor ”hitta 5 finanssajter med DR 40+ och beställ”. Agenten söker, visar dig sammanfattningen och beställer först när du godkänt.
  • Make, n8n, Zapier: en HTTP-modul och en nyckel räcker.

API:t säljer gästartiklar (guest_post), länkinfogningar (link_insertion) och SEO/GEO-paket, endast mot saldo. Köp av saldo och övriga erbjudanden finns kvar i kontrollpanelen.

Skapa en nyckel

  1. Öppna Kontrollpanel → API-åtkomst.
  2. Namnge nyckeln (till exempel ”Claude-agent” eller ”Make-rapportering”) och välj dess behörigheter. På en nyckel som får beställa kan du sätta ett tak per beställning och ett tak över 24 timmar.
  3. Kopiera nyckeln. Den börjar med glf_live_ och visas bara en gång: vi sparar bara ett avtryck av den.
  4. Skicka den i huvudet på varje förfrågan: Authorization: Bearer glf_live_…

Högst 10 aktiva nycklar per organisation. En återkallad nyckel slutar fungera direkt, liksom nycklarna för en medlem som lämnar organisationen. Håll nyckeln utanför dina kodförråd: den som har den agerar i din organisations namn.

En nyckels behörigheter

Varje nyckel har en eller flera behörigheter. En förfrågan utan den behörighet som krävs får 403 insufficient_scope, och en AI-agent ser bara de tillåtna verktygen.

BehörighetGer åtkomst tillVem kan ge den
readKatalog, kategorier, konto och saldo, saldohistorik, beställningar, offerter för paket.Alltid inkluderad.
cartLägga till, ändra och ta bort rader i varukorgen.Alla medlemmar i organisationen.
purchaseBeställa varukorgen eller ett paket, mot saldo. Inkluderar varukorgen.Endast organisationens ägare.

Snabbstart

Alla rutter börjar med https://www.getlinkfast.com/api/v1. Behåll www: adressen utan www omdirigerar, och en HTTP-klient skickar inte längre huvudet Authorization efter en omdirigering.

Beloppen är i euro exklusive moms. Svaren är JSON, med fält i snake_case.

1. Läs ditt konto och saldo
curl https://www.getlinkfast.com/api/v1/account \
  -H "Authorization: Bearer glf_live_…"
2. Sök sajter: DR 40 och uppåt, på franska, gästartikel
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. Lägg en gästartikel i varukorgen
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"}'

Ersätt site_id med id:t för en sajt från steg 2. Skicka aldrig ett pris: servern räknar ut det.

4. Beställ varukorgen mot saldo
curl -X POST https://www.getlinkfast.com/api/v1/checkout \
  -H "Authorization: Bearer glf_live_…" \
  -H "Idempotency-Key: order-2026-10-14-001"

Svaret ger beställningens id, det dragna beloppet och ditt återstående saldo. Följ sedan förloppet med GET /orders/{id}.

Beställa mot saldo

API:t beställer endast mot saldo och startar aldrig en kortbetalning. Saldot fylls på i kontrollpanelen.

En beställning tar raderna guest_post och link_insertion i varukorgen. Övriga rader, tillagda från kontrollpanelen, ligger kvar i varukorgen och listas i skipped_items.

Inget tak som standard: ditt saldo är den enda gränsen. På en nyckel som får beställa sätter du ett tak per beställning och ett tak över rullande 24 timmar. En beställning som överskrider dem nekas (403 spending_limit_exceeded, med vad som återstår), utan dragning.

Otillräckligt saldo: 402 insufficient_credits, med det saknade beloppet och länken till sidan Saldo, att skicka vidare till någon i ditt team. Inget dras.

Därefter fungerar allt som från kontrollpanelen: bekräftelsemejl och uppföljning på skärmen Beställningar, där beställningen bär namnet på nyckeln som lade den.

Huvudet Idempotency-Key

  • Obligatoriskt på POST /checkout och POST /packs/orders: 8 till 128 utskrivbara ASCII-tecken, utan mellanslag. Utan det: 400 idempotency_key_required.
  • Ett värde motsvarar en köpavsikt. Skickas samma värde igen returneras den ursprungliga beställningen (200, "replayed": true) utan en andra dragning, även om varukorgen har ändrats sedan dess.
  • Efter en tidsgräns eller ett nätverksavbrott försöker du igen med samma värde: du betalar inte två gånger.
  • För ett nytt köp genererar du ett nytt värde, till exempel ett UUID.
  • På POST /checkout liksom på POST /packs/orders nekas ett värde som redan använts för ett annat köp: 409 idempotency_conflict, utan dragning. För ett paket nekas även samma värde skickat med annat innehåll.
  • På MCP-sidan fyller bekräftelsetoken den rollen: du behöver inte generera något.

Gränser

  • 120 förfrågningar per minut och nyckel för läsning, och lika många, separat, för varukorgen: det ena tär inte på det andra.
  • 10 anrop per minut och nyckel till köprutterna eller köpverktygen — omförsök, avslag och MCP:s sammanfattningssteg inräknade.
  • 300 HTTP-förfrågningar per minut och nyckel på MCP-servern. Varje anropat verktyg räknas dessutom mot gränsen för sin behörighet.
  • Därutöver: 429 rate_limited. Väntetiden i sekunder anges av huvudet Retry-After över HTTP, och av details.retry_after_seconds i ett MCP-verktygsresultat.
  • Högst 100 resultat per sida (page_size).
  • Förfrågans brödtext: högst 1 MB.

Felkoder

Alla fel har samma form. Testa code: den är stabil. message är på engelska och riktar sig till utvecklaren; details anger det felaktiga fältet eller beloppen.

Exempel: otillräckligt saldo
{
  "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"
    }
  }
}
KodHTTPVad det betyder
invalid_json400Förfrågans brödtext är inte läsbar JSON. Kontrollera syntaxen och huvudet Content-Type: application/json.
idempotency_key_required400Huvudet Idempotency-Key saknas eller är felaktigt på en köprutt. Skicka ett värde på 8 till 128 tecken.
invalid_api_key401Nyckeln saknas, är felaktig, okänd eller återkallad, eller skapades av en medlem som lämnat organisationen. Kontrollera huvudet Authorization: Bearer glf_live_….
insufficient_credits402Otillräckligt saldo. details.missing_amount anger det saknade beloppet, details.credits_url sidan för påfyllning. Inget har dragits.
insufficient_scope403Nyckeln saknar den behörighet som rutten eller verktyget kräver. Skapa en nyckel med den behörigheten.
spending_limit_exceeded403Beställningen överskrider ett tak på nyckeln: per beställning (window: order) eller över 24 timmar (window: 24h). details.remaining anger vad som återstår. Inget har dragits.
not_found404Resursen hittades inte eller tillhör inte din organisation.
method_not_allowed405MCP-server: GET och DELETE accepteras inte. Skicka varje JSON-RPC-meddelande som POST.
organization_financial_hold409Köp är spärrade för din organisation. Kontakta oss. Inget har dragits.
page_already_sold409En sida i varukorgen (länkinfogning) har just sålts. Ta bort raden och beställ igen med en ny Idempotency-Key.
cart_already_ordered409En rad i varukorgen har redan beställts av ett annat köp (kontrollpanelen eller en annan Idempotency-Key). Läs varukorgen igen innan du beställer med ett nytt värde.
idempotency_conflict409Den här Idempotency-Key har redan använts för ett annat köp. Använd ett nytt värde för ett nytt köp.
not_ready409Granskningen är inte klar än. Vänta på statusen ready med get_audit och lägg sedan till sidan.
full_pass_running409Granskningens fullständiga rapport förbereds fortfarande. Försök igen om några minuter. Inget har startats.
limit_reached409Granskningen har redan 8 sidor som du lagt till, pågående analyser inräknade. Inget har startats.
already_present409Den här sidan finns redan i granskningen eller så pågår dess analys. Inget har startats.
already_ordered409Den här planerade länken är redan beställd och kan inte längre avbrytas här.
not_cancellable409Den här länken kan inte avbrytas just nu. Läs den igen med get_plan.
team_planned409Den här länken schemalades av vårt team, inte via API:t: den kan inte avbokas här. För att ändra den kontaktar kontoägaren supporten.
payload_too_large413Förfrågans brödtext är större än 1 MB.
invalid_parameter422Ogiltig, upprepad eller okänd frågeparameter. details.fields anger varje felaktig parameter och orsaken.
invalid_arguments422Ogiltig kombination av argument, till exempel varken domain eller audit_id, eller båda. details.field anger fältet. Inget har gjorts.
invalid_domain422Domänen eller URL:en går inte att läsa. Skicka ett domännamn, till exempel example.com.
own_network_domain422Den här domänen ingår i vårt publiceringsnätverk: den kan inte granskas. Inget har startats.
invalid_body422Ogiltigt eller okänt fält i brödtexten. details.fields anger varje felaktigt fält och orsaken.
product_not_available_via_api422API:t säljer gästartiklar och länkinfogningar. Övriga produkter beställs från kontrollpanelen.
image_not_uploaded422Den utvalda bilden måste ha laddats upp till GetLinkFast från kontrollpanelen.
cart_empty422Ingen rad i varukorgen kan beställas via API:t. Inget har dragits.
cart_invalid422Vissa rader är ofullständiga eller inte längre tillgängliga. details.items listar varje rad och dess problem. Inget har dragits.
invalid_pack_input422Paketet följer inte sina regler (details.reason). Inget har dragits.
site_unavailable422Den här sajten finns inte eller är inte längre till salu.
target_page_required422En länkinfogning kräver page_id: hämta det från sajtens lista över sidor.
target_page_not_found422Den här sidan hör inte till den här sajten.
target_page_sold422Den här sidan har redan sålts.
target_page_withdrawn422Den här sidan erbjuds inte längre.
target_page_already_in_cart422Den här sidan finns redan i din varukorg.
product_unavailable422Den här sajten säljer inte den här produkten.
invalid_url422Adressen går inte att läsa. Skicka en fullständig http(s)-adress utan inloggningsuppgifter och port.
other_site422Den här sidan finns inte på den granskade domänen. Skicka en sida från samma webbplats.
invalid_keyword422Önskad sökning är för lång: högst 120 tecken.
rate_limited429För många förfrågningar för den här nyckeln. Vänta det antal sekunder som huvudet Retry-After anger över HTTP, eller details.retry_after_seconds i ett MCP-verktygsresultat.
audit_quota_exceeded429Den här nyckeln har redan startat 10 granskningar de senaste 24 timmarna. Inget har startats: försök igen senare.
internal_error500Ett fel hos oss, redan rapporterat till teamet. Försök igen senare: ett köp som görs om med samma Idempotency-Key dras aldrig två gånger.
engine_unavailable502Granskningsmotorn går tillfälligt inte att nå. Inget har startats: försök igen senare.
packs_unavailable503SEO/GEO-paketen är inte tillgängliga än.
confirmation_expiredMCP-verktygBekräftelsetoken har gått ut, eller så har varukorg, priser eller nyckel ändrats sedan sammanfattningen. Inget har dragits: anropa verktyget igen utan token för att få en ny sammanfattning.
purchase_unavailableMCP-verktygKöp via MCP-servern är tillfälligt otillgängliga. Inget har dragits. Försök igen senare.
unknown_toolMCP-verktygOkänt verktyg, eller inte tillåtet av nyckelns behörigheter. tools/list anger de tillgängliga verktygen.
audit_failedMCP-verktygDen här granskningen misslyckades, så ingen plan är möjlig. Starta en ny med run_audit. Inget har gjorts.
audit_not_readyMCP-verktygDen här granskningen är inte klar. Vänta på statusen ready med get_audit och anropa sedan plan_links igen. Inget har gjorts.
budget_too_lowMCP-verktygMånadsbudgeten ligger under minimum på 100 € per månad. Inget har gjorts.
start_date_too_farMCP-verktygStartdatumet ligger för långt fram. Meddelandet anger det senaste tillåtna datumet. Inget har gjorts.
too_many_pagesMCP-verktygEtt projekt följer ett begränsat antal sidor. Skicka färre nya sidor i target_urls. Inget har gjorts.
plan_existsMCP-verktygDen här domänen har redan planerade länkar som ännu inte är beställda. Planer slås aldrig ihop: ta bort dem med cancel_planned_link och börja om. Inget har gjorts.
pending_proposalsMCP-verktygVårt team granskar föreslagna länkar för den här domänen, så ingen plan kan läggas till just nu. details.count anger hur många de är och details.retry_after datumet efter vilket du kan försöka igen (schemaläggs de inte innan dess löper de ut). Be annars kontoägaren att kontakta supporten. Ingenting har gjorts.
no_links_foundMCP-verktygIngen webbplats i katalogen passar de här sidorna med den här månadsbudgeten. Prova andra sidor eller en högre budget. Inget har gjorts.
plan_in_progressMCP-verktygDen här planen sparas just nu. Anropa plan_links igen med samma token om några sekunder för att läsa resultatet.
plan_outcome_unknownMCP-verktygSparandet avbröts och utfallet är okänt. Bekräfta inte igen: läs planen med get_plan.
plan_conflictMCP-verktygPlanen håller inte längre som den är: domänens projekt har ändrats, dess datum faller inte längre inom budgetmånaderna (som börjar vid bekräftelsen), eller någon av dess webbplatser är inte längre tillgänglig för den här domänen. details.reason anger vilket. Ingenting skrevs: anropa plan_links igen utan token för en ny sammanfattning.
plan_retryMCP-verktygEtt annat anrop med den här token slutade utan att spara planen. Anropa plan_links igen med samma token för att läsa resultatet.

MCP-server

MCP-servern ger din AI-agent samma funktioner som API:t, med samma nyckel. Dess adress: https://www.getlinkfast.com/api/mcp.

Claude Code

Ett kommando i din terminal:

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

Cursor

I ~/.cursor/mcp.json. Undvik ett projekts fil .cursor/mcp.json: den hamnar ofta i kodförrådet, tillsammans med nyckeln.

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

Claude Desktop

Claude Desktop skickar inga egna huvuden till en fjärrserver och kan därför inte vidarebefordra din nyckel. Den kopplas in direkt via OAuth-anslutningen, som är planerad till en kommande version. Använd i dag Claude Code eller Cursor: de skickar nyckeln i huvudet Authorization.

Verktygen

Agenten ser bara de verktyg som nyckelns behörigheter tillåter: en nyckel utan rätt att beställa har inget köpverktyg.

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

Köp i två steg

  1. Agenten anropar checkout eller order_pack utan confirmation_token: inget dras. Den får sammanfattningen (rader, summa, saldo efter dragning, återstående tak) och en confirmation_token.
  2. Den visar dig sammanfattningen. Om du godkänner anropar den verktyget igen med confirmation_token: beställningen läggs och dras.
  3. Token gäller i 10 minuter. Om varukorgen, ett pris eller nyckeln ändras under tiden nekas den (confirmation_expired) och agenten gör om steg 1. Ett nytt anrop med samma token efter ett avbrott returnerar samma beställning, utan en andra dragning.

Handskriven klient

Servern är sessionslös: varje JSON-RPC-meddelande skickas som POST och svaret kommer som JSON. Skicka Accept: application/json, text/event-stream och Content-Type: application/json, annars svarar servern 406. GET och DELETE svarar 405.

Lista verktygen för din nyckel
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"}'

Granska och planera

En agent kan granska en webbplats och sedan sprida länkar över flera månader utifrån rapporten. Fyra steg, med verktygen i MCP-servern.

  1. run_audit startar den fullständiga granskningen av en domän: tekniska kontroller, synlighet i ChatGPT och webbplatser där en länk skulle hjälpa. Räkna med några minuter. Inget dras, och rapporten låses upp med organisationens granskningskvot om den har en. Gräns: 10 granskningar per nyckel och 24 timmar; om samma domän begärs igen inom en timme returneras den befintliga granskningen.
  2. get_audit ger status och aktuellt steg, därefter rapporten i summary när statusen blir ready. Anropa det var 30:e till 60:e sekund. list_audits listar organisationens granskningar, den nyaste först.
  3. plan_links bygger en kalender utifrån en färdig granskning: en månadsbudget i euro exkl. moms (minst 100 €), 2 till 12 månader och som tillval ett startdatum och målsidor. Som vid ett köp är det två steg. Utan token sparas inget: agenten får kalendern (länkar, sändningsdatum, summa) och en confirmation_token som gäller i 10 minuter. Efter ditt godkännande anropar den verktyget igen med samma fält och token, och planen sparas.
  4. get_plan följer varje länk: målsida, ankartext, pris och status (schemalagd, beställd, publicerad, avbokad eller misslyckad, med orsaken till ett misslyckande, till exempel insufficient_credits). cancel_planned_link avbokar en länk som planerats via API:t, eller alla ännu inte beställda länkar för en domän. Länkar som vårt team har schemalagt ligger kvar: team_planned för en länk, skipped_team_planned för antalet.

Inget dras när planen sparas. Varje länk dras i krediter på sändningsdagen, till priset som läses om den dagen, vid det dagliga morgonpasset (omkring 06:20 UTC). Räcker inte saldot den dagen beställs länken inte och visas som misslyckad i get_plan. En länk som redan är beställd kan inte längre avbrytas.

Behörigheter: run_audit och cancel_planned_link kräver cart, plan_links kräver purchase, och get_audit, list_audits och get_plan kräver read. Nyckelns utgiftstak gäller även planerade länkar.

I kontrollpanelen visar sidan Delegering dessa länkar i blocket ”Schemalagda länkar”. Organisationens ägare kan ta bort länkar som planerats via API:t där. Länkar som vårt team har planerat är skrivskyddade.

Referens

Varje rutt med sin behörighet och motsvarande MCP-verktyg. Parametrar, svarsscheman och fel rutt för rutt: OpenAPI 3.1-beskrivningen.

RuttBehörighetMCP-verktygSyfte
GET /sitesreadsearch_sitesSök i katalogen: mätvärden, pris, kategori, språk, produkt; sortering och sidindelning.
GET /sites/{id}readget_siteEn sajt: mätvärden, priser och publiceringsregler.
GET /sites/{id}/pagesreadlist_site_pagesEn sajts sidor som är öppna för länkinfogning, med pris och trafik från Google.
GET /categoriesreadlist_categoriesKategorierna och deras id, för filtret category.
GET /accountreadget_accountOrganisation, saldo, nyckelns behörigheter och tak, utgifter över 24 timmar.
GET /credits/transactionsreadingetSaldohistorik.
GET /ordersreadlist_ordersDina beställningar, filtrerbara på status och datum.
GET /orders/{id}readget_orderEn beställning och dess rader, med deras status.
GET /cart/itemscartget_cartVarukorgen: rader, aktuella priser och blockerande problem.
POST /cart/itemscartadd_to_cartLägg till en gästartikel eller en länkinfogning.
PATCH /cart/items/{id}cartupdate_cart_itemKomplettera eller ändra en rads brief.
DELETE /cart/items/{id}cartremove_cart_itemTa bort en rad.
GET /audits/{id}readget_auditLäs en granskning: status, aktuellt steg, därefter rapporten.
POST /audits/{id}/pagescartadd_audit_pageLägger till en sida att lyfta i en klar granskning (högst 8). Analysen tar 1 till 4 minuter: följ den med get_audit. Inget debiteras.
POST /checkoutpurchasecheckoutBeställ varukorgen mot saldo.
POST /packs/quotereadquote_packPrissätt ett SEO/GEO-paket, utan dragning.
POST /packs/orderspurchaseorder_packBeställ ett SEO/GEO-paket mot saldo.
Endast MCP-servercartrun_auditStarta den fullständiga granskningen av en domän. Inget dras.
Endast MCP-serverreadlist_auditsLista organisationens granskningar, den nyaste först.
Endast MCP-serverpurchaseplan_linksPlanera länkar över 2 till 12 månader utifrån en granskning, i två steg. Inget dras när planen sparas.
Endast MCP-serverreadget_planLäs en domäns planerade länkar: sändningsdatum och status för varje.
Endast MCP-servercartcancel_planned_linkAvbryt en planerad länk eller alla ännu obeställda länkar för en domän.

En fråga om API:t? Skriv till oss, så svarar en person i teamet.