GetLinkFastGetLinkFast

Documentação para desenvolvedores

API e servidor MCP da GetLinkFast

Pesquise sites, preencha seu carrinho e faça pedidos com créditos sem abrir o painel: a partir de um script, de um cenário Make ou n8n, ou de um agente de IA como Claude ou Cursor. A API e o servidor MCP usam a mesma chave e retornam o mesmo JSON.

Para que serve

  • Agências e equipes de SEO: conecte suas ferramentas internas e seus painéis de acompanhamento à sua conta. Catálogo, carrinho, pedidos e status são lidos em JSON.
  • Agentes de IA: peça ao Claude Code ou ao Cursor “encontre 5 sites de finanças com DR 40+ e faça o pedido”. O agente pesquisa, mostra o resumo e só faz o pedido depois da sua aprovação.
  • Make, n8n, Zapier: um módulo HTTP e uma chave bastam.

A API vende o artigo convidado (guest_post), a inserção de link (link_insertion) e os pacotes SEO/GEO, somente com créditos. A compra de créditos e as outras ofertas continuam no painel.

Criar uma chave

  1. Abra Painel → Acesso à API.
  2. Dê um nome à chave (por exemplo “Agente Claude” ou “Relatórios Make”) e escolha suas permissões. Em uma chave que pode fazer pedidos, você pode definir um limite por pedido e um limite em 24 horas.
  3. Copie a chave. Ela começa com glf_live_ e é exibida uma única vez: guardamos apenas uma impressão dela.
  4. Envie-a no cabeçalho de cada requisição: Authorization: Bearer glf_live_…

No máximo 10 chaves ativas por organização. Uma chave revogada para de funcionar na hora, assim como as chaves de um membro que sai da organização. Mantenha a chave fora dos seus repositórios de código: quem a tem age em nome da sua organização.

As permissões de uma chave

Cada chave tem uma ou mais permissões. Uma requisição sem a permissão necessária recebe 403 insufficient_scope, e um agente de IA só vê as ferramentas permitidas.

PermissãoDá acesso aQuem pode conceder
readCatálogo, categorias, conta e saldo, histórico de créditos, pedidos, orçamentos de pacotes.Sempre incluída.
cartAdicionar, alterar e remover itens do carrinho.Qualquer membro da organização.
purchaseFazer o pedido do carrinho ou de um pacote, com créditos. Inclui o carrinho.Somente o proprietário da organização.

Início rápido

Todas as rotas começam com https://www.getlinkfast.com/api/v1. Mantenha o www: o endereço sem www redireciona, e um cliente HTTP deixa de enviar o cabeçalho Authorization após um redirecionamento.

Os valores estão em euros sem IVA. As respostas são em JSON, com campos em snake_case.

1. Ler sua conta e seu saldo
curl https://www.getlinkfast.com/api/v1/account \
  -H "Authorization: Bearer glf_live_…"
2. Pesquisar sites: DR 40 ou mais, em francês, artigo convidado
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. Adicionar um artigo convidado ao carrinho
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"}'

Substitua site_id pelo id de um site da etapa 2. Nunca envie um preço: o servidor o calcula.

4. Fazer o pedido do carrinho com créditos
curl -X POST https://www.getlinkfast.com/api/v1/checkout \
  -H "Authorization: Bearer glf_live_…" \
  -H "Idempotency-Key: order-2026-10-14-001"

A resposta traz o id do pedido, o valor debitado e seu saldo restante. Depois, acompanhe o andamento com GET /orders/{id}.

Fazer pedidos com créditos

A API faz pedidos somente com créditos e nunca inicia um pagamento com cartão. Os créditos são recarregados no painel.

Um pedido usa os itens guest_post e link_insertion do carrinho. Os outros itens, adicionados pelo painel, ficam no carrinho e são listados em skipped_items.

Nenhum limite por padrão: seu saldo é o único limite. Em uma chave que pode fazer pedidos, defina um limite por pedido e um limite em 24 horas corridas. Um pedido que os ultrapasse é recusado (403 spending_limit_exceeded, com o valor ainda disponível), sem débito.

Saldo insuficiente: 402 insufficient_credits, com o valor que falta e o link da página Créditos, para repassar a alguém da sua equipe. Nada é debitado.

Depois, tudo funciona como no painel: email de confirmação e acompanhamento na tela Pedidos, onde o pedido leva o nome da chave que o fez.

O cabeçalho Idempotency-Key

  • Obrigatório em POST /checkout e POST /packs/orders: de 8 a 128 caracteres ASCII imprimíveis, sem espaços. Sem ele: 400 idempotency_key_required.
  • Um valor equivale a uma intenção de compra. Reenviar o mesmo valor retorna o pedido original (200, "replayed": true) sem segundo débito, mesmo que o carrinho tenha mudado desde então.
  • Após um tempo limite excedido ou uma queda de rede, repita com o mesmo valor: você não pagará duas vezes.
  • Para uma nova compra, gere um novo valor, por exemplo um UUID.
  • Tanto em POST /checkout quanto em POST /packs/orders, um valor já usado em outra compra é recusado: 409 idempotency_conflict, sem débito. Para um pacote, o mesmo valor enviado com outro conteúdo também é recusado.
  • No lado MCP, o token de confirmação cumpre esse papel: você não precisa gerar nada.

Limites

  • 120 requisições por minuto e por chave para leitura, e outras tantas, separadamente, para o carrinho: uma não consome a outra.
  • 10 chamadas por minuto e por chave às rotas ou ferramentas de compra — repetições, recusas e etapa de resumo MCP incluídas.
  • 300 requisições HTTP por minuto e por chave no servidor MCP. Cada ferramenta chamada conta também no limite da sua permissão.
  • Acima disso: 429 rate_limited. A espera, em segundos, é indicada pelo cabeçalho Retry-After em HTTP, e por details.retry_after_seconds no resultado de uma ferramenta MCP.
  • No máximo 100 resultados por página (page_size).
  • Corpo da requisição: no máximo 1 MB.

Códigos de erro

Todo erro tem a mesma forma. Teste code: ele é estável. message está em inglês e se dirige ao desenvolvedor; details indica o campo com erro ou os valores.

Exemplo: saldo insuficiente
{
  "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"
    }
  }
}
CódigoHTTPO que significa
invalid_json400O corpo da requisição não é um JSON legível. Verifique a sintaxe e o cabeçalho Content-Type: application/json.
idempotency_key_required400Cabeçalho Idempotency-Key ausente ou malformado em uma rota de compra. Envie um valor de 8 a 128 caracteres.
invalid_api_key401Chave ausente, malformada, desconhecida ou revogada, ou criada por um membro que saiu da organização. Verifique o cabeçalho Authorization: Bearer glf_live_….
insufficient_credits402Saldo insuficiente. details.missing_amount dá o valor que falta, details.credits_url a página para recarregar. Nada foi debitado.
insufficient_scope403A chave não tem a permissão exigida por esta rota ou ferramenta. Crie uma chave com essa permissão.
spending_limit_exceeded403O pedido ultrapassa um limite da chave: por pedido (window: order) ou em 24 horas (window: 24h). details.remaining dá o que resta. Nada foi debitado.
not_found404Recurso não encontrado, ou que não pertence à sua organização.
method_not_allowed405Servidor MCP: GET e DELETE não são aceitos. Envie cada mensagem JSON-RPC via POST.
organization_financial_hold409As compras estão bloqueadas na sua organização. Entre em contato conosco. Nada foi debitado.
page_already_sold409Uma página do carrinho (inserção de link) acabou de ser vendida. Remova o item e faça o pedido de novo com uma nova Idempotency-Key.
cart_already_ordered409Um item do carrinho já foi pedido em outra compra (painel ou outra Idempotency-Key). Leia o carrinho de novo antes de fazer o pedido com um novo valor.
idempotency_conflict409Esta Idempotency-Key já foi usada em outra compra. Use um novo valor para uma nova compra.
not_ready409A auditoria ainda não está pronta. Aguarde o estado ready com get_audit e depois adicione a página.
full_pass_running409O relatório completo da auditoria ainda está em preparação. Tente novamente dentro de alguns minutos. Nada foi iniciado.
limit_reached409A auditoria já tem 8 páginas adicionadas por si, incluindo análises em curso. Nada foi iniciado.
already_present409Esta página já está na auditoria ou a sua análise está em curso. Nada foi iniciado.
already_ordered409Este link planejado já foi pedido: não pode mais ser cancelado aqui.
not_cancellable409Este link não pode ser cancelado agora. Leia-o de novo com get_plan.
team_planned409Este link foi programado pela nossa equipa, não pela API: não pode ser cancelado aqui. Para o alterar, o titular da conta contacta o suporte.
payload_too_large413Corpo da requisição acima de 1 MB.
invalid_parameter422Parâmetro de consulta inválido, repetido ou desconhecido. details.fields indica cada parâmetro com erro e o motivo.
invalid_arguments422Combinação de argumentos inválida, por exemplo nem domain nem audit_id, ou os dois. details.field indica o campo. Nada foi feito.
invalid_domain422Domínio ou URL ilegível. Envie um nome de domínio, por exemplo example.com.
own_network_domain422Este domínio faz parte da nossa rede de publicação: não pode ser auditado. Nada foi iniciado.
invalid_body422Campo inválido ou desconhecido no corpo. details.fields indica cada campo com erro e o motivo.
product_not_available_via_api422A API vende o artigo convidado e a inserção de link. Os outros produtos são pedidos pelo painel.
image_not_uploaded422A imagem destacada precisa ter sido enviada à GetLinkFast pelo painel.
cart_empty422Nenhum item do carrinho pode ser pedido pela API. Nada foi debitado.
cart_invalid422Há itens incompletos ou que não estão mais disponíveis. details.items lista cada item e seus problemas. Nada foi debitado.
invalid_pack_input422O pacote não respeita suas regras (details.reason). Nada foi debitado.
site_unavailable422Este site não existe ou não está mais à venda.
target_page_required422Uma inserção de link exige page_id: pegue-o na lista de páginas do site.
target_page_not_found422Esta página não pertence a este site.
target_page_sold422Esta página já foi vendida.
target_page_withdrawn422Esta página não é mais oferecida.
target_page_already_in_cart422Esta página já está no seu carrinho.
product_unavailable422Este site não vende este produto.
invalid_url422Endereço ilegível. Envie um endereço http(s) completo, sem credenciais nem porta.
other_site422Esta página não está no domínio auditado. Envie uma página do mesmo site.
invalid_keyword422Pesquisa visada demasiado longa: 120 caracteres no máximo.
rate_limited429Requisições demais para esta chave. Aguarde o número de segundos indicado pelo cabeçalho Retry-After em HTTP, ou por details.retry_after_seconds no resultado de uma ferramenta MCP.
audit_quota_exceeded429Esta chave já iniciou 10 auditorias nas últimas 24 horas. Nada foi iniciado: tente de novo mais tarde.
internal_error500Erro do nosso lado, já informado à equipe. Tente de novo mais tarde: uma compra repetida com a mesma Idempotency-Key nunca é debitada duas vezes.
engine_unavailable502O motor de auditoria está inacessível no momento. Nada foi iniciado: tente de novo mais tarde.
packs_unavailable503Os pacotes SEO/GEO ainda não estão disponíveis.
confirmation_expiredFerramenta MCPToken de confirmação expirado, ou carrinho, preços ou chave alterados desde o resumo. Nada foi debitado: chame a ferramenta de novo sem token para obter um novo resumo.
purchase_unavailableFerramenta MCPAs compras pelo servidor MCP estão temporariamente indisponíveis. Nada foi debitado. Tente de novo mais tarde.
unknown_toolFerramenta MCPFerramenta desconhecida, ou não permitida pelas permissões da chave. tools/list indica as ferramentas disponíveis.
audit_failedFerramenta MCPEsta auditoria falhou, então nenhum plano é possível. Inicie uma nova com run_audit. Nada foi feito.
audit_not_readyFerramenta MCPEsta auditoria ainda não terminou. Aguarde o estado ready com get_audit e chame plan_links de novo. Nada foi feito.
budget_too_lowFerramenta MCPO orçamento mensal está abaixo do mínimo de 100 € por mês. Nada foi feito.
start_date_too_farFerramenta MCPA data de início está longe demais. A mensagem indica a última data permitida. Nada foi feito.
too_many_pagesFerramenta MCPUm projeto acompanha um número limitado de páginas. Envie menos páginas novas em target_urls. Nada foi feito.
plan_existsFerramenta MCPEste domínio já tem links planejados ainda não pedidos. Os planos não se fundem: retire-os com cancel_planned_link e recomece. Nada foi feito.
pending_proposalsFerramenta MCPA nossa equipa está a analisar links propostos para este domínio, por isso não é possível adicionar um plano por agora. details.count indica quantos são e details.retry_after a data a partir da qual tentar de novo (se não forem programados até lá, expiram). Caso contrário, peça ao titular da conta que contacte o suporte. Nada foi feito.
no_links_foundFerramenta MCPNenhum site do catálogo combina com estas páginas neste orçamento mensal. Tente outras páginas ou um orçamento maior. Nada foi feito.
plan_in_progressFerramenta MCPEste plano está sendo salvo agora. Chame plan_links de novo com o mesmo token em alguns segundos para ler o resultado.
plan_outcome_unknownFerramenta MCPO salvamento foi interrompido e o resultado é desconhecido. Não confirme de novo: leia o plano com get_plan.
plan_conflictFerramenta MCPO plano já não é válido tal como está: o projeto do domínio mudou, as suas datas já não caem nos meses do orçamento (que começam na confirmação) ou um dos seus sites já não está disponível para este domínio. details.reason indica qual. Nada foi escrito: chame plan_links novamente sem token para um novo resumo.
plan_retryFerramenta MCPOutra chamada com este token terminou sem salvar o plano. Chame plan_links de novo com o mesmo token para ler o resultado.

Servidor MCP

O servidor MCP dá ao seu agente de IA as mesmas funções da API, com a mesma chave. O endereço dele: https://www.getlinkfast.com/api/mcp.

Claude Code

Um comando no seu terminal:

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

Cursor

Em ~/.cursor/mcp.json. Evite o arquivo .cursor/mcp.json de um projeto: ele costuma ir parar no repositório, junto com a chave.

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

Claude Desktop

O Claude Desktop não envia cabeçalhos personalizados a um servidor remoto, então não consegue transmitir sua chave. Ele vai se conectar de forma nativa com a conexão OAuth, prevista para uma próxima versão. Hoje, use o Claude Code ou o Cursor: eles enviam a chave no cabeçalho Authorization.

As ferramentas

O agente só vê as ferramentas permitidas pelas permissões da chave: uma chave sem permissão para fazer pedidos não tem nenhuma ferramenta de compra.

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

A compra em duas etapas

  1. O agente chama checkout ou order_pack sem confirmation_token: nada é debitado. Ele recebe o resumo (itens, total, saldo após o débito, limite restante) e um confirmation_token.
  2. Ele mostra esse resumo a você. Se você aceitar, ele chama a ferramenta de novo com o confirmation_token: o pedido é feito e debitado.
  3. O token vale 10 minutos. Se nesse meio-tempo o carrinho, um preço ou a chave mudar, ele é recusado (confirmation_expired) e o agente refaz a etapa 1. Chamar de novo com o mesmo token após uma queda retorna o mesmo pedido, sem segundo débito.

Cliente escrito à mão

O servidor não tem sessão: cada mensagem JSON-RPC é enviada via POST e a resposta chega em JSON. Envie Accept: application/json, text/event-stream e Content-Type: application/json; caso contrário, o servidor responde 406. GET e DELETE respondem 405.

Listar as ferramentas da sua chave
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"}'

Auditar e planejar

Um agente pode auditar um site e distribuir links ao longo de vários meses a partir do relatório. Quatro etapas, com as ferramentas do servidor MCP.

  1. run_audit inicia a auditoria completa de um domínio: verificações técnicas, visibilidade no ChatGPT e sites onde um link ajudaria. Conte alguns minutos. Nada é debitado, e o relatório é liberado com a cota de auditorias da organização, quando ela tem uma. Limite: 10 auditorias por chave a cada 24 horas; pedir o mesmo domínio de novo dentro de uma hora devolve a auditoria existente.
  2. get_audit devolve o estado e a etapa atual, depois o relatório em summary quando o estado passa a ready. Chame-o a cada 30 a 60 segundos. list_audits lista as auditorias da organização, da mais recente para a mais antiga.
  3. plan_links monta um calendário a partir de uma auditoria pronta: um orçamento mensal em euros sem IVA (pelo menos 100 €), de 2 a 12 meses e, opcionalmente, uma data de início e as páginas de destino. Como numa compra, são duas etapas. Sem token nada é salvo: o agente recebe o calendário (links, datas de envio, total) e um confirmation_token válido por 10 minutos. Com a sua aprovação, ele chama a ferramenta de novo com os mesmos campos e o token, e o plano é salvo.
  4. get_plan acompanha cada link: página de destino, âncora, preço e estado (programado, pedido, publicado, cancelado ou com falha, com a causa da falha, por exemplo insufficient_credits). cancel_planned_link cancela um link planeado pela API ou todos os de um domínio ainda não pedidos. Os links programados pela nossa equipa mantêm-se: team_planned para um link, skipped_team_planned para o seu número.

Nada é debitado ao salvar o plano. Cada link é debitado em créditos no dia do seu envio, ao preço relido nesse dia, na passagem diária da manhã (por volta das 06:20 UTC). Se faltar saldo nesse dia, o link não é pedido e aparece como falha em get_plan. Um link já pedido não pode mais ser cancelado.

Permissões: run_audit e cancel_planned_link exigem cart, plan_links exige purchase, e get_audit, list_audits e get_plan exigem read. Os limites de gasto da chave valem também para os links planejados.

No painel, a página Delegação mostra esses links no bloco «Links programados». O proprietário da organização pode retirar ali os links planejados pela API. Os que a nossa equipe planejou são somente leitura.

Referência

Cada rota com sua permissão e a ferramenta MCP correspondente. Parâmetros, esquemas de resposta e erros rota a rota: a descrição OpenAPI 3.1.

RotaPermissãoFerramenta MCPFunção
GET /sitesreadsearch_sitesPesquisar no catálogo: métricas, preço, categoria, idioma, produto; ordenação e paginação.
GET /sites/{id}readget_siteUm site: métricas, preços e regras de publicação.
GET /sites/{id}/pagesreadlist_site_pagesAs páginas de um site abertas à inserção de link, com preço e tráfego do Google.
GET /categoriesreadlist_categoriesAs categorias e seus ids, para o filtro category.
GET /accountreadget_accountOrganização, saldo de créditos, permissões e limites da chave, gasto em 24 horas.
GET /credits/transactionsreadnenhumaHistórico de créditos.
GET /ordersreadlist_ordersSeus pedidos, filtráveis por status e por data.
GET /orders/{id}readget_orderUm pedido e seus itens, com o status de cada um.
GET /cart/itemscartget_cartO carrinho: itens, preços atualizados e problemas que bloqueiam.
POST /cart/itemscartadd_to_cartAdicionar um artigo convidado ou uma inserção de link.
PATCH /cart/items/{id}cartupdate_cart_itemCompletar ou alterar o briefing de um item.
DELETE /cart/items/{id}cartremove_cart_itemRemover um item.
GET /audits/{id}readget_auditLer uma auditoria: estado, etapa atual e depois o relatório.
POST /audits/{id}/pagescartadd_audit_pageAdiciona uma página a impulsionar a uma auditoria pronta (8 no máximo). A análise demora de 1 a 4 minutos: acompanhe-a com get_audit. Nada é cobrado.
POST /checkoutpurchasecheckoutFazer o pedido do carrinho com créditos.
POST /packs/quotereadquote_packOrçar um pacote SEO/GEO, sem débito.
POST /packs/orderspurchaseorder_packPedir um pacote SEO/GEO com créditos.
Somente servidor MCPcartrun_auditIniciar a auditoria completa de um domínio. Nada é debitado.
Somente servidor MCPreadlist_auditsListar as auditorias da organização, da mais recente para a mais antiga.
Somente servidor MCPpurchaseplan_linksPlanejar links de 2 a 12 meses a partir de uma auditoria, em duas etapas. Nada é debitado ao salvar.
Somente servidor MCPreadget_planLer os links planejados de um domínio: data de envio e estado de cada um.
Somente servidor MCPcartcancel_planned_linkCancelar um link planejado ou todos os de um domínio ainda não pedidos.

Uma dúvida sobre a API? Escreva para nós, uma pessoa da equipe responde.