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.
Premiers pas
Toutes les requêtes vont vers https://backend.qualit.ly/api/v1. Trois étapes :
Obtenir une clé
Connectez-vous et créez une clé d’API depuis le tableau de bord développeur.
Envoyer une requête
Envoyez votre clé comme jeton Bearer dans l’en-tête Authorization.
Recevoir les données
Recevez des réponses JSON avec les données produit et les images QC.
Exemple rapide
curl -H "Authorization: Bearer qc_live_YOUR_KEY" \
https://backend.qualit.ly/api/v1/products/weidian/1234567890Authentification
Incluez une clé d’API valide dans l’en-tête Authorization en utilisant le schéma Bearer.
Authorization: Bearer qc_live_xxxxxxxxxxxxxxxxxxxxxxxxFormat 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.
En cas de limitation
L’API renvoie un 429 avec un en-tête Retry-After.
{
"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.
{
"error": {
"code": "NOT_FOUND",
"message": "Product not found"
}
}BAD_REQUESTCorps ou paramètres de requête invalides.INVALID_KEYClé d’API manquante, mal formée ou inconnue.REVOKED_KEYLa clé d’API a été révoquée dans le tableau de bord.IP_NOT_AUTHORIZEDL’IP de la requête n’est pas dans la liste autorisée de la clé.FORBIDDENVotre palier n’a pas accès à ce point d’accès.NOT_FOUNDLa ressource demandée n’existe pas.RATE_LIMITEDLimite par minute dépassée, consultez Retry-After.QUOTA_EXCEEDEDQuota mensuel épuisé ; réinitialisé au changement de mois UTC.INTERNALErreur serveur. Réessayez ou contactez le support.Points d’accès
Base : https://backend.qualit.ly/api/v1. Boutiques : weidian, taobao, 1688.
/products/:storefront/:listingIdBasicRecherchez un produit unique par boutique et ID de fiche. Renvoie les métadonnées et jusqu’à 5 miniatures d’aperçu QC.
Paramètres
storefrontrequisL’une de : weidian, taobao, 1688
listingIdrequisL’ID de la fiche produit sur la boutique
Exemple
curl -H "Authorization: Bearer qc_live_YOUR_KEY" \
https://backend.qualit.ly/api/v1/products/weidian/7231368393Réponse
{
"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/..."
]
}
}/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
{
"items": [
{ "storefront": "weidian", "listing_id": "7231368393" },
{ "storefront": "taobao", "listing_id": "123456789" }
]
}Exemple
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/batchRéponse
{
"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" } }
]
}/qc/:storefront/:listingIdBasicObtenez les métadonnées QC et les 3 premières URL d’images miniatures d’un produit.
Exemple
curl -H "Authorization: Bearer qc_live_YOUR_KEY" \
https://backend.qualit.ly/api/v1/qc/weidian/7231368393{
"data": {
"storefront": "weidian",
"listing_id": "7231368393",
"qc_count": 12,
"thumbnails": ["..."]
}
}/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
curl -H "Authorization: Bearer qc_live_YOUR_KEY" \
https://backend.qualit.ly/api/v1/qc/482910/imagesPar URL
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
{
"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",
"..."
]
}
}?url= accepte les URL produit complètes de Weidian, Taobao, 1688 et des agents pris en charge./meBasicRenvoie les infos de votre compte, la clé utilisée pour la requête et votre palier actuel.
Exemple
curl -H "Authorization: Bearer qc_live_YOUR_KEY" \
https://backend.qualit.ly/api/v1/me{
"user": { "id": 12345, "username": "you" },
"key": { "id": 1, "mode": "live" },
"tier": "basic"
}/usageBasicVé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
curl -H "Authorization: Bearer qc_live_YOUR_KEY" \
https://backend.qualit.ly/api/v1/usageRéponse
{
"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
tierL’un de : basic, early_adopter, pro, pro_plus, custom
limit / remainingnull sur le palier custom (illimité)
usedRequê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_atHorodatage UTC ISO 8601
bucketClé 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/mcpTransport
StreamableHTTP (POST)
Authentification
Authorization: Bearer qc_live_…
Outils disponibles
get_productget_products_batchget_qcget_qc_imagesget_meget_usagehttps://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) :
{
"mcpServers": {
"qualitly": {
"url": "https://backend.qualit.ly/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Cursor / VS Code (clé codée en dur)
{
"mcp": {
"servers": {
"qualitly": {
"url": "https://backend.qualit.ly/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
}Vérification rapide
# 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+.
Besoin de limites plus élevées ? [email protected]
Voir tous les plans, tarifs et avantages