API
Maak en beheer korte links vanuit je eigen code. De API maakt deel uit van het Pro-abonnement.
Authenticatie
Maak een sleutel aan op je accountpagina en stuur hem mee in de Authorization-header van elk verzoek. Houd de sleutel geheim: iedereen die hem heeft, kan je links beheren.
Authorization: Bearer skr_…
Endpoints
| POST | /api/v1/links | Link maken |
| GET | /api/v1/links | Je links weergeven (limit, offset) |
| GET | /api/v1/links/{slug} | Eén link ophalen |
| PATCH | /api/v1/links/{slug} | Vervaldatum of openingslimiet wijzigen |
| DELETE | /api/v1/links/{slug} | Link verwijderen |
| GET | /api/v1/links/{slug}/stats | Dagtotalen en toplanden, -apparaten, -browsers en -bronnen (days = 1–365) |
Link maken
curl -X POST https://skr.me/api/v1/links \
-H "Authorization: Bearer $SKR_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/page?utm_source=news", "slug": "launch", "expires": "never"}'
Stuur JSON of formuliergegevens. Alleen url is verplicht.
| url | Het bestemmingsadres (http of https). |
| slug | Optioneel eigen adres, minstens 4 tekens. |
| password | Optioneel wachtwoord dat bezoekers moeten invullen. |
| expires | 1h, 1d, 7d, 14d, 30d, 60d, 90d of never (standaard). |
| max_clicks | Optioneel aantal openingen waarna de link niet meer werkt. |
| clean | Trackingparameters uit de bestemming verwijderen. Standaard true. |
Antwoord
HTTP/1.1 201 Created
{
"link": {
"slug": "launch",
"short_url": "https://skr.me/launch",
"target_url": "https://example.com/page",
"status": "ok",
"custom": true,
"password_protected": false,
"clicks": 0,
"max_clicks": null,
"created_at": "2026-09-26T12:00:00+00:00",
"expires_at": null
},
"removed_parameters": ["utm_source"]
}
Statistieken
curl https://skr.me/api/v1/links/launch/stats?days=30 \
-H "Authorization: Bearer $SKR_KEY"
Statistieken zijn dezelfde dagelijkse totalen die je op het dashboard ziet. Ze bevatten nooit informatie over individuele bezoekers.
Fouten
Fouten gebruiken standaard HTTP-statuscodes (400, 401, 403, 404, 422, 429) en een JSON-body met een machineleesbare code.
{ "error": { "code": "invalid_slug", "field": "slug", "message": "This address is already taken." } }
Limieten
Elke sleutel kan 1000 verzoeken per dag doen. Elk antwoord bevat de headers X-RateLimit-Limit en X-RateLimit-Remaining.