Pular para o conteúdo
LinkProfit

Início rápido

Crie seu primeiro link curto pela API em dois minutos, com curl, JavaScript ou Python.

Atualizado em 13 de agosto de 2026

Dois minutos do zero até um link curto funcionando. Você precisa de uma chave de API de espaço de trabalho com o escopo links:write — crie uma no seu painel, em Configurações → Chaves de API (o valor completo é exibido uma única vez).

Os exemplos leem a URL base e a chave de variáveis de ambiente, então os mesmos comandos funcionam tanto em produção quanto em uma instância local:

export LINKPROFIT_API_BASE="https://api.linkprofit.com/v1"
export LINKPROFIT_API_KEY="lp_live_…your key…"
curl -s -X POST "$LINKPROFIT_API_BASE/links" \
  -H "Authorization: Bearer $LINKPROFIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/summer-sale", "title": "Summer sale"}'

A resposta é o objeto de link completo:

{
  "data": {
    "id": "lnk_2f8k1mVq3xZcW9yTb4Nda",
    "short_url": "https://go.your-brand.com/x7f2q1z",
    "domain": "go.your-brand.com",
    "slug": "x7f2q1z",
    "url": "https://example.com/summer-sale",
    "title": "Summer sale",
    "has_password": false,
    "public_stats": false,
    "created_at": "2026-08-13T10:00:00.000Z"
  }
}

Sem domain_id, o link é criado no seu domínio padrão; sem slug, um código livre é gerado. Todas as opções do modelo de link — segmentação, split A/B, validade, senha, UTM, pixels — são aceitas na mesma requisição; veja a referência.

curl -s "$LINKPROFIT_API_BASE/links?limit=10" \
  -H "Authorization: Bearer $LINKPROFIT_API_KEY"

As listas são paginadas por cursor: siga pagination.next_cursor até que ele seja null.

3. Ler o resumo

curl -s "$LINKPROFIT_API_BASE/analytics/summary" \
  -H "Authorization: Bearer $LINKPROFIT_API_KEY"

Requer o escopo analytics:read. Sem datas, são exibidos os últimos 30 dias.

O mesmo em JavaScript

const base = process.env.LINKPROFIT_API_BASE;
const key = process.env.LINKPROFIT_API_KEY;

const response = await fetch(`${base}/links`, {
  method: "POST",
  headers: {
    Authorization: `Bearer ${key}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ url: "https://example.com/summer-sale" }),
});

if (!response.ok) {
  const { error } = await response.json();
  throw new Error(`${error.code}: ${error.message}`);
}

const { data } = await response.json();
console.log(data.short_url);

O mesmo em Python

import os
import requests

base = os.environ["LINKPROFIT_API_BASE"]
key = os.environ["LINKPROFIT_API_KEY"]

response = requests.post(
    f"{base}/links",
    headers={"Authorization": f"Bearer {key}"},
    json={"url": "https://example.com/summer-sale"},
    timeout=10,
)
response.raise_for_status()
print(response.json()["data"]["short_url"])

Criação segura em novas tentativas

Envie o cabeçalho Idempotency-Key em qualquer mutação. Repetir a requisição com a mesma chave devolve a resposta armazenada em vez de criar um segundo link — é seguro fazer uma nova tentativa após um tempo limite de rede:

curl -s -X POST "$LINKPROFIT_API_BASE/links" \
  -H "Authorization: Bearer $LINKPROFIT_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-42-launch" \
  -d '{"url": "https://example.com/launch"}'

As chaves ficam armazenadas por 24 horas; a mesma chave com um corpo diferente responde 409 conflict.