API документация

Short.bg API

API-то позволява на регистрирани потребители да създават кратки линкове през външни приложения, интеграции и браузър разширения. За заявки е нужен API ключ от вашия профил.

Регистрация Вземи API ключ

Удостоверяване

Изпращайте API ключа като Bearer token в HTTP header-а Authorization. Ключът се генерира от потребителското табло и може да бъде сменен по всяко време.

POST https://short.bg/api/ext/verify

Проверява дали API ключът е валиден.

POST https://short.bg/api/ext/shorten

Създава кратък линк за потребителя, към когото принадлежи ключът.

Параметри за създаване на линк

Поле Тип Описание
original_url задължително Публичен HTTP/HTTPS URL адрес до 2048 символа.
custom_slug по избор Персонален код: 3-10 символа, само латински букви и цифри.
expires_at по избор Дата и час на изтичане в бъдещето.
password по избор Парола за защитен линк, минимум 6 символа.

Отговор при успех

{
  "short_url": "https://short.bg/AbC1",
  "slug": "AbC1",
  "qr_code_url": "https://api.qrserver.com/v1/create-qr-code/?size=180x180&data=..."
}

PHP пример

$token = 'YOUR_API_KEY';

$response = Http::withToken($token)
    ->acceptJson()
    ->post('https://short.bg/api/ext/shorten', [
        'original_url' => 'https://example.com/very/long/link',
        'custom_slug' => 'promo2026',
    ]);

echo $response->json('short_url');

JavaScript пример

const token = 'YOUR_API_KEY';

const response = await fetch('https://short.bg/api/ext/shorten', {
  method: 'POST',
  headers: {
    Accept: 'application/json',
    Authorization: `Bearer ${token}`
  },
  body: new URLSearchParams({
    original_url: 'https://example.com/very/long/link',
    custom_slug: 'promo2026'
  })
});

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

Python пример

import requests

token = 'YOUR_API_KEY'

response = requests.post(
    'https://short.bg/api/ext/shorten',
    headers={
        'Accept': 'application/json',
        'Authorization': f'Bearer {token}',
    },
    data={
        'original_url': 'https://example.com/very/long/link',
        'custom_slug': 'promo2026',
    },
    timeout=10,
)

response.raise_for_status()
print(response.json()['short_url'])

Грешки

При невалиден API ключ API-то връща 401. При невалидни данни връща 422 с обект errors, който съдържа съобщенията за всяко поле.