Darmowe API skracacza URL pozwala tworzyć krótkie linki z poziomu kodu zamiast klikania w panelu. Wysyłasz żądanie z docelowym adresem URL, dostajesz z powrotem krótki link, który do niego przekierowuje. Ten wpis zawiera uruchamialne przykłady w curl, JavaScript, Python i Go dla API Elido, dostępnego na darmowym planie, a także szczerą część, którą większość list pomija: co "darmowe" faktycznie blokuje.
Jeśli nigdy wcześniej nie skracałeś linku, jak skrócić adres URL omawia najpierw wersję ręczną. Wszystko poniżej zakłada, że chcesz to robić programistycznie.
Co robi API skracacza
W swojej istocie API to cztery operacje na zasobie linku: tworzenie, odczyt, aktualizacja, usunięcie. Tworzysz link, wysyłając docelowy adres URL, a usługa zwraca krótki adres URL, który rozwiązuje się gdzie indziej.
Jedna rzecz, która myli ludzi: host API i host przekierowania to różne rzeczy. API Elido znajduje się pod https://api.elido.app/v1, podczas gdy same krótkie linki rozwiązują się na domenie przekierowania, takiej jak s.elido.me. Rozmawiasz z API, aby zarządzać linkami; Twoi użytkownicy trafiają wyłącznie w domenę przekierowania. Utrzymywanie tych dwóch rzeczy osobno to właśnie to, co pozwala ścieżce przekierowania pozostać szybką, podczas gdy API wykonuje cięższą pracę.
Najpierw się uwierzytelnij
Każde prawdziwe żądanie niesie token bearer w nagłówku Authorization. Generujesz token w ustawieniach workspace'u, przechowujesz go jako zmienną środowiskową i nigdy nie umieszczasz go w kodzie po stronie klienta, ponieważ każdy, kto ma token, może tworzyć linki na Twoim koncie.
export ELIDO_TOKEN="your_token_here"
To cały model uwierzytelniania: jeden nagłówek, Authorization: Bearer $ELIDO_TOKEN, przy każdym wywołaniu. API, które całkowicie pomijają ten krok, są wygodne do jednorazowego skryptu, ale za linkami nie stoi żadne konto, więc nie możesz ich później listować, edytować ani mierzyć.
Utwórz krótki link
Oto to samo wywołanie tworzące w czterech językach. Każde wysyła docelowy adres URL i wypisuje krótki adres URL z odpowiedzi.
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"}'
Odpowiedź to JSON:
{
"id": "lnk_9aF2xK",
"short_url": "https://s.elido.me/abc123",
"destination_url": "https://example.com/spring-sale"
}
JavaScript, przy użyciu wbudowanego 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, z 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, z biblioteką standardową:
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
}
Dodaj opcjonalne pola do treści, gdy ich potrzebujesz: slug na własną końcówkę, tags do organizacji, domain, aby wybrać brandowaną własną domenę, lub expires_at dla linku, który przestaje działać po określonej dacie.
Co faktycznie blokuje "darmowe"
Tu tkwi szczere porównanie, ponieważ "darmowe API" obejmuje dwie bardzo różne rzeczy.
Endpointy bez rejestracji i bez uwierzytelniania, te, które skracają adres URL za pomocą pojedynczego nieuwierzytelnionego POST, są naprawdę darmowe i naprawdę ograniczone. Współdzielone limity zapytań, brak konta, brak brandowanej domeny, brak analityki i brak obietnicy, że usługa będzie istnieć w przyszłym kwartale. W porządku do jednorazowego skryptu, ryzykowne dla wszystkiego, co wdrażasz.
Uwierzytelniony darmowy plan jest bardziej użytecznym rodzajem, a tam blokowanie jest przewidywalne. Funkcje najczęściej zarezerwowane dla planów płatnych to brandowane własne domeny, wysoki wolumen zapytań, dłuższa retencja analityki i endpointy masowe. Na darmowym planie Elido samo API jest zawarte, linki rozwiązują się i są śledzone, a limity są w zakresie workspace'u, a nie współdzielone z obcymi. Aby zobaczyć, jak porównują się pod tym względem płatne narzędzia, Dub vs Bitly omawia dwa z najbardziej znanych API, a Ty możesz zacząć na darmowym planie, aby wypróbować API Elido.
Zasada praktyczna: jeśli link jest jednorazowy, API bez uwierzytelniania jest w porządku. Jeśli niesie Twoją markę albo musisz go mierzyć, użyj uwierzytelnionego API z domeną, którą kontrolujesz.
Limity zapytań i idempotencja
Liczba, która faktycznie chroni Cię na produkcji, to nie limit zapytań, tylko idempotencja.
Każde żądanie mutujące akceptuje nagłówek Idempotency-Key. Wyślij unikalny klucz przy wywołaniu tworzącym, a jeśli żądanie przekroczy limit czasu i ponowisz je z tym samym kluczem, serwer zwróci oryginalny wynik zamiast utworzyć drugi link. To właśnie sprawia, że pętla ponawiania jest bezpieczna.
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"}'
Idempotencja jest właściwością semantyki metod HTTP w RFC 9110, a każde API, na którym polegasz przy automatycznym tworzeniu linków, powinno ją obsługiwać. Głębsze omówienie, które kody statusu ponawiać i jak dostosować tempo do limitu, znajdziesz w limitach zapytań, ponawianiach i idempotencji na produkcji.
SDK czy surowe HTTP?
Nie musisz ręcznie tworzyć żądań. Elido publikuje SDK generowane ze swojej specyfikacji OpenAPI dla TypeScript, Python, Go i innych, a szybki start API i SDK przeprowadza przez ich instalację i wywoływanie.
Użyj SDK, gdy chcesz, aby typy, ponawianie i paginacja były obsłużone za Ciebie. Użyj surowego HTTP, jak w przykładach powyżej, gdy chcesz zero zależności lub wywołujesz z języka bez oficjalnego klienta. Oba trafiają w to samo REST API; SDK to po prostu cieńsza ścieżka do niego.
Powiązane wpisy na blogu
Najczęściej zadawane pytania
Czy istnieje darmowe API skracacza URL?
Tak. Kilka skracaczy udostępnia darmowe API, w tym Elido, którego API jest dostępne na darmowym planie. Różnice, które mają znaczenie, to czy dostajesz uwierzytelnianie, własną brandowaną domenę, sensowne limity zapytań i analitykę, czy tylko goły endpoint do skracania. API bez rejestracji-zabawka jest w porządku do skryptu; produkcja potrzebuje uwierzytelniania, domeny, którą kontrolujesz, i dostępności.
Jak skrócić adres URL za pomocą API?
Wyślij uwierzytelnione żądanie POST z docelowym adresem URL w treści. W przypadku Elido to POST https://api.elido.app/v1/links z tokenem bearer w nagłówku Authorization i treścią JSON {"destination_url": "..."}. Odpowiedź zwraca krótki adres URL, który rozwiązuje się na domenie przekierowania. Przykłady curl, JavaScript, Python i Go w tym wpisie robią dokładnie to.
Czy potrzebuję klucza API, aby skracać adresy URL?
Do czegokolwiek prawdziwego - tak. Niektóre darmowe API całkowicie pomijają uwierzytelnianie, co jest wygodne, ale oznacza brak konta, brak zarządzania linkami, brak analityki i limity zapytań współdzielone z każdym innym, kto trafia w ten sam endpoint. Klucz API lub token bearer przypisuje linki do Twojego workspace'u, więc możesz je listować, edytować i mierzyć, a Twój limit zapytań należy tylko do Ciebie.
Jakie są typowe limity zapytań na darmowym API skracacza URL?
Różnią się bardzo szeroko, od około 100 zapytań na godzinę na publicznych endpointach bez uwierzytelniania, po limity token-bucket w zakresie workspace'u na uwierzytelnionych API. Ważniejsze od samej liczby jest to, czy API obsługuje klucze idempotencji, dzięki czemu ponowione żądanie po przekroczeniu limitu czasu nie tworzy duplikatu linku. Bezpieczeństwo przy ponawianiu bije wysoki surowy pułap.
Czy mogę używać darmowego API skracacza z własną domeną?
Na niektórych planach. Brandowana własna domena to funkcja najczęściej blokowana za planem płatnym, ponieważ wiąże się z obsługą DNS i certyfikatów. Sprawdź, czy darmowy plan pozwala skierować przynajmniej jedną własną domenę, czy też darmowe linki są zablokowane do współdzielonej domeny dostawcy. Jeśli brandowany link ma znaczenie, potwierdź to, zanim zaczniesz budować.
Wypróbuj Elido
Wklej URL, otrzymaj krótki link
Bez rejestracji. Link działa 30 dni. Zarejestruj się, aby zachować go na zawsze.
Za darmo, bez rejestracji · 2 dziennie