REST API
Twórz krótkie linki, odczytuj statystyki kliknięć i generuj kody QR z własnego kodu. JSON przez HTTPS i jeden nagłówek do autoryzacji.
- Podstawowy URL
- https://urlik.xyz/api/
- Autoryzacja
- X-Api-Key
- Format
- JSON · UTF-8
- Metody
- 10
- Webhooks
- Webhooks
Szybki start
Twój pierwszy krótki link w jednym żądaniu.
Uzyskaj klucz
Utwórz go w swoim koncie w sekcji API. Klucze mogą być ograniczone do określonych zakresów.
Wyślij żądanie
POST długi URL z nagłówkiem X-Api-Key oraz aliasem, jeśli chcesz.
Użyj wyniku
return.url to krótki link, return.qr to jego kod QR, a return.stats to publiczna strona statystyk.
Twoje pierwsze zapytanie
curl -X POST https://urlik.xyz/api/getLink.json \ -H "X-Api-Key: $URLIK_KEY" \ -d "url=https://example.com/spring-sale" \ -d "alias=spring" \ -d "mode=redirect"
const res = await fetch("https://urlik.xyz/api/getLink.json", {
method: "POST",
headers: { "X-Api-Key": process.env.URLIK_KEY },
body: new URLSearchParams({ url: "https://example.com/spring-sale", alias: "spring" })
});
const data = await res.json();
console.log(data.return.url); // https://urlik.xyz/spring$ch = curl_init("https://urlik.xyz/api/getLink.json");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ["X-Api-Key: " . getenv("URLIK_KEY")],
CURLOPT_POSTFIELDS => ["url" => "https://example.com/spring-sale", "alias" => "spring"],
CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
echo $data["return"]["url"]; // https://urlik.xyz/springimport os, requests
r = requests.post(
"https://urlik.xyz/api/getLink.json",
headers={"X-Api-Key": os.environ["URLIK_KEY"]},
data={"url": "https://example.com/spring-sale", "alias": "spring"},
)
print(r.json()["return"]["url"]) # https://urlik.xyz/spring{
"status": "success",
"return": {
"hex": "spring",
"url": "https://urlik.xyz/spring",
"qr": "https://urlik.xyz/qr/spring.png",
"stats": "https://urlik.xyz/spring+",
"mode": "redirect"
}
}Autoryzacja
Wyślij swój klucz w nagłówku X-Api-Key. Podstawowe skracanie działa bez klucza; linki utworzone z kluczem należą do Twojego konta.
Format odpowiedzi
Każda metoda odpowiada w formacie JSON: status to sukces lub błąd, wiadomość wyjaśnia błąd, zwrot zawiera dane.
{ "status": "success", "message": "...", "return": { ... } }Linki
POST/api/getLink.jsonUtwórz krótki linkKlucz opcjonalny
| Parametr | Wymagany | Opis |
|---|---|---|
url | wymagany | Docelowy URL, http lub https |
alias | opcjonalny | Niestandardowy kod, 2–32 znaki: litery, cyfry, _ i - |
mode | opcjonalny | przekierowanie (domyślnie), podgląd lub ramka |
expire | opcjonalny | Czas życia w sekundach, 0 oznacza brak wygaśnięcia |
password | opcjonalny | Hasło, które odwiedzający musi wprowadzić, aby kontynuować |
curl -X POST https://urlik.xyz/api/getLink.json -H "X-Api-Key: $URLIK_KEY" \ -d "url=https://example.com/spring-sale"
const res = await fetch("https://urlik.xyz/api/getLink.json", {
method: "POST",
headers: { "X-Api-Key": process.env.URLIK_KEY },
body: new URLSearchParams({ url: "https://example.com/spring-sale" })
});
console.log(await res.json());$ch = curl_init("https://urlik.xyz/api/getLink.json");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ["X-Api-Key: " . getenv("URLIK_KEY")],
CURLOPT_POSTFIELDS => ["url" => "https://example.com/spring-sale"],
CURLOPT_RETURNTRANSFER => true,
]);
print_r(json_decode(curl_exec($ch), true));import os, requests
r = requests.post(
"https://urlik.xyz/api/getLink.json",
headers={"X-Api-Key": os.environ["URLIK_KEY"]},
data={"url": "https://example.com/spring-sale"},
)
print(r.json())POST/api/stats.jsonStatystyki linków: kliknięcia według dnia, źródła, urządzenia i przeglądarkiKlucz opcjonalny
| Parametr | Wymagany | Opis |
|---|---|---|
code | wymagany | Krótki kod linku |
curl -X POST https://urlik.xyz/api/stats.json -H "X-Api-Key: $URLIK_KEY" \ -d "code=spring"
const res = await fetch("https://urlik.xyz/api/stats.json", {
method: "POST",
headers: { "X-Api-Key": process.env.URLIK_KEY },
body: new URLSearchParams({ code: "spring" })
});
console.log(await res.json());$ch = curl_init("https://urlik.xyz/api/stats.json");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ["X-Api-Key: " . getenv("URLIK_KEY")],
CURLOPT_POSTFIELDS => ["code" => "spring"],
CURLOPT_RETURNTRANSFER => true,
]);
print_r(json_decode(curl_exec($ch), true));import os, requests
r = requests.post(
"https://urlik.xyz/api/stats.json",
headers={"X-Api-Key": os.environ["URLIK_KEY"]},
data={"code": "spring"},
)
print(r.json())POST/api/links.jsonLista Twoich linkówWymagany klucz
Brak parametrów: klucz identyfikuje Twoje konto.
curl -X POST https://urlik.xyz/api/links.json -H "X-Api-Key: $URLIK_KEY"
const res = await fetch("https://urlik.xyz/api/links.json", {
method: "POST",
headers: { "X-Api-Key": process.env.URLIK_KEY },
body: new URLSearchParams({ })
});
console.log(await res.json());$ch = curl_init("https://urlik.xyz/api/links.json");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ["X-Api-Key: " . getenv("URLIK_KEY")],
CURLOPT_POSTFIELDS => [],
CURLOPT_RETURNTRANSFER => true,
]);
print_r(json_decode(curl_exec($ch), true));import os, requests
r = requests.post(
"https://urlik.xyz/api/links.json",
headers={"X-Api-Key": os.environ["URLIK_KEY"]},
data={},
)
print(r.json())POST/api/update.jsonZmień linkWymagany klucz
| Parametr | Wymagany | Opis |
|---|---|---|
code | wymagany | Krótki kod linku |
url, mode, expire, password | opcjonalny | Nowe wartości pól, które chcesz zmienić |
curl -X POST https://urlik.xyz/api/update.json -H "X-Api-Key: $URLIK_KEY" \ -d "code=spring"
const res = await fetch("https://urlik.xyz/api/update.json", {
method: "POST",
headers: { "X-Api-Key": process.env.URLIK_KEY },
body: new URLSearchParams({ code: "spring" })
});
console.log(await res.json());$ch = curl_init("https://urlik.xyz/api/update.json");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ["X-Api-Key: " . getenv("URLIK_KEY")],
CURLOPT_POSTFIELDS => ["code" => "spring"],
CURLOPT_RETURNTRANSFER => true,
]);
print_r(json_decode(curl_exec($ch), true));import os, requests
r = requests.post(
"https://urlik.xyz/api/update.json",
headers={"X-Api-Key": os.environ["URLIK_KEY"]},
data={"code": "spring"},
)
print(r.json())POST/api/delete.jsonUsuń linkWymagany klucz
| Parametr | Wymagany | Opis |
|---|---|---|
code | wymagany | Krótki kod linku |
curl -X POST https://urlik.xyz/api/delete.json -H "X-Api-Key: $URLIK_KEY" \ -d "code=spring"
const res = await fetch("https://urlik.xyz/api/delete.json", {
method: "POST",
headers: { "X-Api-Key": process.env.URLIK_KEY },
body: new URLSearchParams({ code: "spring" })
});
console.log(await res.json());$ch = curl_init("https://urlik.xyz/api/delete.json");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ["X-Api-Key: " . getenv("URLIK_KEY")],
CURLOPT_POSTFIELDS => ["code" => "spring"],
CURLOPT_RETURNTRANSFER => true,
]);
print_r(json_decode(curl_exec($ch), true));import os, requests
r = requests.post(
"https://urlik.xyz/api/delete.json",
headers={"X-Api-Key": os.environ["URLIK_KEY"]},
data={"code": "spring"},
)
print(r.json())Media, QR i tymczasowa poczta
Te metody wymagają nagłówka X-Api-Key lub wywołania przez RapidAPI.
GET/api/download.jsonPobierz wideo lub zdjęcie z 1000+ stron: formaty z podpisanymi linkami do pobraniaWymagany klucz
| Parametr | Wymagany | Opis |
|---|---|---|
url | wymagany | Adres strony z wideo lub zdjęciem |
curl -H "X-Api-Key: $URLIK_KEY" "https://urlik.xyz/api/download.json?url=https%3A%2F%2Fexample.com%2Fspring-sale"
const res = await fetch("https://urlik.xyz/api/download.json?" + new URLSearchParams({ url: "https://example.com/spring-sale" }), {
headers: { "X-Api-Key": process.env.URLIK_KEY }
});
console.log(await res.json());$ch = curl_init("https://urlik.xyz/api/download.json?" . http_build_query(["url" => "https://example.com/spring-sale"]));
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => ["X-Api-Key: " . getenv("URLIK_KEY")],
CURLOPT_RETURNTRANSFER => true,
]);
print_r(json_decode(curl_exec($ch), true));import os, requests
r = requests.get(
"https://urlik.xyz/api/download.json",
headers={"X-Api-Key": os.environ["URLIK_KEY"]},
params={"url": "https://example.com/spring-sale"},
)
print(r.json())GET/api/qr.jsonGeneruj kod QR w formacie PNG lub SVGWymagany klucz
| Parametr | Wymagany | Opis |
|---|---|---|
data | wymagany | Tekst lub adres do zakodowania |
format | opcjonalny | png lub svg |
fg, bg | opcjonalny | Kolor pierwszoplanowy i tła, hex |
ecc | opcjonalny | Korekcja błędów: L, M, Q lub H |
size | opcjonalny | Rozmiar obrazu w pikselach |
curl -H "X-Api-Key: $URLIK_KEY" "https://urlik.xyz/api/qr.json?data=https%3A%2F%2Furlik.xyz"
const res = await fetch("https://urlik.xyz/api/qr.json?" + new URLSearchParams({ data: "https://urlik.xyz" }), {
headers: { "X-Api-Key": process.env.URLIK_KEY }
});
console.log(await res.json());$ch = curl_init("https://urlik.xyz/api/qr.json?" . http_build_query(["data" => "https://urlik.xyz"]));
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => ["X-Api-Key: " . getenv("URLIK_KEY")],
CURLOPT_RETURNTRANSFER => true,
]);
print_r(json_decode(curl_exec($ch), true));import os, requests
r = requests.get(
"https://urlik.xyz/api/qr.json",
headers={"X-Api-Key": os.environ["URLIK_KEY"]},
params={"data": "https://urlik.xyz"},
)
print(r.json())GET/api/mailbox.jsonUzyskaj lub utwórz tymczasowy adresWymagany klucz
| Parametr | Wymagany | Opis |
|---|---|---|
address | username | opcjonalny | Tymczasowy adres lub nazwa dla nowego; pusty tworzy losowy adres |
curl -H "X-Api-Key: $URLIK_KEY" "https://urlik.xyz/api/mailbox.json?address=demo%40example.com"
const res = await fetch("https://urlik.xyz/api/mailbox.json?" + new URLSearchParams({ address: "[email protected]" }), {
headers: { "X-Api-Key": process.env.URLIK_KEY }
});
console.log(await res.json());$ch = curl_init("https://urlik.xyz/api/mailbox.json?" . http_build_query(["address" => "[email protected]"]));
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => ["X-Api-Key: " . getenv("URLIK_KEY")],
CURLOPT_RETURNTRANSFER => true,
]);
print_r(json_decode(curl_exec($ch), true));import os, requests
r = requests.get(
"https://urlik.xyz/api/mailbox.json",
headers={"X-Api-Key": os.environ["URLIK_KEY"]},
params={"address": "[email protected]"},
)
print(r.json())GET/api/messages.jsonLista wiadomości w tymczasowej skrzynce odbiorczejWymagany klucz
| Parametr | Wymagany | Opis |
|---|---|---|
address | wymagany | Tymczasowy adres |
curl -H "X-Api-Key: $URLIK_KEY" "https://urlik.xyz/api/messages.json?address=demo%40example.com"
const res = await fetch("https://urlik.xyz/api/messages.json?" + new URLSearchParams({ address: "[email protected]" }), {
headers: { "X-Api-Key": process.env.URLIK_KEY }
});
console.log(await res.json());$ch = curl_init("https://urlik.xyz/api/messages.json?" . http_build_query(["address" => "[email protected]"]));
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => ["X-Api-Key: " . getenv("URLIK_KEY")],
CURLOPT_RETURNTRANSFER => true,
]);
print_r(json_decode(curl_exec($ch), true));import os, requests
r = requests.get(
"https://urlik.xyz/api/messages.json",
headers={"X-Api-Key": os.environ["URLIK_KEY"]},
params={"address": "[email protected]"},
)
print(r.json())GET/api/message.jsonPrzeczytaj pojedynczą wiadomośćWymagany klucz
| Parametr | Wymagany | Opis |
|---|---|---|
address | wymagany | Tymczasowy adres |
id | wymagany | Id wiadomości z listy skrzynki odbiorczej |
curl -H "X-Api-Key: $URLIK_KEY" "https://urlik.xyz/api/message.json?address=demo%40example.com&id=1"
const res = await fetch("https://urlik.xyz/api/message.json?" + new URLSearchParams({ address: "[email protected]", id: "1" }), {
headers: { "X-Api-Key": process.env.URLIK_KEY }
});
console.log(await res.json());$ch = curl_init("https://urlik.xyz/api/message.json?" . http_build_query(["address" => "[email protected]", "id" => "1"]));
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => ["X-Api-Key: " . getenv("URLIK_KEY")],
CURLOPT_RETURNTRANSFER => true,
]);
print_r(json_decode(curl_exec($ch), true));import os, requests
r = requests.get(
"https://urlik.xyz/api/message.json",
headers={"X-Api-Key": os.environ["URLIK_KEY"]},
params={"address": "[email protected]", "id": "1"},
)
print(r.json())Nic nie znaleziono
Brak metody odpowiadającej temu wyszukiwaniu. Spróbuj ścieżki takiej jak qr lub stats.
Wypróbuj na żywo
Zbadaj i wywołaj każdy punkt końcowy tutaj. Wklej swój klucz API za pomocą przycisku Autoryzuj, aby wykonać uwierzytelnione żądania.
Osadź skracacz
Umieść ten fragment na dowolnej stronie, aby dodać działający skracacz URL z linkiem do urlik.xyz:
<iframe src="https://urlik.xyz/embed" style="width:100%;max-width:520px;height:150px;border:0" title="URL shortener by urlik.xyz" loading="lazy"></iframe>
Proste API REST do krótkich linków
Urlik REST API pozwala na tworzenie, odczytywanie, aktualizowanie i usuwanie krótkich linków z własnego kodu oraz pobieranie statystyk kliknięć w formacie JSON. To proste API HTTPS — wysyłasz żądanie POST, otrzymujesz przewidywalną odpowiedź JSON — więc działa z dowolnym językiem lub platformą.
Podstawowe skracanie nie wymaga poświadczeń. Aby przypisać linki do swojego konta i zarządzać nimi później, wyślij swój klucz w nagłówku X-Api-Key, który znajdziesz w swoim koncie. Odpowiedzi zawsze mają ten sam status, wiadomość i kształt zwrotu pokazany poniżej.
Czy potrzebuję klucza API?
Nie dla podstawowego skracania — możesz stworzyć link anonimowo. Klucz, który znajdziesz w swoim koncie, łączy linki z Tobą i jest wymagany do ich wyświetlania, aktualizowania lub usuwania.
W jakim formacie są odpowiedzi?
Każdy punkt końcowy zwraca JSON z statusem, wiadomością w formacie czytelnym dla człowieka i obiektem zwracającym dane, więc parsowanie jest spójne w różnych wywołaniach.
Czy istnieje limit szybkości?
Tak, żądania są ograniczone na użytkownika, aby utrzymać usługę szybką i sprawiedliwą. Uwierzytelnione klucze mają wyższy limit niż ruch anonimowy.
Czy mogę z tego korzystać z dowolnego języka?
Tak. To standardowe API JSON HTTPS, więc wszystko, co może wysłać żądanie POST — curl, Python, PHP, JavaScript lub Go — może z tego korzystać.
Urlik łączy zestaw szybkich, przyjaznych dla prywatności narzędzi internetowych w jednym miejscu, dzięki czemu możesz obsługiwać codzienne zadania związane z linkami bez żonglowania oddzielnymi usługami lub zakładania kont. Niezależnie od tego, czy udostępniasz kampanię, zbierasz płatność, weryfikujesz rejestrację czy wysyłasz poufny plik, jest dedykowane, darmowe narzędzie gotowe do pracy.
Na co odpowiada ta strona
- API skracacza linków
- szczegóły API skracacza linków
- API skracacza linków 2026
- API skracacza linków na urlik.xyz
- co zawiera API skracacza linków
- API skracacza linków wyjaśnione
- pytania i odpowiedzi o API skracacza linków
- API skracacza linków w prostym języku
- co warto wiedzieć o API skracacza linków
- API skracacza linków online
- jak działa API skracacza linków
- gdzie znaleźć API skracacza linków