API a MCP server
Všechno, co umí formulář, umí i API. Bez klíče s limitem na IP adresu, s klíčem z účtu naplno a odkazy se ukládají do účtu.
Rychlý start
Jeden POST s JSON tělem. Odpověď je objekt odkazu; u anonymního odkazu obsahuje i edit_token, který si ulož, pokud chceš odkaz později upravit nebo smazat.
curl -X POST https://skrat.im/api/v1/links \
-H "Content-Type: application/json" \
-H "Authorization: Bearer skrat_…" \
-d '{"url": "https://example.com/dlha/adresa", "alias": "moja-akcia", "domain": "krat.im"}' {
"id": "5d1c…",
"domain": "krat.im",
"slug": "moja-akcia",
"short_url": "https://krat.im/moja-akcia",
"url": "https://example.com/dlha/adresa",
"status": "active",
"clicks": 0,
"preview_url": "https://krat.im/moja-akcia+",
"qr_png_url": "https://krat.im/moja-akcia.png",
"stats_url": "https://skrat.im/api/v1/links/5d1c…/stats"
} curl -X PATCH https://skrat.im/api/v1/links/5d1c… \
-H "Content-Type: application/json" -H "X-Edit-Token: …" \
-d '{"url": "https://example.com/nova/adresa"}' Autentizace a limity
Bez klíče: 60 odkazů za hodinu a 300 za den na IP adresu. S API klíčem (hlavička Authorization: Bearer skrat_…): 1000 za hodinu, odkazy patří účtu. Klíč vytvoříš v nastavení účtu. Při překročení limitu přijde 429 s hlavičkou Retry-After.
Endpointy
| Metoda | Cesta | Popis |
|---|---|---|
POST | /api/v1/links | Vytvoří odkaz. Tělo: url, alias?, domain?, title?, expires_in_days?, expires_at?, max_clicks?, password?, public_stats?, utm_* |
GET | /api/v1/links | Odkazy účtu (vyžaduje klíč). |
GET | /api/v1/links/{id} | Detail odkazu (klíč vlastníka nebo X-Edit-Token). |
PATCH | /api/v1/links/{id} | Úprava: url, title, expires_at | expires_in_days, max_clicks, password ("" zruší), public_stats. |
DELETE | /api/v1/links/{id} | Smazání odkazu. |
GET | /api/v1/links/{id}/stats | Statistiky (veřejné, dokud je vlastník neskryje). |
GET | /api/v1/check?slug=&domain= | Dostupnost aliasu, včetně druhé domény. |
POST | /api/v1/bulk | Hromadně: urls (pole nebo text po řádcích), max. 20 bez klíče, 200 s klíčem. |
GET | /api/shorten?url= | Textový endpoint: vrátí jen krátký odkaz. |
GET | /{alias}+ | Náhled odkazu (HTML). |
GET | /{alias}.json | Veřejné info o odkazu (JSON). |
GET | /{alias}.png | .svg | QR kód (size, fg, bg, margin). |
Chyby
Chyba má vždy tvar { "error": { "code", "message" } }. Zpráva je v jazyce podle ?lang= nebo Accept-Language. Kódy: invalid_url, unsupported_scheme, private_host, self_reference, unsafe_url, slug_invalid, slug_reserved, slug_taken, domain_invalid, rate_limited, not_found, unauthorized, forbidden, too_many.
MCP server pro AI agenty
Endpoint /mcp mluví Model Context Protocol přes Streamable HTTP (JSON-RPC 2.0, bezstavově). Nástroje: shorten_url, check_alias, get_link_info, qr_code. Bez klíče platí limit na IP; s klíčem v hlavičce Authorization se odkazy ukládají do účtu.
Claude Code:
claude mcp add --transport http skrat https://skrat.im/mcp Konfigurace (Claude Desktop, Cursor a podobné):
{
"mcpServers": {
"skrat": {
"type": "http",
"url": "https://skrat.im/mcp",
"headers": { "Authorization": "Bearer skrat_…" }
}
}
} Bookmarklet
Přetáhni odkaz do lišty záložek. Na libovolné stránce na něj klikni a otevře se skrat.im s předvyplněnou adresou.