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/..."
    ]
  }
}
GET/products/searchBasic

Busca en el catálogo por nombre de producto (también coincide con la URL del producto). Opcionalmente filtra por tienda o por productos que tengan fotos QC. Sin paginación: el número de resultados está limitado por tu plan.

Parámetros de consulta

qobligatorio

Texto de búsqueda. Varias palabras se combinan con Y contra el nombre y la URL del producto. (obligatorio)

storefront

Opcional. Limita los resultados a una de estas tiendas: weidian, taobao, 1688

has_qc

Opcional. Ponlo en true para devolver solo productos que tengan fotos QC

limit

Opcional. Menos resultados que el límite de tu plan. Los valores por encima del límite se reducen, nunca se aumentan.

Límites de resultados

Sin paginación. Cada plan devuelve como máximo un número fijo de resultados por búsqueda. Pasa un límite menor para obtener menos; no puedes superar el límite de tu plan.

Plan
Resultados máx.
Basic
5
Early Adopter
10
Pro
50
Pro+
100
Custom
250

Ejemplo

bash
curl -H "Authorization: Bearer qc_live_YOUR_KEY" \
  "https://backend.qualit.ly/api/v1/products/search?q=jordan+1&storefront=weidian&has_qc=true&limit=10"

Respuesta

json
{
  "query": "jordan 1",
  "count": 10,
  "limit": 10,
  "max_results": 100,
  "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/..."]
    }
  ]
}
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
search_products
Buscar productos por nombre, con filtros de tienda y de fotos QC
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

Fotos QC gratis y el conversor de enlaces de Discord para Taobao, Weidian y 1688.

Herramientas

  • Buscar fotos QC
  • Buscador de fotos QC
  • Conversor de enlaces de Discord
  • Seguimiento de pedidos
  • API REST pública

Explorar

  • Buscar productos
  • Tendencias
  • Destacados
  • Hojas de la comunidad
  • Servidores de Discord
  • Cupones

Marketplaces

  • Fotos QC de Weidian
  • Fotos QC de Taobao
  • Fotos QC de 1688

Recursos

  • Planes y precios
  • Sobre Qualit.ly
  • Contacto
  • Términos de servicio
  • Política de privacidad
  • Comunidad de Discord
  • r/qualitly
  • Canal de Telegram

© Qualit.ly. Gratis para la comunidad de rep finds.

¿Preguntas? [email protected]