Бесплатный API сокращателя ссылок позволяет создавать короткие ссылки из кода вместо кликов по дашборду. Отправьте запрос с целевым URL - получите в ответ короткую ссылку, которая перенаправляет на него. В этом материале есть рабочие примеры на curl, JavaScript, Python и Go для API Elido, который доступен на бесплатном тарифе, а также честная часть, которую пропускает большинство подборок: что на самом деле скрывает слово "бесплатно".
Если вы вообще никогда не сокращали ссылку, материал как сократить URL сначала разбирает ручную версию. Всё ниже предполагает, что вы хотите делать это программно.
Что делает API сокращателя
По сути API - это четыре операции над ресурсом-ссылкой: создание, чтение, обновление, удаление. Вы создаёте ссылку, отправляя целевой URL, а сервис возвращает короткий URL, который разрешается в другом месте.
Одна вещь, которая сбивает людей с толку: хост API и хост редиректа - разные. API Elido находится на https://api.elido.app/v1, а сами короткие ссылки разрешаются на редирект-домене вроде s.elido.me. Вы общаетесь с API для управления ссылками; ваши пользователи всегда попадают только на редирект-домен. Разделение этих двух вещей позволяет пути редиректа оставаться быстрым, пока API выполняет более тяжёлую работу.
Сначала аутентификация
Каждый настоящий запрос несёт bearer-токен в заголовке Authorization. Вы генерируете токен в настройках рабочего пространства, сохраняете его как переменную окружения и никогда не помещаете в клиентский код, потому что любой, у кого есть токен, может создавать ссылки в вашем аккаунте.
export ELIDO_TOKEN="your_token_here"
Это вся модель аутентификации: один заголовок, Authorization: Bearer $ELIDO_TOKEN, при каждом вызове. API, которые полностью пропускают этот шаг, удобны для одноразового скрипта, но за ссылками нет аккаунта, так что вы не сможете просматривать, редактировать или измерять их позже.
Создание короткой ссылки
Вот один и тот же вызов создания на четырёх языках. Каждый отправляет целевой URL и печатает короткий URL из ответа.
curl -X POST https://api.elido.app/v1/links \
-H "Authorization: Bearer $ELIDO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"destination_url": "https://example.com/spring-sale"}'
Ответ представляет собой JSON:
{
"id": "lnk_9aF2xK",
"short_url": "https://s.elido.me/abc123",
"destination_url": "https://example.com/spring-sale"
}
JavaScript, с использованием встроенного fetch:
const res = await fetch("https://api.elido.app/v1/links", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.ELIDO_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ destination_url: "https://example.com/spring-sale" }),
});
const link = await res.json();
console.log(link.short_url); // https://s.elido.me/abc123
Python, с requests:
import os
import requests
res = requests.post(
"https://api.elido.app/v1/links",
headers={"Authorization": f"Bearer {os.environ['ELIDO_TOKEN']}"},
json={"destination_url": "https://example.com/spring-sale"},
)
print(res.json()["short_url"]) # https://s.elido.me/abc123
Go, со стандартной библиотекой:
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
"os"
)
func main() {
body, _ := json.Marshal(map[string]string{
"destination_url": "https://example.com/spring-sale",
})
req, _ := http.NewRequest("POST", "https://api.elido.app/v1/links", bytes.NewReader(body))
req.Header.Set("Authorization", "Bearer "+os.Getenv("ELIDO_TOKEN"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
var link struct {
ShortURL string `json:"short_url"`
}
json.NewDecoder(res.Body).Decode(&link)
fmt.Println(link.ShortURL) // https://s.elido.me/abc123
}
Добавляйте опциональные поля в тело запроса по мере необходимости: slug для кастомной второй части ссылки, tags для организации, domain для выбора брендированного кастомного домена или expires_at для ссылки, которая перестаёт работать после определённой даты.
Что на самом деле скрыто за словом "бесплатно"
Именно здесь кроется честное сравнение, потому что "бесплатный API" охватывает две очень разные вещи.
Эндпоинты без регистрации и без аутентификации, те, что сокращают URL одним неаутентифицированным POST-запросом, действительно бесплатны и действительно ограничены. Общие лимиты запросов, отсутствие аккаунта, отсутствие брендированного домена, отсутствие аналитики и никакой гарантии, что сервис будет существовать в следующем квартале. Подходит для разового скрипта, рискованно для всего, что вы выпускаете в продакшен.
Аутентифицированный бесплатный тариф - более полезный вариант, и там ограничения предсказуемы. Функции, которые чаще всего резервируются для платных тарифов, - это брендированные кастомные домены, высокий объём запросов, более длительное хранение аналитики и эндпоинты для массовых операций. На бесплатном тарифе Elido сам API включён, ссылки разрешаются и отслеживаются, а лимиты привязаны к рабочему пространству, а не разделены с незнакомцами. О том, как сравниваются платные инструменты в этом плане, рассказывает материал Dub против Bitly, который разбирает два самых известных API, а вы можете начать с бесплатного тарифа, чтобы попробовать API Elido.
Практическое правило: если ссылка одноразовая, подойдёт API без аутентификации. Если она несёт ваш бренд или вам нужно её измерять, используйте аутентифицированный API с доменом под вашим контролем.
Лимиты запросов и идемпотентность
Число, которое на самом деле защищает вас в продакшене, - это не лимит запросов, это идемпотентность.
Каждый изменяющий запрос принимает заголовок Idempotency-Key. Отправьте уникальный ключ с вызовом создания, и если запрос завершится по тайм-ауту, а вы повторите его с тем же ключом, сервер вернёт исходный результат вместо создания второй ссылки. Именно это делает цикл повторных попыток безопасным.
curl -X POST https://api.elido.app/v1/links \
-H "Authorization: Bearer $ELIDO_TOKEN" \
-H "Idempotency-Key: spring-sale-2026-04-01" \
-H "Content-Type: application/json" \
-d '{"destination_url": "https://example.com/spring-sale"}'
Идемпотентность - это свойство семантики HTTP-методов в RFC 9110, и любой API, на который вы полагаетесь для автоматизированного создания ссылок, должен её поддерживать. Более глубокий разбор - какие коды состояния стоит повторять и как соблюдать темп относительно лимита - в материале лимиты запросов, повторы и идемпотентность в продакшене.
SDK или голый HTTP?
Вам не нужно писать запросы вручную. Elido публикует SDK, сгенерированные из своей OpenAPI-спецификации, для TypeScript, Python, Go и других языков, а материал быстрый старт с API и SDK разбирает их установку и использование.
Используйте SDK, когда хотите, чтобы типы, повторы и пагинация обрабатывались за вас. Используйте голый HTTP, как в примерах выше, когда хотите нулевых зависимостей или обращаетесь из языка без официального клиента. Оба варианта обращаются к одному и тому же REST API; SDK - это просто более тонкий путь к нему.
Похожие материалы в блоге
Частые вопросы
Существует ли бесплатный API для сокращения ссылок?
Да. Несколько сокращателей предоставляют бесплатный API, включая Elido, чей API доступен на бесплатном тарифе. Важные различия - это наличие аутентификации, собственного брендированного домена, разумных лимитов запросов и аналитики, или же просто голого эндпоинта для сокращения. API без регистрации подойдёт для скрипта; продакшену нужны аутентификация, домен под вашим контролем и стабильная работа.
Как сократить URL с помощью API?
Отправьте аутентифицированный POST-запрос с целевым URL в теле запроса. Для Elido это POST https://api.elido.app/v1/links с bearer-токеном авторизации и JSON-телом вида {"destination_url": "..."}. В ответе возвращается короткий URL, который разрешается на редирект-домене. Примеры на curl, JavaScript, Python и Go в этом материале делают именно это.
Нужен ли мне API-ключ для сокращения URL?
Для чего-то реального - да. Некоторые бесплатные API вообще пропускают аутентификацию, что удобно, но означает отсутствие аккаунта, управления ссылками, аналитики и общие лимиты запросов со всеми остальными, кто обращается к тому же эндпоинту. API-ключ или bearer-токен привязывают ссылки к вашему рабочему пространству, так что вы можете их просматривать, редактировать и измерять, а ваш лимит запросов принадлежит только вам.
Какие типичные лимиты запросов у бесплатного API сокращателя ссылок?
Они сильно варьируются - от примерно 100 запросов в час на публичных эндпоинтах без аутентификации до лимитов token-bucket в рамках рабочего пространства на аутентифицированных API. Важнее самого числа - поддерживает ли API ключи идемпотентности, чтобы повторный запрос после тайм-аута не создавал дублирующую ссылку. Безопасность при повторе важнее высокого сырого потолка.
Могу ли я использовать бесплатный API сокращателя со своим доменом?
На некоторых тарифах - да. Брендированный кастомный домен - функция, которую чаще всего скрывают за платным тарифом, потому что она связана с обработкой DNS и сертификатов. Проверьте, позволяет ли бесплатный тариф указать хотя бы один кастомный домен, или бесплатные ссылки привязаны к общему домену провайдера. Если брендированная ссылка важна, подтвердите это до начала разработки.
Попробуйте Elido
Вставьте URL - получите короткую ссылку
Без регистрации. Ссылка живёт 30 дней. Зарегистрируйтесь, чтобы оставить её навсегда.
Бесплатно, без регистрации · 2 в день