Qualit.ly
Qualit.ly
AccueilBot DiscordRechercher

Référence de l’API

Qualit.ly API

Données produit, images QC et métadonnées de Weidian, Taobao et 1688. Authentification par jeton Bearer, limites de débit généreuses, plans par paliers.

Obtenir une clé d’API

Premiers pas

Toutes les requêtes vont vers https://backend.qualit.ly/api/v1. Trois étapes :

1

Obtenir une clé

Connectez-vous et créez une clé d’API depuis le tableau de bord développeur.

2

Envoyer une requête

Envoyez votre clé comme jeton Bearer dans l’en-tête Authorization.

3

Recevoir les données

Recevez des réponses JSON avec les données produit et les images QC.

Exemple rapide

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

Authentification

Incluez une clé d’API valide dans l’en-tête Authorization en utilisant le schéma Bearer.

Authorization: Bearer qc_live_xxxxxxxxxxxxxxxxxxxxxxxx

Format de la clé

Les clés suivent qc_{mode}_{random} où mode est live ou test, et random est composé de 32 caractères cryptographiquement aléatoires.

Les clés ne s’affichent qu’une fois à la création. Nous ne stockons que le hachage SHA-256, les clés perdues ne peuvent donc pas être récupérées.

Liste d’IP autorisées

Vous pouvez restreindre les clés à des IP ou plages CIDR spécifiques via le tableau de bord développeur. Les requêtes d’IP non listées reçoivent un 403. Une liste vide autorise toutes les IP.

Limites de débit

Deux compteurs : par minute et par mois. Les limites dépendent du palier de votre compte et s’appliquent à toutes les clés.

Palier
/ minute
/ mois
Basic
30
1,000
Early Adopter
40
3,000
Pro
300
25,000
Pro+
1,000
500,000

En cas de limitation

L’API renvoie un 429 avec un en-tête Retry-After.

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

Erreurs

Toutes les erreurs renvoient un objet error de premier niveau avec code et message.

json
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Product not found"
  }
}
400BAD_REQUESTCorps ou paramètres de requête invalides.
401INVALID_KEYClé d’API manquante, mal formée ou inconnue.
401REVOKED_KEYLa clé d’API a été révoquée dans le tableau de bord.
403IP_NOT_AUTHORIZEDL’IP de la requête n’est pas dans la liste autorisée de la clé.
403FORBIDDENVotre palier n’a pas accès à ce point d’accès.
404NOT_FOUNDLa ressource demandée n’existe pas.
429RATE_LIMITEDLimite par minute dépassée, consultez Retry-After.
429QUOTA_EXCEEDEDQuota mensuel épuisé ; réinitialisé au changement de mois UTC.
500INTERNALErreur serveur. Réessayez ou contactez le support.

Points d’accès

Base : https://backend.qualit.ly/api/v1. Boutiques : weidian, taobao, 1688.

GET/products/:storefront/:listingIdBasic

Recherchez un produit unique par boutique et ID de fiche. Renvoie les métadonnées et jusqu’à 5 miniatures d’aperçu QC.

Paramètres

storefrontrequis

L’une de : weidian, taobao, 1688

listingIdrequis

L’ID de la fiche produit sur la boutique

Exemple

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

Réponse

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+

Recherchez plusieurs produits en une seule requête (jusqu’à 100). Chaque résultat est indépendant, un produit manquant ne fait donc pas échouer le lot.

Corps de la requête

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

Exemple

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

Réponse

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

Obtenez les métadonnées QC et les 3 premières URL d’images miniatures d’un produit.

Exemple

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+

Liste complète des images QC. Accepte un ID produit numérique ou un paramètre ?url= pour les recherches par URL.

Par ID produit

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

Par 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"

Réponse

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+ uniquement. Le ?url= accepte les URL produit complètes de Weidian, Taobao, 1688 et des agents pris en charge.
GET/meBasic

Renvoie les infos de votre compte, la clé utilisée pour la requête et votre palier actuel.

Exemple

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

Vérifiez votre utilisation actuelle des limites de débit et du quota. Renvoie des compteurs par minute et par mois avec les horodatages de réinitialisation. L’appel lui-même consomme 1 requête des deux compteurs.

Exemple

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

Réponse

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

Champs

tier

L’un de : basic, early_adopter, pro, pro_plus, custom

limit / remaining

null sur le palier custom (illimité)

used

Requêtes comptées dans la fenêtre actuelle. Le compteur par minute se réinitialise toutes les 60 s ; le compteur mensuel au changement de mois UTC.

reset_at

Horodatage UTC ISO 8601

bucket

Clé interne AAAAMM pour le compteur mensuel

Erreurs

Identiques aux autres routes /api/v1/* :401 INVALID_KEY /REVOKED_KEY,403 IP_NOT_AUTHORIZED,429 RATE_LIMITED /QUOTA_EXCEEDED.

Exemples de code

Extraits de démarrage rapide dans les langages populaires.

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');

Serveur MCP

L’API Qualit.ly est disponible en tant que serveur Model Context Protocol (MCP). Connectez-le à Claude Desktop, Cursor, VS Code ou tout client compatible MCP et interrogez les produits, images QC et données d’utilisation directement depuis votre assistant IA, sans requête HTTP manuelle. Les mêmes clé d’API, limites de débit et règles de palier s’appliquent.

URL du serveur

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

Transport

StreamableHTTP (POST)

Authentification

Authorization: Bearer qc_live_…

Outils disponibles

Outil
Description
Palier
get_product
Rechercher un produit par boutique et ID de fiche
Basic
get_products_batch
Rechercher jusqu’à 100 produits en un appel
Pro+
get_qc
Nombre de QC et 3 URL de miniatures
Basic
get_qc_images
Liste complète des images CDN (par ID ou URL)
Pro+
get_me
Clé, utilisateur et palier actuels
Basic
get_usage
État du quota par minute et mensuel
Basic
OAuth 2.0 pris en charge. Les clients prenant en charge la découverte automatique OAuth (Claude.ai, ChatGPT, etc.) invitent automatiquement vos utilisateurs à s’autoriser via une page de connexion, sans clé codée en dur. Le serveur publie ses points d’accès OAuth à https://backend.qualit.ly/.well-known/oauth-authorization-server.

Claude Desktop (clé codée en dur)

Ajoutez ceci à votre claude_desktop_config.json (Claude → Paramètres → Développeur) :

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

Cursor / VS Code (clé codée en dur)

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

Vérification rapide

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

Plans et paliers

Votre palier est déterminé à chaque requête, les mises à niveau prennent donc effet immédiatement. Les points d’accès par lot et images complètes nécessitent Pro+.

Plan
/ minute
/ mois
Lot + Images
Basic
30
1,000
—
Early Adopter
40
3,000
—
Pro
300
25,000
—
Pro+
1,000
500,000
Inclus

Besoin de limites plus élevées ? [email protected]

Voir tous les plans, tarifs et avantages
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]