Docs認証

認証

プログラムからのすべてのAPIリクエストには、認証用のAPI Keyが必要です。このページではリクエストの認証方法を説明します。

x-api-keyヘッダー

すべてのリクエストのx-api-key HTTPヘッダーにAPI Keyを含めてください。API Keyはfft_で始まる文字列です。

cURL

bash
curl -X POST https://freefiletools.io/api/image-compress \
  -H "x-api-key: fft_your_api_key_here" \
  -F "[email protected]" \
  -F "quality=80" \
  -o compressed.jpg

JavaScript / fetch

javascript
const formData = new FormData();
formData.append("file", fileInput.files[0]);
formData.append("quality", "80");

const response = await fetch("https://freefiletools.io/api/image-compress", {
  method: "POST",
  headers: {
    "x-api-key": "fft_your_api_key_here",
  },
  body: formData,
});

const blob = await response.blob();

Python

python
import requests

headers = {
    "x-api-key": "fft_your_api_key_here"
}

files = {
    "file": ("image.jpg", open("image.jpg", "rb"), "image/jpeg")
}

data = {
    "quality": "80"
}

response = requests.post(
    "https://freefiletools.io/api/image-compress",
    headers=headers,
    files=files,
    data=data
)

with open("compressed.jpg", "wb") as f:
    f.write(response.content)

匿名アクセス

FreeFileToolsのウェブサイトは、ブラウザベースのファイル処理に同じAPIエンドポイントを内部的に使用しています。freefiletools.ioからのブラウザリクエストでは、匿名アクセス(API Keyなし)が可能です。

ただし、外部アプリケーションからのプログラムアクセスにはAPI Keyが必要です。ブラウザ外からの有効なAPI Keyのないリクエストは401 Unauthorizedレスポンスを受け取ります。

エラーレスポンス

API Keyが見つからないか無効です

json
{
  "error": "Unauthorized",
  "message": "Invalid or missing API key. Get your key at freefiletools.io/dashboard/api-keys"
}

HTTPステータス: 401

レート制限を超過しました

json
{
  "error": "Rate limit exceeded",
  "message": "You have exceeded the rate limit. Please try again later."
}

HTTPステータス: 429

次のステップ

API Key管理 -- API Keyの作成、再生成、セキュリティについて学びましょう。

レート制限 -- レート制限とその対処方法を理解しましょう。