Быстрый старт
Создайте первую короткую ссылку через API за две минуты с помощью curl, JavaScript или Python.
Обновлено 13 августа 2026 г.
Две минуты от нуля до работающей короткой ссылки. Понадобится ключ API рабочего
пространства с областью действия links:write — создайте его в панели в разделе
Настройки → ключи API (полное значение показывается один раз).
Сниппеты читают базовый адрес и ключ из переменных окружения, поэтому одни и те же команды работают и с продакшеном, и с локальным экземпляром:
export LINKPROFIT_API_BASE="https://api.linkprofit.com/v1"
export LINKPROFIT_API_KEY="lp_live_…your key…"
1. Создание ссылки
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"}'
Ответ — полный объект ссылки:
{
"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"
}
}
Без domain_id ссылка попадает на ваш домен по умолчанию; без slug
генерируется свободный код. Любая настройка модели ссылки — таргетинг, split-тест
A/B, срок действия, пароль, UTM, пиксели — принимается в том же запросе, смотрите
справочник.
2. Список ссылок
curl -s "$LINKPROFIT_API_BASE/links?limit=10" \
-H "Authorization: Bearer $LINKPROFIT_API_KEY"
Списки разбиты курсорами: идите по
pagination.next_cursor, пока он не станет null.
3. Чтение сводки
curl -s "$LINKPROFIT_API_BASE/analytics/summary" \
-H "Authorization: Bearer $LINKPROFIT_API_KEY"
Требует область действия analytics:read. Без дат показываются последние 30 дней.
То же самое на 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);
То же самое на 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"])
Создание, безопасное при повторе
Передавайте заголовок Idempotency-Key в любом изменяющем запросе. Повтор
запроса с тем же ключом вернёт сохранённый ответ вместо создания второй ссылки —
такой запрос безопасно повторить после сетевого таймаута:
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"}'
Ключи хранятся 24 часа; тот же ключ с другим телом запроса отвечает
409 conflict.