Qualit.ly
Qualit.ly
HomeDiscord-botZoeken

API-referentie

Qualit.ly API

Productdata, QC-afbeeldingen en metadata van Weidian, Taobao en 1688. Bearer-tokenauth, royale rate limits, gelaagde abonnementen.

API-sleutel ophalen

Aan de slag

Alle verzoeken gaan naar https://backend.qualit.ly/api/v1. Drie stappen:

1

Haal een sleutel

Log in en maak een API-sleutel aan vanuit het developer-dashboard.

2

Doe een verzoek

Stuur je sleutel als Bearer-token in de Authorization-header.

3

Krijg data

Ontvang JSON-antwoorden met productdata en QC-afbeeldingen.

Snel voorbeeld

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

Authenticatie

Voeg een geldige API-sleutel toe aan de Authorization header met het Bearer-schema.

Authorization: Bearer qc_live_xxxxxxxxxxxxxxxxxxxxxxxx

Sleutelformaat

Sleutels hebben de vorm qc_{mode}_{random} waarbij mode is live of test, en random is 32 cryptografisch willekeurige tekens.

Sleutels worden bij het aanmaken één keer getoond. We bewaren alleen de SHA-256-hash, dus verloren sleutels kunnen niet worden hersteld.

IP-allowlisting

Beperk sleutels optioneel tot specifieke IP's of CIDR-bereiken via het developer-dashboard. Verzoeken van niet-vermelde IP's krijgen een 403. Een lege allowlist staat alle IP's toe.

Rate limits

Twee buckets: per minuut en per maand. Limieten zijn gekoppeld aan je accountniveau en gelden voor al je sleutels.

Niveau
/ minuut
/ maand
Basic
30
1,000
Early Adopter
40
3,000
Pro
300
25,000
Pro+
1,000
500,000

Bij rate limiting

De API geeft 429 terug met een Retry-After header.

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

Fouten

Alle fouten geven een top-level error object terug met code en message.

json
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Product not found"
  }
}
400BAD_REQUESTOngeldige verzoekbody of -parameters.
401INVALID_KEYOntbrekende, onjuist opgemaakte of onbekende API-sleutel.
401REVOKED_KEYDe API-sleutel is ingetrokken in het dashboard.
403IP_NOT_AUTHORIZEDVerzoek-IP staat niet op de allowlist van de sleutel.
403FORBIDDENJe niveau heeft geen toegang tot dit endpoint.
404NOT_FOUNDDe gevraagde resource bestaat niet.
429RATE_LIMITEDLimiet per minuut overschreden, controleer Retry-After.
429QUOTA_EXCEEDEDMaandquotum uitgeput; wordt gereset bij de UTC-maandwisseling.
500INTERNALServerfout. Probeer opnieuw of neem contact op met support.

Endpoints

Basis: https://backend.qualit.ly/api/v1. Storefronts: weidian, taobao, 1688.

GET/products/:storefront/:listingIdBasic

Zoek één product op storefront en listing-ID. Geeft metadata en tot 5 QC-previewthumbnails terug.

Parameters

storefrontvereist

Een van: weidian, taobao, 1688

listingIdvereist

De product-listing-ID van de storefront

Voorbeeld

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

Antwoord

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

Doorzoek de catalogus op productnaam (matcht ook de product-URL). Filter optioneel op een storefront of op producten met QC-foto's. Geen paginering — het aantal resultaten is begrensd door je abonnement.

Query-parameters

qvereist

Zoektekst. Meerdere woorden worden met AND gematcht tegen de productnaam en -URL. (vereist)

storefront

Optioneel. Beperk resultaten tot een van: weidian, taobao, 1688

has_qc

Optioneel. Zet op true om alleen producten met QC-foto's terug te geven

limit

Optioneel. Minder resultaten dan de limiet van je abonnement. Waarden boven de limiet worden omlaag bijgesteld — nooit omhoog.

Resultaatlimieten

Geen paginering. Elk abonnement geeft tot een vast aantal resultaten per zoekopdracht. Geef een kleinere limiet op om er minder te krijgen; je kunt de limiet van je abonnement niet overschrijden.

Abonnement
Max. resultaten
Basic
5
Early Adopter
10
Pro
50
Pro+
100
Custom
250

Voorbeeld

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"

Antwoord

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+

Zoek meerdere producten op in één verzoek (tot 100). Elk resultaat is onafhankelijk, dus een ontbrekend product laat de batch niet mislukken.

Verzoekbody

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

Voorbeeld

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

Antwoord

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

Haal QC-metadata en de eerste 3 thumbnail-afbeeldings-URL's voor een product op.

Voorbeeld

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+

Volledige lijst met QC-afbeeldingen. Accepteert een numerieke product-ID of een ?url=-queryparameter voor URL-gebaseerd opzoeken.

Op product-ID

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

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

Antwoord

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",
      "..."
    ]
  }
}
Alleen Pro+. De ?url=-parameter accepteert volledige product-URL's van Weidian, Taobao, 1688 en ondersteunde agents.
GET/meBasic

Geeft je accountinfo, de sleutel die voor het verzoek is gebruikt en je huidige niveau terug.

Voorbeeld

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

Controleer je huidige rate-limit- en quotumgebruik. Geeft tellers per minuut en per maand terug met resettijdstempels. De aanroep zelf verbruikt 1 verzoek van beide tellers.

Voorbeeld

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

Antwoord

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

Velden

tier

Een van: basic, early_adopter, pro, pro_plus, custom

limit / remaining

null op het custom-niveau (onbeperkt)

used

Verzoeken geteld in het huidige venster. De minutenteller reset elke 60s; de maandteller reset bij de UTC-maandwisseling.

reset_at

ISO 8601 UTC-tijdstempel

bucket

Interne YYYYMM-sleutel voor de maandteller

Fouten

Hetzelfde als andere /api/v1/* routes:401 INVALID_KEY /REVOKED_KEY,403 IP_NOT_AUTHORIZED,429 RATE_LIMITED /QUOTA_EXCEEDED.

Codevoorbeelden

Snelstartfragmenten in populaire talen.

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

De Qualit.ly API is beschikbaar als een Model Context Protocol (MCP)-server. Verbind hem met Claude Desktop, Cursor, VS Code of elke MCP-compatibele client en bevraag producten, QC-afbeeldingen en gebruiksgegevens rechtstreeks vanuit je AI-assistent, zonder handmatige HTTP. Dezelfde API-sleutel, rate limits en niveauregels gelden.

Server-URL

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

Transport

StreamableHTTP (POST)

Auth

Authorization: Bearer qc_live_…

Beschikbare tools

Tool
Beschrijving
Niveau
get_product
Zoek een product op storefront en listing-ID
Basic
search_products
Zoek producten op naam, met storefront- / has-QC-filters
Basic
get_products_batch
Zoek tot 100 producten op in één aanroep
Pro+
get_qc
QC-aantal en 3 thumbnail-URL's
Basic
get_qc_images
Volledige CDN-afbeeldingslijst (op ID of URL)
Pro+
get_me
Huidige sleutel, gebruiker en niveau
Basic
get_usage
Status van quotum per minuut en per maand
Basic
OAuth 2.0 ondersteund. Clients die OAuth-auto-discovery ondersteunen (Claude.ai, ChatGPT, enz.) vragen je gebruikers automatisch om via een inlogpagina te autoriseren, zonder hardgecodeerde sleutel. De server adverteert zijn OAuth-endpoints op https://backend.qualit.ly/.well-known/oauth-authorization-server.

Claude Desktop (hardgecodeerde sleutel)

Voeg dit toe aan je claude_desktop_config.json (Claude → Instellingen → Ontwikkelaar):

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

Cursor / VS Code (hardgecodeerde sleutel)

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

Snelle verificatie

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

Abonnementen & niveaus

Je niveau wordt bij elk verzoek bepaald, dus upgrades gaan meteen in. Batch- en volledige-afbeeldingen-endpoints vereisen Pro+.

Abonnement
/ minuut
/ maand
Batch + afbeeldingen
Basic
30
1,000
—
Early Adopter
40
3,000
—
Pro
300
25,000
—
Pro+
1,000
500,000
Inbegrepen

Hogere limieten nodig? [email protected]

Bekijk volledige abonnementen, prijzen & extra's
Qualit.ly

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

Tools

  • Search QC photos
  • QC photo finder
  • 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]