API-referens
Qualit.ly API
Produktdata, QC-bilder och metadata från Weidian, Taobao och 1688. Bearer-token-autentisering, generösa hastighetsgränser, nivåbaserade planer.
Kom igång
Alla förfrågningar går till https://backend.qualit.ly/api/v1. Tre steg:
Skaffa en nyckel
Logga in och skapa en API-nyckel från utvecklarens kontrollpanel.
Gör en förfrågan
Skicka din nyckel som en Bearer-token i Authorization-headern.
Hämta data
Ta emot JSON-svar med produktdata och QC-bilder.
Snabbt exempel
curl -H "Authorization: Bearer qc_live_YOUR_KEY" \
https://backend.qualit.ly/api/v1/products/weidian/1234567890Autentisering
Inkludera en giltig API-nyckel i Authorization-headern med Bearer-schemat.
Authorization: Bearer qc_live_xxxxxxxxxxxxxxxxxxxxxxxxNyckelformat
Nycklar följer qc_{mode}_{random} där mode är live eller test, och random är 32 kryptografiskt slumpmässiga tecken.
Nycklar visas en gång vid skapandet. Vi lagrar bara SHA-256-hashen, så borttappade nycklar kan inte återställas.
IP-tillåtelselista
Begränsa valfritt nycklar till specifika IP:er eller CIDR-intervall via utvecklarens kontrollpanel. Förfrågningar från olistade IP:er får en 403. En tom tillåtelselista tillåter alla IP:er.
Hastighetsgränser
Två hinkar: per minut och per månad. Gränserna är kopplade till din kontonivå och gäller för alla nycklar.
När du är hastighetsbegränsad
API:et returnerar 429 med en Retry-After-header.
{
"error": {
"code": "RATE_LIMITED",
"message": "Per-minute limit exceeded",
"retry_after": 12
}
}Fel
Alla fel returnerar ett error-objekt på toppnivå med code och message.
{
"error": {
"code": "NOT_FOUND",
"message": "Product not found"
}
}BAD_REQUESTOgiltig förfrågningskropp eller parametrar.INVALID_KEYSaknad, felformaterad eller okänd API-nyckel.REVOKED_KEYAPI-nyckeln återkallades i kontrollpanelen.IP_NOT_AUTHORIZEDFörfrågningens IP finns inte i nyckelns tillåtelselista.FORBIDDENDin nivå saknar åtkomst till den här slutpunkten.NOT_FOUNDDen begärda resursen finns inte.RATE_LIMITEDGränsen per minut överskriden, kontrollera Retry-After.QUOTA_EXCEEDEDMånadskvoten förbrukad; återställs vid UTC-månadsskiftet.INTERNALServerfel. Försök igen eller kontakta supporten.Slutpunkter
Bas: https://backend.qualit.ly/api/v1. Marknadsplatser: weidian, taobao, 1688.
/products/:storefront/:listingIdBasicSlå upp en enskild produkt via marknadsplats och annons-ID. Returnerar metadata och upp till 5 QC-förhandsvisningsminiatyrer.
Parametrar
storefrontobligatorisktEn av: weidian, taobao, 1688
listingIdobligatorisktProduktens annons-ID från marknadsplatsen
Exempel
curl -H "Authorization: Bearer qc_live_YOUR_KEY" \
https://backend.qualit.ly/api/v1/products/weidian/7231368393Svar
{
"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/searchBasicSök i katalogen på produktnamn (matchar även produkt-URL:en). Filtrera valfritt till en marknadsplats eller till produkter som har QC-foton. Ingen paginering — antalet resultat begränsas av din plan.
Frågeparametrar
qobligatorisktSöktext. Flera ord AND-matchas mot produktnamnet och URL:en. (obligatoriskt)
storefrontValfritt. Begränsa resultaten till en av: weidian, taobao, 1688
has_qcValfritt. Sätt till true för att endast returnera produkter som har QC-foton
limitValfritt. Färre resultat än din plans gräns. Värden över gränsen justeras nedåt — aldrig uppåt.
Resultatgränser
Ingen paginering. Varje plan returnerar upp till ett fast antal resultat per sökning. Skicka en lägre gräns för att få färre; du kan inte överskrida din plans gräns.
Exempel
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"Svar
{
"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/..."]
}
]
}/products/batchPro+Slå upp flera produkter i en enda förfrågan (upp till 100). Varje resultat är oberoende, så en saknad produkt får inte batchen att misslyckas.
Förfrågningskropp
{
"items": [
{ "storefront": "weidian", "listing_id": "7231368393" },
{ "storefront": "taobao", "listing_id": "123456789" }
]
}Exempel
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/batchSvar
{
"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/:listingIdBasicHämta QC-metadata och de första 3 miniatyrbild-URL:erna för en produkt.
Exempel
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+Fullständig lista över QC-bilder. Accepterar ett numeriskt produkt-ID eller en ?url=-frågeparameter för URL-baserade uppslag.
Via produkt-ID
curl -H "Authorization: Bearer qc_live_YOUR_KEY" \
https://backend.qualit.ly/api/v1/qc/482910/imagesVia 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"Svar
{
"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= accepterar fullständiga produkt-URL:er från Weidian, Taobao, 1688 och agenter som stöds./meBasicReturnerar din kontoinformation, nyckeln som användes för förfrågan och din aktuella nivå.
Exempel
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"
}/usageBasicKontrollera din aktuella användning av hastighetsgräns och kvot. Returnerar räknare per minut och per månad med återställningstidsstämplar. Själva anropet förbrukar 1 förfrågan från båda räknarna.
Exempel
curl -H "Authorization: Bearer qc_live_YOUR_KEY" \
https://backend.qualit.ly/api/v1/usageSvar
{
"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
}
}Fält
tierEn av: basic, early_adopter, pro, pro_plus, custom
limit / remainingnull på custom-nivån (obegränsat)
usedFörfrågningar räknade i det aktuella fönstret. Minuträknaren återställs var 60:e sekund; månadsräknaren återställs vid UTC-månadsskiftet.
reset_atISO 8601 UTC-tidsstämpel
bucketIntern YYYYMM-nyckel för månadsräknaren
Fel
Samma som andra /api/v1/*-vägar:401 INVALID_KEY /REVOKED_KEY,403 IP_NOT_AUTHORIZED,429 RATE_LIMITED /QUOTA_EXCEEDED.
Kodexempel
Snabbstartsnuttar i populära språk.
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
Qualit.ly-API:et är tillgängligt som en Model Context Protocol (MCP)-server. Anslut den till Claude Desktop, Cursor, VS Code eller vilken MCP-kompatibel klient som helst och fråga efter produkter, QC-bilder och användningsdata direkt från din AI-assistent, utan att behöva manuell HTTP. Samma API-nyckel, hastighetsgränser och nivåregler gäller.
Server-URL
https://backend.qualit.ly/api/mcpTransport
StreamableHTTP (POST)
Autentisering
Authorization: Bearer qc_live_…
Tillgängliga verktyg
get_productsearch_productsget_products_batchget_qcget_qc_imagesget_meget_usagehttps://backend.qualit.ly/.well-known/oauth-authorization-server.Claude Desktop (hårdkodad nyckel)
Lägg till detta i din claude_desktop_config.json (Claude → Inställningar → Utvecklare):
{
"mcpServers": {
"qualitly": {
"url": "https://backend.qualit.ly/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Cursor / VS Code (hårdkodad nyckel)
{
"mcp": {
"servers": {
"qualitly": {
"url": "https://backend.qualit.ly/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
}Snabb verifiering
# 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":{}}'Planer och nivåer
Din nivå avgörs vid varje förfrågan, så uppgraderingar träder i kraft omedelbart. Batch- och fullbildsslutpunkter kräver Pro+.
Behöver du högre gränser? [email protected]
Se fullständiga planer, priser och förmåner