Qualit.ly
Qualit.ly
ホームDiscordボット検索

API リファレンス

Qualit.ly API

Weidian、Taobao、1688 の商品データ、QC 画像、メタデータ。Bearer トークン認証、寛大なレート制限、段階的なプラン。

API キーを取得

はじめに

すべてのリクエストは https://backend.qualit.ly/api/v1 に送信します。3 つのステップ:

1

キーを取得

サインインして、開発者ダッシュボードから API キーを作成します。

2

リクエストを送信

キーを Bearer トークンとして Authorization ヘッダーに含めて送信します。

3

データを取得

商品データと QC 画像を含む JSON レスポンスを受け取ります。

簡単な例

bash
curl -H "Authorization: Bearer qc_live_YOUR_KEY" \
  https://backend.qualit.ly/api/v1/products/weidian/1234567890

認証

有効な API キーを Authorization ヘッダーに Bearer スキームで含めます。

Authorization: Bearer qc_live_xxxxxxxxxxxxxxxxxxxxxxxx

キーの形式

キーは qc_{mode}_{random} の形式です。 mode は live または test で、 random は暗号学的にランダムな 32 文字です。

キーは作成時に一度だけ表示されます。保存するのは SHA-256 ハッシュのみのため、紛失したキーは復元できません。

IP 許可リスト

開発者ダッシュボードから、キーを特定の IP または CIDR 範囲に制限できます。許可リスト外の IP からのリクエストには 403 が返されます。許可リストが空の場合、すべての IP が許可されます。

レート制限

2 つのバケット: 毎分 と 毎月。制限はアカウントの段階に紐づき、すべてのキーに適用されます。

段階
/ 分
/ 月
Basic
30
1,000
Early Adopter
40
3,000
Pro
300
25,000
Pro+
1,000
500,000

レート制限に達したとき

API は 429 を Retry-After ヘッダー付きで返します。

json
{
  "error": {
    "code": "RATE_LIMITED",
    "message": "Per-minute limit exceeded",
    "retry_after": 12
  }
}

エラー

すべてのエラーは、トップレベルの error オブジェクトを code と message 付きで返します。

json
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Product not found"
  }
}
400BAD_REQUESTリクエストの本文またはパラメーターが無効です。
401INVALID_KEYAPI キーがない、形式が不正、または不明です。
401REVOKED_KEYAPI キーはダッシュボードで無効化されています。
403IP_NOT_AUTHORIZEDリクエストの IP がキーの許可リストにありません。
403FORBIDDENお使いの段階ではこのエンドポイントにアクセスできません。
404NOT_FOUND要求されたリソースが存在しません。
429RATE_LIMITED毎分の制限を超過しました。Retry-After を確認してください。
429QUOTA_EXCEEDED月間クォータを使い切りました。UTC の月替わりにリセットされます。
500INTERNALサーバーエラー。再試行するかサポートにお問い合わせください。

エンドポイント

ベース: https://backend.qualit.ly/api/v1。ストア: weidian, taobao, 1688.

GET/products/:storefront/:listingIdBasic

ストアと商品 ID で単一の商品を検索します。メタデータと最大 5 枚の QC プレビューサムネイルを返します。

パラメーター

storefront必須

次のいずれか: weidian、taobao、1688

listingId必須

ストアの商品出品 ID

例

bash
curl -H "Authorization: Bearer qc_live_YOUR_KEY" \
  https://backend.qualit.ly/api/v1/products/weidian/7231368393

レスポンス

json
{
  "data": {
    "id": 482910,
    "storefront": "weidian",
    "listing_id": "7231368393",
    "name": "AJ1 Retro High OG",
    "price": "¥470.00",
    "pic_url": "https://cdn.qualit.ly/covers/...",
    "product_url": "https://weidian.com/item.html?itemID=7231368393",
    "qc_count": 12,
    "qc_preview": [
      "https://cdn.qualit.ly/qc/...",
      "https://cdn.qualit.ly/qc/..."
    ]
  }
}
POST/products/batchPro+

1 回のリクエストで複数の商品(最大 100 件)を検索します。各結果は独立しているため、商品が見つからなくてもバッチ全体が失敗することはありません。

リクエストボディ

json
{
  "items": [
    { "storefront": "weidian", "listing_id": "7231368393" },
    { "storefront": "taobao", "listing_id": "123456789" }
  ]
}

例

bash
curl -X POST \
  -H "Authorization: Bearer qc_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items":[{"storefront":"weidian","listing_id":"7231368393"}]}' \
  https://backend.qualit.ly/api/v1/products/batch

レスポンス

json
{
  "results": [
    {
      "data": {
        "id": 482910,
        "storefront": "weidian",
        "listing_id": "7231368393",
        "name": "AJ1 Retro High OG",
        "price": "¥470.00",
        "qc_count": 12,
        "qc_preview": ["..."]
      }
    },
    { "error": { "code": "NOT_FOUND" } }
  ]
}
GET/qc/:storefront/:listingIdBasic

商品の QC メタデータと最初の 3 枚のサムネイル画像 URL を取得します。

例

bash
curl -H "Authorization: Bearer qc_live_YOUR_KEY" \
  https://backend.qualit.ly/api/v1/qc/weidian/7231368393
json
{
  "data": {
    "storefront": "weidian",
    "listing_id": "7231368393",
    "qc_count": 12,
    "thumbnails": ["..."]
  }
}
GET/qc/:id/imagesPro+

QC 画像の完全なリスト。数値の商品 ID、または URL ベースの検索用の ?url= クエリパラメーターを受け付けます。

商品 ID で

bash
curl -H "Authorization: Bearer qc_live_YOUR_KEY" \
  https://backend.qualit.ly/api/v1/qc/482910/images

URL で

bash
curl -H "Authorization: Bearer qc_live_YOUR_KEY" \
  "https://backend.qualit.ly/api/v1/qc/0/images?url=https://weidian.com/item.html?itemID=7231368393"

レスポンス

json
{
  "data": {
    "id": 482910,
    "storefront": "weidian",
    "listing_id": "7231368393",
    "qc_count": 12,
    "images": [
      "https://cdn.qualit.ly/qc/img1.jpg",
      "https://cdn.qualit.ly/qc/img2.jpg",
      "..."
    ]
  }
}
Pro+ 限定。?url= パラメーターは、Weidian、Taobao、1688、対応エージェントの完全な商品 URL を受け付けます。
GET/meBasic

アカウント情報、リクエストに使用したキー、現在の段階を返します。

例

bash
curl -H "Authorization: Bearer qc_live_YOUR_KEY" \
  https://backend.qualit.ly/api/v1/me
json
{
  "user": { "id": 12345, "username": "you" },
  "key": { "id": 1, "mode": "live" },
  "tier": "basic"
}
GET/usageBasic

現在のレート制限とクォータの使用状況を確認します。リセットのタイムスタンプ付きで、毎分・毎月のカウンターを返します。この呼び出し自体が両方のカウンターから 1 リクエストを消費します。

例

bash
curl -H "Authorization: Bearer qc_live_YOUR_KEY" \
  https://backend.qualit.ly/api/v1/usage

レスポンス

json
{
  "tier": "pro_plus",
  "key": { "id": 7, "mode": "live" },
  "minute": {
    "limit": 1000,
    "used": 12,
    "remaining": 988,
    "reset_in_seconds": 37,
    "reset_at": "2026-04-17T18:42:00.000Z"
  },
  "month": {
    "limit": 500000,
    "used": 1843,
    "remaining": 498157,
    "reset_in_seconds": 1159200,
    "reset_at": "2026-05-01T00:00:00.000Z",
    "bucket": 202604
  }
}

フィールド

tier

次のいずれか: basic、early_adopter、pro、pro_plus、custom

limit / remaining

custom 段階では null(無制限)

used

現在のウィンドウでカウントされたリクエスト数。毎分カウンターは 60 秒ごと、毎月カウンターは UTC の月替わりにリセットされます。

reset_at

ISO 8601 UTC タイムスタンプ

bucket

毎月カウンター用の内部 YYYYMM キー

エラー

他の /api/v1/* ルートと同じ:401 INVALID_KEY /REVOKED_KEY,403 IP_NOT_AUTHORIZED,429 RATE_LIMITED /QUOTA_EXCEEDED.

コードサンプル

人気の言語によるクイックスタートのスニペット。

const res = await fetch(
  'https://backend.qualit.ly/api/v1/products/weidian/7231368393',
  { headers: { Authorization: 'Bearer ' + process.env.QUALITLY_KEY } }
);
const { data } = await res.json();
console.log(data.name, data.qc_count, 'QC images');

MCP サーバー

Qualit.ly API は Model Context Protocol(MCP)サーバー として利用できます。Claude Desktop、Cursor、VS Code、その他の MCP 対応クライアントに接続すれば、手動の HTTP なしで AI アシスタントから直接、商品・QC 画像・使用状況データを照会できます。API キー、レート制限、段階のルールは同じものが適用されます。

サーバー URL

https://backend.qualit.ly/api/mcp

トランスポート

StreamableHTTP (POST)

認証

Authorization: Bearer qc_live_…

利用可能なツール

ツール
説明
段階
get_product
ストアと商品 ID で商品を検索
Basic
get_products_batch
1 回の呼び出しで最大 100 件の商品を検索
Pro+
get_qc
QC 件数と 3 枚のサムネイル URL
Basic
get_qc_images
完全な CDN 画像リスト(ID または URL で)
Pro+
get_me
現在のキー、ユーザー、段階
Basic
get_usage
毎分・毎月のクォータ状況
Basic
OAuth 2.0 対応。 OAuth 自動検出に対応したクライアント(Claude.ai、ChatGPT など)は、ハードコードされたキーなしで、ログインページから自動的にユーザーに認可を求めます。サーバーは OAuth エンドポイントを次の場所で公開しています: https://backend.qualit.ly/.well-known/oauth-authorization-server.

Claude Desktop (キーをハードコード)

これを claude_desktop_config.json に追加します(Claude → 設定 → 開発者):

json
{
  "mcpServers": {
    "qualitly": {
      "url": "https://backend.qualit.ly/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Cursor / VS Code (キーをハードコード)

json
{
  "mcp": {
    "servers": {
      "qualitly": {
        "url": "https://backend.qualit.ly/api/mcp",
        "headers": {
          "Authorization": "Bearer YOUR_API_KEY"
        }
      }
    }
  }
}

簡単な確認

bash
# List available tools
curl -X POST https://backend.qualit.ly/api/mcp \
  -H "Authorization: Bearer qc_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

プランと段階

段階はリクエストごとに判定されるため、アップグレードは即座に有効になります。バッチおよびフル画像のエンドポイントには Pro+ が必要です。

プラン
/ 分
/ 月
バッチ + 画像
Basic
30
1,000
—
Early Adopter
40
3,000
—
Pro
300
25,000
—
Pro+
1,000
500,000
含む

より高い制限が必要ですか? [email protected]

プラン・料金・特典の詳細を見る
Qualit.ly

Free QC photos and the Discord link converter for Taobao, Weidian and 1688.

Tools

  • Search QC photos
  • Discord link converter
  • Order tracking
  • Public REST API

Marketplaces

  • Weidian QC photos
  • Taobao QC photos
  • 1688 QC photos

Resources

  • Plans & pricing
  • About Qualit.ly
  • Contact
  • Terms of Service
  • Privacy Policy
  • Discord community
  • r/qualitly
  • Telegram channel

© Qualit.ly. Free for the rep finds community.

Questions? [email protected]