Inicio rápido
Crea tu primer enlace corto con la API en dos minutos, con curl, JavaScript o Python.
Actualizado el 13 de agosto de 2026
Dos minutos desde cero hasta un enlace corto que funciona. Necesitas una clave
de API de espacio de trabajo con el alcance links:write; créala en tu panel,
en Ajustes → Claves de API (el valor completo se muestra una sola vez).
Los ejemplos leen la URL base y la clave de variables de entorno, así que los mismos comandos sirven contra producción y contra una instancia local:
export LINKPROFIT_API_BASE="https://api.linkprofit.com/v1"
export LINKPROFIT_API_KEY="lp_live_…your key…"
1. Crear un enlace
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"}'
La respuesta es el objeto de enlace 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"
}
}
Sin domain_id, el enlace se crea en tu dominio por defecto; sin slug, se
genera un código libre. Todas las opciones del modelo de enlace —segmentación,
reparto A/B, caducidad, contraseña, UTM, píxeles— se aceptan en la misma
solicitud; consulta la referencia.
2. Listar enlaces
curl -s "$LINKPROFIT_API_BASE/links?limit=10" \
-H "Authorization: Bearer $LINKPROFIT_API_KEY"
Las listas se paginan por cursor: sigue
pagination.next_cursor hasta que valga null.
3. Leer el resumen
curl -s "$LINKPROFIT_API_BASE/analytics/summary" \
-H "Authorization: Bearer $LINKPROFIT_API_KEY"
Requiere el alcance analytics:read. Sin fechas se muestran los últimos 30 días.
Lo mismo en 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);
Lo mismo en 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"])
Creación segura ante reintentos
Envía una cabecera Idempotency-Key en cualquier mutación. Repetir la solicitud
con la misma clave devuelve la respuesta guardada en lugar de crear un segundo
enlace, así que es seguro reintentar tras un tiempo de espera agotado en la red:
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"}'
Las claves se guardan durante 24 horas; la misma clave con un cuerpo distinto
responde 409 conflict.