API-Dokumentation
URLs kürzen, Analysen abrufen und Links programmatisch verwalten. Alle Endpunkte geben JSON zurück und erfordern ein Bearer-Token.
https://urlly.me/api/v1
Authentifizierung
Senden Sie Ihr Token im Authorization-Header bei jeder Anfrage
| Header | Wert |
|---|---|
| Authorization | Bearer <token> |
| Accept | application/json |
| Content-Type | application/json (Nur POST) |
Generieren Sie Token in Ihren API-Einstellungen. Token werden nur einmal angezeigt — bewahren Sie sie sicher auf. Fehlende oder ungültige Token geben 401 Unauthorized zurück.
# Save your token in an environment variable export URLLY_TOKEN="your_token_here" # Include it in every request curl https://urlly.me/api/v1/shorten \ -H "Authorization: Bearer $URLLY_TOKEN" \ -H "Accept: application/json" \ -H "Content-Type: application/json"
/api/v1/shorten
201 Created
URL kürzen. Optional einen benutzerdefinierten Alias (3–20 Zeichen) und eine verifizierte eigene Domain angeben.
Anfragebody
| Feld | Typ | Erforderlich | Hinweise |
|---|---|---|---|
| long_url | string | Ja | Gültige URL, max. 2048 Zeichen |
| custom_alias | string | Nein | [a-z0-9_-], 3–20 Zeichen |
| domain_id | integer | Nein | ID einer verifizierten eigenen Domain. Weglassen für Standard-Domain. |
Antwort
{
"success": true,
"short_url": "https://urlly.me/my-link",
"original_url": "https://example.com/...",
"hash": "my-link",
"created_at": "2026-03-19T10:00:00+00:00"
}
Beispielanfrage
# Auto-generated short code curl -X POST \ "https://urlly.me/api/v1/shorten" \ -H "Authorization: Bearer $URLLY_TOKEN" \ -H "Content-Type: application/json" \ -d '{"long_url":"https://example.com/long-page"}' # With custom alias curl -X POST \ "https://urlly.me/api/v1/shorten" \ -H "Authorization: Bearer $URLLY_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "long_url": "https://example.com/long-page", "custom_alias": "my-link" }'
/api/v1/stats/{hash}
200 OK
Klick-Analysen für einen Ihrer Links — Gesamtklicks, tägliche Aufschlüsselung, Geräteaufteilung, Top-Browser.
URL-Parameter
| Parameter | Beschreibung |
|---|---|
| hash | Der Kurzcode oder Alias Ihres Links |
Antwort
{
"success": true,
"hash": "aBcDeFg",
"short_url": "https://urlly.me/aBcDeFg",
"original_url": "https://example.com",
"is_active": true,
"stats": {
"total_clicks": 142,
"clicks_by_day": [
{ "date": "2026-03-19", "total": 108 }
],
"devices": { "desktop": 80, "mobile": 62 },
"browsers": { "Chrome": 95, "Safari": 47 }
}
}
Beispielanfrage
curl -X GET \ "https://urlly.me/api/v1/stats/aBcDeFg" \ -H "Authorization: Bearer $URLLY_TOKEN" \ -H "Accept: application/json"
/api/v1/links
200 OK · Paginated
Paginierte Liste aller Ihrer Links, neueste zuerst. 20 Einträge pro Seite.
Query-Parameter
| Parameter | Standard | Beschreibung |
|---|---|---|
| page | 1 | Seitennummer |
Antwort
{
"success": true,
"data": [
{
"hash": "aBcDeFg",
"short_url": "https://urlly.me/aBcDeFg",
"original_url": "https://example.com",
"clicks": 142,
"is_active": true,
"created_at": "2026-03-19T10:00:00+00:00"
}
],
"meta": {
"current_page": 1,
"last_page": 3,
"per_page": 20,
"total": 58
}
}
Beispielanfrage
# First page curl -X GET \ "https://urlly.me/api/v1/links" \ -H "Authorization: Bearer $URLLY_TOKEN" \ -H "Accept: application/json" # Page 2 curl -X GET \ "https://urlly.me/api/v1/links?page=2" \ -H "Authorization: Bearer $URLLY_TOKEN" \ -H "Accept: application/json"
Eigene Domains
Kurz-Links über Ihre eigene Domain statt der Standard-Domain bereitstellen
Authentifizierte Benutzer können verifizierte eigene Domains hinzufügen. Übergeben Sie nach der Verifizierung domain_id an den Endpunkt POST /shorten, um Kurz-Links unter dieser Domain zu erstellen.
Einrichtung
- 1.Gehen Sie zu Eigene Domains in Ihrem Dashboard und fügen Sie Ihre Domain hinzu.
- 2.Fügen Sie einen DNS-CNAME-Eintrag hinzu, der Ihre Subdomain auf
urlly.mezeigt. - 3.Fügen Sie den im Dashboard angezeigten TXT-Verifizierungseintrag hinzu und klicken Sie auf Verifizieren.
- 4.Nach der Verifizierung notieren Sie die
idder Domain und übergeben Sie diese alsdomain_idin API-Aufrufen.
Beispiel: Kürzen mit eigener Domain
# Shorten using your custom domain (id: 3) curl -X POST \ "https://urlly.me/api/v1/shorten" \ -H "Authorization: Bearer $URLLY_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "long_url": "https://example.com/long-page", "domain_id": 3 }' # Response — short_url uses your domain { "success": true, "short_url": "https://links.yourdomain.com/aBcDeFg", "original_url": "https://example.com/long-page", "hash": "aBcDeFg", "created_at": "2026-03-21T10:00:00+00:00" }
Ratenbegrenzung
2000 Anfragen pro 1 Min. pro Token
| Antwort-Header | Beschreibung |
|---|---|
| X-RateLimit-Limit | Max. Anfragen pro Zeitfenster (2000) |
| X-RateLimit-Remaining | Verbleibende Anfragen im aktuellen Fenster |
| Retry-After | Sekunden bis zum Reset des Fensters (nur 429) |
Retry-After für den Wiederholungszeitpunkt.
429 Antwort
HTTP/1.1 429 Too Many Requests X-RateLimit-Limit: 2000 X-RateLimit-Remaining: 0 Retry-After: 47 { "message": "Too Many Attempts." }
Fehlercodes
Alle Fehler geben JSON mit einem message-Feld zurück. Validierungsfehler (422) enthalten auch ein errors-Objekt.
| Status | Bedeutung | Häufige Ursache |
|---|---|---|
| 401 | Nicht autorisiert | Fehlendes oder ungültiges Token |
| 403 | Verboten | Ressource gehört Ihnen nicht |
| 404 | Nicht gefunden | Link-Hash existiert nicht |
| 422 | Validierungsfehler | Ungültige Felder oder doppelter Alias |
| 429 | Zu viele Anfragen | Ratenbegrenzung überschritten |
| 500 | Serverfehler | Ein Fehler ist auf unserer Seite aufgetreten |
Fehler-Antwortbeispiele
# 401 Unauthorized { "message": "Unauthenticated." } # 404 Not Found { "error": "not_found", "message": "Link not found or does not belong to you." } # 422 Validation Error { "message": "The long_url field is required.", "errors": { "long_url": [ "The long_url field is required." ] } } # 422 Unsafe URL { "error": "unsafe_url", "message": "This URL has been flagged as unsafe." }
Bereit zu entwickeln?
Generieren Sie ein Token und führen Sie Ihren ersten API-Aufruf in Sekunden durch.