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

MetodaCestaPopis
POST/api/v1/linksVytvoří odkaz. Tělo: url, alias?, domain?, title?, expires_in_days?, expires_at?, max_clicks?, password?, public_stats?, utm_*
GET/api/v1/linksOdkazy úč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}/statsStatistiky (veřejné, dokud je vlastník neskryje).
GET/api/v1/check?slug=&domain=Dostupnost aliasu, včetně druhé domény.
POST/api/v1/bulkHromadně: 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}.jsonVeřejné info o odkazu (JSON).
GET/{alias}.png | .svgQR 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.

Zkrátit na skrat.im

Další zdroje

Podmínky používání API jsou stejné jako pro web.