Перейти к содержимому
LinkProfit

Сравнение API сокращателей ссылок: что получает разработчик в 2026 году

LinkProfit Team10 мин чтения
  • api
  • developers
  • link-shortener
На этой странице

Любой сокращатель ссылок продаёт одну и ту же демонстрацию: вставьте длинный адрес — получите короткий. Разница между ними проявляется недели через три, когда обработчик очереди создаёт десять тысяч ссылок в час, приёмник вебхуков молча теряет повторные доставки, а кто-то спрашивает, почему клики за прошлый месяц невозможно сопоставить с записями в CRM. Это сравнение — про ту стадию, а не про демонстрацию.

Дальше — те самые оси, по которым решается, переживёт ли API встречу с реальной нагрузкой, что по каждой из них на самом деле дают основные поставщики категории, и рабочие примеры для API LinkProfit. Поведение конкурентов описано словами, а не выдуманными примерами кода: форма запросов меняется, а скопированный сниппет, который больше не работает, хуже одного предложения, объясняющего, что делает эндпоинт.

Почему для части покупателей API и есть продукт

Покупателей у сокращателя два типа. Первый заходит в панель, создаёт ссылки руками и смотрит графики. Второй не открывает панель вообще: ссылки создаёт его собственный софт, от имени его собственных пользователей, а данные о кликах уходят в его собственное хранилище. Для второго панель — инструмент отладки, а продукт — это API целиком.

Именно это различие объясняет большую часть разочарований в категории, и именно поэтому встраивание сокращения ссылок в SaaS-продукт — покупка совсем не та же, что покупка маркетингового инструмента. Поставщики, которые оптимизируют продукт под первого покупателя, относятся к API как к галочке на странице тарифов: он есть, документирован скупо, спрятан за верхний тариф и покрывает создание ссылок, но не домены, не аналитику и не вебхуки. Если вы встраиваете сокращение ссылок в продукт, этот разрыв — разница между «выпустили» и «переписываем».

Оси, которые действительно имеют значение

Аутентификация и область действия ключа

Базовый уровень — bearer-токен. Реализации различаются тем, на что способен утёкший токен. Один ключ на весь аккаунт, которым можно удалить любую ссылку, — это риск, особенно если вашей интеграции нужно только их создавать. Ищите ключи, ограниченные рабочим пространством, а не аккаунтом; права, привязанные к ключу, а не к создавшему его пользователю; хранение в виде хеша с однократным показом при создании; независимую ротацию, чтобы выдать по ключу на сервис и отозвать один, не устроив простой.

Лимиты запросов и поведение на потолке

Важны два числа, и оба публикуют редко: устойчивый лимит и то, что происходит при его превышении. Воспитанный API отвечает 429, подсказывает, когда повторить, и отдаёт остаток бюджета в каждом ответе, поэтому клиент успевает притормозить себя сам, до того как начнёт получать ошибки. API, который под нагрузкой возвращает безликий 500 или молча теряет записи, вынуждает строить осторожный ограничитель вокруг догадок.

Форма окна значит не меньше величины. Потолок в секунду и скользящее окно в минуту с одинаковой средней пропускной способностью ведут себя совершенно по-разному на всплесках, а именно всплески и создаёт большинство интеграций: выходит кампания, пять тысяч ссылок создаются за девяносто секунд, и весь остальной день очередь простаивает.

Пакетные операции

Создавать ссылки по одному HTTP-запросу нормально на сотнях и мучительно на сотнях тысяч. Пакетный эндпоинт, который принимает партию и возвращает результат по каждому элементу, включая частичные отказы с индексом сбойного элемента, превращает ночную задачу в несколько минут. Проверять здесь надо семантику отказов: отклоняет ли один некорректный адрес всю партию и не появятся ли дубли при повторе частично применённой партии.

Аналитика через API

Графики кликов в панели показывает почти каждый поставщик. Куда меньше тех, у кого те же числа можно вытянуть программно и с нужной вам детализацией, — и вот здесь прячутся лимиты, разложенные по тарифам. Спрашивайте о трёх вещах: сводные показатели, временные ряды с выбираемой детализацией и разбивки по параметрам — страна, город, устройство, браузер, источник перехода и параметры кампании. Дальше спрашивайте про срок хранения, про потолок размера выгрузки и про то, те ли это события, что списываются с вашего тарифа. Измерительные вопросы, которые лежат под этим, — прежде всего отсев ботов и подсчёт уникальных посетителей, — разобраны в нашем гиде про отслеживание кликов по ссылкам.

Нагляднее всего это видно на Rebrandly. Редиректы у него не ограничены, а вот сама аналитика тарифицируется как данные о вовлечённости: 100, 10 000, 25 000 и 150 000 событий в месяц по тарифам — на август 2026 года. Ссылка, которая продолжает редиректить, но перестаёт отчитываться, — это конкретный способ отказа, и закладывать его в расчёт нужно до выбора.

Вебхуки и гарантии доставки

Опрос ради отслеживания изменений — то, из-за чего интеграции становятся медленными и дорогими. Вебхуки его заменяют, а их качество сводится к четырём свойствам: какие события отправляются, подписаны ли полезные нагрузки, как выглядит расписание повторов и что происходит, когда повторы закончились. Подпись должна проверяться по сырому телу запроса и включать отметку времени, чтобы старую доставку нельзя было воспроизвести заново. Повторы должны растягиваться на часы, а не на минуты, — тогда окно деплоя не стоит вам событий. И поставщик обязан сообщить, что эндпоинт помечен неисправным, а не выбрасывать события молча.

SDK, спецификация и документация

Официальный SDK экономит день работы; машиночитаемая спецификация OpenAPI экономит тот же день на любом языке, который SDK не покрывает, и продолжает экономить его по мере развития API. Short.io выпускает четыре SDK — самое широкое официальное покрытие в категории на август 2026 года. Но опубликованная спецификация — актив долговечнее: из неё генерируются клиенты, моки и контрактные тесты.

Ошибки, пагинация и версионирование

Три неброских свойства, которые определяют стоимость сопровождения. Ошибки должны быть машиночитаемыми, со стабильным кодом отдельно от человеческого сообщения, чтобы логика повторов ветвилась по коду, а не по совпадению строк. Пагинация должна быть курсорной: постраничный обход по смещению в таблице, куда идёт запись, будет пропускать и дублировать строки. А версия должна быть явно указана в пути, заморожена после публикации, и всё несовместимое должно выходить следующей версией.

Что предлагают поставщики

| Поставщик | Доступность API | Опубликованный лимит запросов | Официальные SDK | Заметное ограничение | | --- | --- | --- | --- | --- | | Short.io | Все тарифы, включая бесплатный | 50 запросов в секунду, ещё продаются блоками | Четыре | Нет white-label панели, команды только на Enterprise | | Dub | Ядро продукта, открытый исходный код | Отдельным числом не публикуется | Да | White-label для партнёров — на тарифе за 300 USD | | Rebrandly | Платные тарифы, функции разнесены по уровням | Отдельным числом не публикуется | Да | Аналитика тарифицируется как события вовлечённости | | Replug | Только тариф Agency, 99 USD в месяц | Не публикуется | Нет | API нельзя оценить на младших тарифах | | Shlink, у себя | Полный, открытый исходный код | Настраиваете сами | От сообщества | Расчёт на одного арендатора, нет биллинга | | LinkProfit | Тариф Growth и выше | 600 запросов в минуту на ключ рабочего пространства | Клиенты из спецификации | Общий хост API в первой версии |

Все сведения о тарифах и ценах выше — на август 2026 года.

Short.io: эталон по объёму

Short.io — агрессор категории по цене и пропускной способности. API доступен на каждом тарифе, опубликованный лимит — 50 запросов в секунду независимо от уровня, а дополнительная ёмкость продаётся блоками по 50 запросов в секунду за 50 USD в месяц. У него четыре SDK и настоящий сайт документации для разработчиков, а собственные домены с автоматическими сертификатами входят в тарифы начиная с бесплатного.

Ограничения лежат не в API, а в остальной части продукта: то, что здесь называют white label, — это брендинг ссылок, а не панель, которую можно переклеить под себя; поддержка нескольких команд заперта на Enterprise; пиксели ретаргетинга покрывают всего две сети. Если вам нужно именно это, посмотрите наше сравнение с альтернативами Short.io.

Dub: эталон подхода API-first

Dub — эталон категории по проработке и опыту разработчика: открытое ядро и продукт, построенный вокруг API, а не вокруг панели. Если вам нужен образец того, как в этой области выглядит «хорошо», прочитайте их документацию до того, как писать требования к собственной интеграции.

Стоит внести две поправки, потому что названия сбивают с толку. Dub Partners — это инфраструктура партнёрских программ для клиентов Dub, а не способ перепродавать сам Dub, и white-label в ней появляется на тарифе Advanced за 300 USD в месяц на август 2026 года. Собственная партнёрская схема Dub платит 30 процентов от продажи в течение года — это реферальная договорённость, а не реселлерская модель.

Rebrandly и Replug: API как способ поднять чек

Оба прячут доступ для разработчиков за старшие тарифы, но по-разному. API Replug доступен только на тарифе Agency за 99 USD в месяц, 79 USD при годовой оплате на август 2026 года, — значит, дёшево оценить интеграцию не выйдет. У Rebrandly барьер не один: он разнесён по функциям — deep link появляются только на Growth, пиксели ретаргетинга с Professional, а описанные выше потолки данных о вовлечённости действуют на аналитику независимо от тарифа.

Ни один из подходов не выходит за рамки обычного, и оба рабочие, если вы и так выше порога. Для оценки важна честность бюджета: тариф, нужный вам ради API, и есть тариф, который вы на самом деле покупаете, а не тот, с которого вы начали смотреть сравнительную таблицу.

Размещение у себя и открытый исходный код

Если вам нужен внутренний сокращатель без биллинга и с одним арендатором, самый сильный вариант — Shlink: лицензия MIT, PHP, настоящая архитектура вокруг API и зрелая экосистема клиентов. Заложенные в него допущения вылезают, как только вы пробуете обслуживать других людей. Slug уникальны глобально в пределах инсталляции, а не в пределах домена; роли ключей API и близко не дают настоящей изоляции арендаторов; генерацию QR убрали в пятой версии. Kutt поддерживает смену брендинга через каталог настройки, но заметно замедлился: 16 коммитов за весь 2026 год, ни команд, ни вебхуков, ни мультиарендности. YOURLS по замыслу рассчитан на одного администратора и один домен.

LinkProfit

Наш продукт спроектирован под второй тип покупателя, описанный в начале. Ключи выдаются на рабочее пространство или на партнёра, несут явный список прав, показываются один раз и хранятся хешем SHA-256. Лимит по умолчанию — 600 запросов в минуту для ключа рабочего пространства и 1200 для партнёрского, со скользящим окном, с заголовками X-RateLimit-Limit, X-RateLimit-Remaining и X-RateLimit-Reset в каждом ответе и Retry-After при 429. Пакетное создание принимает до 100 ссылок за вызов. Аналитика полноправна, а не заперта в панели: сводка, временные ряды, разбивки по параметрам и потоковая выгрузка CSV с потолком в 100 000 строк. Вебхуки подписываются и повторяются пять раз примерно за двенадцать часов. Спецификация генерируется из тех же схем, которыми проверяются запросы, поэтому документация не может разойтись с реализацией.

Доступ к API начинается с тарифа Growth — того же, на котором открывается собственный домен панели; полная раскладка на странице тарифов. Честное ограничение первой версии: API отдаётся с общего хоста, поэтому white-label партнёры описывают его клиентам как свой API, но живёт он не на их домене. Это пункт дорожной карты, и мы его не прячем.

Работа с API LinkProfit

Создание ссылки

curl -X POST https://api.linkprofit.com/v1/links \
  -H "Authorization: Bearer lp_live_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/spring-collection",
    "slug": "spring",
    "domain_id": "dom_7Kq2f9",
    "expires_at": "2026-10-01T00:00:00Z"
  }'

Пакетная запись

Пакетный эндпоинт принимает до 100 ссылок за вызов и возвращает результат по каждому элементу, поэтому частичный отказ указывает на сбойную запись, а не отклоняет всю партию.

const response = await fetch('https://api.linkprofit.com/v1/links/bulk', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.LINKPROFIT_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    links: batch.map((row) => ({ url: row.destination, slug: row.code, domain_id: domainId })),
  }),
});

if (response.status === 429) {
  const waitSeconds = Number(response.headers.get('retry-after') ?? '1');
  await new Promise((resolve) => setTimeout(resolve, waitSeconds * 1000));
}

Чтение аналитики обратно

Разбивки принимают параметр измерения, за счёт чего поверхность API остаётся небольшой и предсказуемой, вместо отдельного эндпоинта на каждый график.

curl -G https://api.linkprofit.com/v1/analytics/breakdown \
  -H "Authorization: Bearer lp_live_xxxxxxxxxxxxxxxx" \
  -d dimension=city \
  -d date_from=2026-07-01 \
  -d date_to=2026-07-31

Доступные измерения покрывают страну, город, устройство, браузер, операционную систему, источник перехода и три основных параметра кампании — этого достаточно, чтобы воспроизвести числа панели в собственной отчётности.

Проверка подписи вебхука

События несут заголовок X-LinkProfit-Signature в формате t=timestamp,v1=hex. Подписывается отметка времени, точка и сырое тело запроса, поэтому проверка должна происходить до любого разбора JSON, который может пересобрать тело заново.

import { createHmac, timingSafeEqual } from 'node:crypto';

export function isValidSignature(rawBody, header, secret) {
  const fields = new Map(header.split(',').map((pair) => pair.split('=')));
  const timestamp = Number(fields.get('t'));
  // Reject anything outside a five minute window to limit replay.
  if (!Number.isFinite(timestamp) || Math.abs(Date.now() / 1000 - timestamp) > 300) return false;

  const expected = createHmac('sha256', secret).update(`${timestamp}.${rawBody}`).digest('hex');
  const received = Buffer.from(fields.get('v1') ?? '', 'hex');
  const computed = Buffer.from(expected, 'hex');
  return received.length === computed.length && timingSafeEqual(received, computed);
}

Неудавшиеся доставки повторяются через минуту, пять минут, тридцать минут, два часа и двенадцать часов. После последней попытки эндпоинт помечается неисправным, а владельцу аккаунта уходит письмо, поэтому сломанный приёмник обнаруживается уведомлением, а не пропавшими данными, которые заметят через месяц.

Как оценить API за полдня

  1. Создайте ключ на самом дешёвом тарифе с доступом к API и отметьте, купили бы вы этот тариф, если бы не API.
  2. Создайте, прочитайте, измените и удалите одну ссылку и проверьте, что в ответах есть заголовки лимита запросов.
  3. Намеренно превысьте лимит и убедитесь, что приходит 429 с подсказкой о повторе, а не безликая ошибка.
  4. Отправьте пакетный запрос с одним некорректным адресом и посмотрите, как сообщается о частичном отказе.
  5. Выгрузите разбивку по городам за прошлый месяц и сверьте итоги с панелью.
  6. Зарегистрируйте вебхук на эндпоинт, который просто записывает запросы, вызовите событие, проверьте подпись, затем отключите эндпоинт и понаблюдайте за расписанием повторов.
  7. Запросите документ OpenAPI и сгенерируйте по нему клиента.
  8. Прочитайте политику версионирования и список изменений за последние двенадцать месяцев.

Шаги три, четыре и шесть чаще всего пропускают при оценке — и именно они предсказывают, как интеграция поведёт себя в два часа ночи.

В категории есть настоящая эталонная реализация — Dub, настоящий вариант под объём — Short.io, и длинный хвост продуктов, где API появился ради поднятия чека, а не как цель проектирования. Наш собственный подход — ключи с областью действия, опубликованные лимиты с честными заголовками, аналитика и домены как полноправные ресурсы, спецификация, сгенерированная из схем валидации, — описан на странице возможностей API, а быстрый старт, пагинация, коды ошибок и руководства по вебхукам — в документации.

О чём обычно спрашивают

У какого сокращателя ссылок самый высокий опубликованный лимит запросов?

Самое крупное заявленное число среди массовых поставщиков публикует Short.io: 50 запросов в секунду на любом тарифе, включая бесплатный, а дополнительная ёмкость продаётся блоками по 50 запросов в секунду за 50 USD в месяц — на август 2026 года. Только сравнивать заявленные числа напрямую нельзя: поставщики считают в разных окнах. Потолок в секунду отвергнет всплеск, который скользящее окно в минуту спокойно поглотит, поэтому сверяйте лимит с формой собственного трафика, а не с числом другого поставщика.

Нужен ли мне API вообще, или хватит импорта из CSV?

Разовый перенос отлично делается через CSV. API нужен тогда, когда ссылку создаёт не человек за панелью: инструмент кампаний, который делает по ссылке на каждого получателя; продукт, который сокращает адреса от имени пользователей; планировщик, публикующий посты. Верный признак — объём, растущий вместе с числом ваших клиентов, а не с размером маркетинговой команды, плюс любая потребность забирать данные о кликах в собственную отчётность.

Почему некоторые поставщики прячут API за самый дорогой тариф?

Потому что доступ к API коррелирует с объёмом и с агентским использованием, а значит, хорошо работает как рычаг для поднятия чека. Replug на август 2026 года даёт API только на тарифе Agency за 99 USD в месяц, 79 USD при годовой оплате. Практическое следствие для разработчика — высокая цена самой оценки: проверить интеграцию на дешёвом тарифе до покупки не получится, и это законный повод оставить в коротком списке тех поставщиков, у которых API доступен на начальных тарифах.

Как обрабатывать повторы вебхуков, не создавая дублей?

Исходите из того, что доставка идёт «хотя бы один раз», и делайте приёмник идемпотентным. Сохраняйте идентификатор события из полезной нагрузки и при поступлении сначала проверяйте, не обработали ли вы его раньше, а уже потом беритесь за работу. Подпись проверяйте по сырому телу запроса до разбора, события с отметкой времени за пределами допуска в несколько минут отвергайте, а отвечайте быстро кодом 2xx, отправляя долгую работу в очередь вместо выполнения на месте: со стороны отправителя медленный приёмник неотличим от сломанного.

Может ли сокращатель с открытым исходным кодом заменить коммерческий API?

Для внутреннего инструмента с одним арендатором — да. Самый сильный вариант Shlink: лицензия MIT и настоящая архитектура вокруг API. Пределы проявляются, когда вы обслуживаете других людей: slug уникальны глобально в пределах инсталляции, а не в пределах домена; роли ключей API далеки от настоящей изоляции арендаторов; генерацию QR убрали в пятой версии; биллинга нет вовсе; а сопровождение держится на одном человеке. Kutt и YOURLS от мультиарендного сценария ещё дальше.

Что версионирование API говорит о поставщике?

Больше, чем большинство списков функций. Поставщик, который замораживает версию и выпускает несовместимые изменения только по новому пути, сообщает вам, что у вашей интеграции есть определённый срок жизни. Поставщик с API без версий и списком изменений, полным переименований полей, сообщает, что сопровождение — на вас. Спрашивайте, какова политика вывода из эксплуатации, как долго старые версии обслуживаются после выхода преемника и есть ли машиночитаемая спецификация, по которой можно сгенерировать клиента.