Qualit.ly
Qualit.ly
InicioBot de DiscordBuscar

Referencia de la API

Qualit.ly API

Datos de productos, imágenes QC y metadatos de Weidian, Taobao y 1688. Autenticación con token Bearer, límites de tasa generosos, planes por niveles.

Obtener clave de API

Primeros pasos

Todas las solicitudes van a https://backend.qualit.ly/api/v1. Tres pasos:

1

Obtén una clave

Inicia sesión y crea una clave de API desde el panel de desarrollador.

2

Haz una solicitud

Envía tu clave como token Bearer en el encabezado Authorization.

3

Obtén los datos

Recibe respuestas JSON con los datos del producto e imágenes QC.

Ejemplo rápido

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

Autenticación

Incluye una clave de API válida en el encabezado Authorization usando el esquema Bearer.

Authorization: Bearer qc_live_xxxxxxxxxxxxxxxxxxxxxxxx

Formato de la clave

Las claves siguen qc_{mode}_{random} donde mode es live o test, y random son 32 caracteres criptográficamente aleatorios.

Las claves se muestran una sola vez al crearlas. Solo almacenamos el hash SHA-256, por lo que las claves perdidas no se pueden recuperar.

Lista de IP permitidas

Opcionalmente, restringe las claves a IP o rangos CIDR específicos desde el panel de desarrollador. Las solicitudes de IP no incluidas reciben un 403. Una lista vacía permite todas las IP.

Límites de tasa

Dos contadores: por minuto y por mes. Los límites dependen del nivel de tu cuenta y se aplican a todas las claves.

Nivel
/ minuto
/ mes
Basic
30
1,000
Early Adopter
40
3,000
Pro
300
25,000
Pro+
1,000
500,000

Al alcanzar el límite

La API devuelve un 429 con un encabezado Retry-After.

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

Errores

Todos los errores devuelven un objeto error de nivel superior con code y message.

json
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Product not found"
  }
}
400BAD_REQUESTCuerpo o parámetros de la solicitud no válidos.
401INVALID_KEYClave de API ausente, malformada o desconocida.
401REVOKED_KEYLa clave de API fue revocada en el panel.
403IP_NOT_AUTHORIZEDLa IP de la solicitud no está en la lista permitida de la clave.
403FORBIDDENTu nivel no tiene acceso a este endpoint.
404NOT_FOUNDEl recurso solicitado no existe.
429RATE_LIMITEDLímite por minuto superado, consulta Retry-After.
429QUOTA_EXCEEDEDCuota mensual agotada; se reinicia al cambiar de mes en UTC.
500INTERNALError del servidor. Reintenta o contacta con soporte.

Endpoints

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

GET/products/:storefront/:listingIdBasic

Busca un único producto por tienda e ID de listado. Devuelve metadatos y hasta 5 miniaturas de vista previa QC.

Parámetros

storefrontobligatorio

Una de: weidian, taobao, 1688

listingIdobligatorio

El ID del listado del producto en la tienda

Ejemplo

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

Respuesta

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+

Busca varios productos en una sola solicitud (hasta 100). Cada resultado es independiente, así que un producto faltante no hace fallar el lote.

Cuerpo de la solicitud

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

Ejemplo

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

Respuesta

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

Obtén los metadatos QC y las primeras 3 URL de imágenes en miniatura de un producto.

Ejemplo

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+

Lista completa de imágenes QC. Acepta un ID de producto numérico o un parámetro ?url= para búsquedas por URL.

Por ID de producto

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

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

Respuesta

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",
      "..."
    ]
  }
}
Solo Pro+. El parámetro ?url= acepta URL de producto completas de Weidian, Taobao, 1688 y agentes compatibles.
GET/meBasic

Devuelve los datos de tu cuenta, la clave usada para la solicitud y tu nivel actual.

Ejemplo

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

Consulta tu uso actual de límites de tasa y cuota. Devuelve contadores por minuto y por mes con marcas de tiempo de reinicio. La propia llamada consume 1 solicitud de ambos contadores.

Ejemplo

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

Respuesta

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

Campos

tier

Uno de: basic, early_adopter, pro, pro_plus, custom

limit / remaining

null en el nivel custom (ilimitado)

used

Solicitudes contadas en la ventana actual. El contador por minuto se reinicia cada 60 s; el mensual al cambiar de mes en UTC.

reset_at

Marca de tiempo UTC ISO 8601

bucket

Clave interna AAAAMM del contador mensual

Errores

Iguales que en otras rutas /api/v1/*:401 INVALID_KEY /REVOKED_KEY,403 IP_NOT_AUTHORIZED,429 RATE_LIMITED /QUOTA_EXCEEDED.

Ejemplos de código

Fragmentos de inicio rápido en lenguajes populares.

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

Servidor MCP

La API de Qualit.ly está disponible como servidor Model Context Protocol (MCP). Conéctalo a Claude Desktop, Cursor, VS Code o cualquier cliente compatible con MCP y consulta productos, imágenes QC y datos de uso directamente desde tu asistente de IA, sin HTTP manual. Se aplican la misma clave de API, límites de tasa y reglas de nivel.

URL del servidor

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

Transporte

StreamableHTTP (POST)

Autenticación

Authorization: Bearer qc_live_…

Herramientas disponibles

Herramienta
Descripción
Nivel
get_product
Buscar un producto por tienda e ID de listado
Basic
get_products_batch
Buscar hasta 100 productos en una llamada
Pro+
get_qc
Recuento de QC y 3 URL de miniaturas
Basic
get_qc_images
Lista completa de imágenes CDN (por ID o URL)
Pro+
get_me
Clave, usuario y nivel actuales
Basic
get_usage
Estado de la cuota por minuto y mensual
Basic
OAuth 2.0 compatible. Los clientes que admiten el autodescubrimiento de OAuth (Claude.ai, ChatGPT, etc.) pedirán automáticamente a tus usuarios que autoricen mediante una página de inicio de sesión, sin clave codificada. El servidor anuncia sus endpoints OAuth en https://backend.qualit.ly/.well-known/oauth-authorization-server.

Claude Desktop (clave codificada)

Añade esto a tu claude_desktop_config.json (Claude → Configuración → Desarrollador):

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

Cursor / VS Code (clave codificada)

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

Verificación rápida

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

Planes y niveles

Tu nivel se resuelve en cada solicitud, por lo que las mejoras surten efecto de inmediato. Los endpoints por lote y de imágenes completas requieren Pro+.

Plan
/ minuto
/ mes
Lote + Imágenes
Basic
30
1,000
—
Early Adopter
40
3,000
—
Pro
300
25,000
—
Pro+
1,000
500,000
Incluido

¿Necesitas límites más altos? [email protected]

Ver todos los planes, precios y ventajas
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]