API

ご自身のコードから短縮リンクを作成・管理できます。APIはProプランに含まれています。

認証

アカウントページでキーを作成し、すべてのリクエストのAuthorizationヘッダーで送信してください。キーは秘密にしてください。キーを持つ人は誰でもあなたのリンクを管理できます。

Authorization: Bearer skr_…

エンドポイント

POST/api/v1/linksリンクを作成
GET/api/v1/linksリンクの一覧(limit、offset)
GET/api/v1/links/{slug}リンクを1件取得
PATCH/api/v1/links/{slug}有効期限またはアクセス回数の上限を変更
DELETE/api/v1/links/{slug}リンクを削除
GET/api/v1/links/{slug}/stats1日ごとの合計と上位の国・デバイス・ブラウザ・参照元(days = 1〜365)

リンクを作成

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"}'

JSONまたはフォームデータで送信します。必須なのはurlだけです。

urlリンク先のアドレス(httpまたはhttps)。
slug任意のカスタムアドレス(4文字以上)。
password訪問者が入力する任意のパスワード。
expires1h、1d、7d、14d、30d、60d、90d、never(デフォルト)。
max_clicksこの回数開かれるとリンクが無効になる、任意のアクセス回数。
cleanリンク先から追跡パラメータを削除します。デフォルトはtrue。

レスポンス

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"]
}

統計

curl https://skr.me/api/v1/links/launch/stats?days=30 \
  -H "Authorization: Bearer $SKR_KEY"

統計はダッシュボードで表示されるものと同じ1日ごとの集計です。個々の訪問者に関する情報は一切含まれません。

エラー

エラーは標準的なHTTPステータスコード(400、401、403、404、422、429)と、機械可読なコードを含むJSONで返されます。

{ "error": { "code": "invalid_slug", "field": "slug", "message": "This address is already taken." } }

制限

各キーは1日に1000回までリクエストできます。すべてのレスポンスにX-RateLimit-LimitとX-RateLimit-Remainingヘッダーが含まれます。