API reference

The repsapi reference

One base URL, bearer auth, predictable JSON. Every endpoint is live and free — grab a key and start calling.

https://repsapi.com/v1Authorization: Bearer rk_live_…

Tracking

GET/v1/tracking

Universal parcel tracking by tracking number. Normalised, newest-first scan events with status, date, and location.

Parameters

numreqstring

The tracking number to look up (alias: id).

request
curl "https://repsapi.com/v1/tracking?num=YT2530998211074512" \
  -H "Authorization: Bearer YOUR_KEY"
200 · response
{
  "tracking_number": "YT2530998211074512",
  "count": 2,
  "updates": [
    {
      "date": "2026-06-21",
      "hour": "08:14",
      "status": "Departed facility",
      "location": "Shenzhen",
      "country": "CN"
    },
    {
      "date": "2026-06-19",
      "hour": "22:01",
      "status": "Accepted by carrier",
      "location": "Shenzhen",
      "country": "CN"
    }
  ],
  "source": "repsapi.com",
  "attribution": "Data provided by repsapi.com — free reps API",
  "docs": "https://repsapi.com/docs"
}

QC Photos

GET/v1/qc

Fetch real warehouse QC photo batches by product link (or platform + id). Grouped by run, plus the listing photos.

Parameters

urlreqstring

Any agent or raw platform product link.

platformstring

Alternative to url — weidian · taobao · 1688 · tmall.

idstring

Alternative to url — product id on the platform.

request
curl "https://repsapi.com/v1/qc?url=https://weidian.com/item.html?itemID=7283641902" \
  -H "Authorization: Bearer YOUR_KEY"
200 · response
{
  "platform": "weidian",
  "product_id": "7283641902",
  "canonical": "https://weidian.com/item.html?itemID=7283641902",
  "provider": "warehouse-archive",
  "total_photos": 20,
  "batch_count": 5,
  "batches": [
    {
      "date": "2026-06-15",
      "sku": "Grey / 42",
      "photos": [
        "https://cdn.repsapi.com/qc/a5fa…06d.jpg",
        "https://cdn.repsapi.com/qc/9246…326.jpg"
      ]
    }
  ],
  "listing_photos": [ "https://cdn.repsapi.com/live/7283641902-1.jpg" ],
  "source": "repsapi.com",
  "docs": "https://repsapi.com/docs"
}

Item Lookup

GET/v1/lookup

One call returns sizes, versions/colorways, price and stock — plus warehouse stats (storage time, turnover, weight, volume) from the agent the link came from.

Parameters

urlreqstring

Any agent or raw platform link. The agent it came from is auto-detected.

platformstring

Alternative to url — weidian · taobao · 1688 · tmall.

idstring

Alternative to url — product id on the platform.

agentstring

Force which agent's warehouse stats to pull (e.g. acbuy).

request
curl "https://repsapi.com/v1/lookup?url=https://www.acbuy.com/product?id=7773938334&source=WD" \
  -H "Authorization: Bearer YOUR_KEY"
200 · response
{
  "platform": "weidian",
  "product_id": "7773938334",
  "canonical": "https://weidian.com/item.html?itemID=7773938334",
  "source_agent": "acbuy",
  "title": "手工喷绘帆布鞋",
  "main_image": "https://si.geilicdn.com/…_800_800.jpg",
  "price": { "low": 225, "high": 275, "currency": "CNY" },
  "availability": { "in_stock": true, "total_stock": 141484 },
  "variant_source": "weidian",
  "sizes": ["36","37","38","39","40","41","42","43","44","45","46","47"],
  "versions": ["黑印花","黑粉破洞","全白"],
  "variants": {
    "options": [
      { "name": "Version", "name_cn": "颜色", "values": ["黑印花","全白"] },
      { "name": "Size",    "name_cn": "尺码", "values": ["36","42","47"] }
    ],
    "skus": [
      { "attrs": { "Version": "黑印花", "Size": "42" },
        "stock": 500, "price": 225,
        "image": "https://si.geilicdn.com/…jpg" }
    ]
  },
  "warehouse": {
    "agent": "acbuy",
    "storage_time": { "label": "Average storage time", "value": "2 days" },
    "turnover": null,
    "weight_g": 540,
    "volume_cm3": 6732,
    "dimensions_cm": "34×33×6 cm"
  },
  "source": "repsapi.com",
  "docs": "https://repsapi.com/docs"
}

Link Convert

GET/v1/convert

Convert any agent or raw platform link into every supported agent + the raw platform link. One call, every agent.

Parameters

urlreqstring

Any agent or raw platform product link.

agentsstring[]

Restrict output to specific agents (default: all).

request
curl "https://repsapi.com/v1/convert?url=https://www.acbuy.com/product?id=7283641902&source=WD" \
  -H "Authorization: Bearer YOUR_KEY"
200 · response
{
  "platform": "weidian",
  "id": "7283641902",
  "canonical": "https://weidian.com/item.html?itemID=7283641902",
  "agents": {
    "cnfans":  "https://cnfans.com/product?id=7283641902&platform=WEIDIAN",
    "kakobuy": "https://kakobuy.com/item/details?id=7283641902",
    "mulebuy": "https://mulebuy.com/product?id=7283641902&platform=WEIDIAN",
    "acbuy":   "https://acbuy.com/product?id=7283641902&source=WD"
  },
  "source": "repsapi.com",
  "docs": "https://repsapi.com/docs"
}

Webhooks

Subscribe to events instead of polling. Every payload is signed with your secret (HMAC-SHA256) in the X-Reps-Signature header.

tracking.updatedqc.batch.createdconvert.resolvedlookup.resolved
POST your-endpoint · payload
{
  "event": "tracking.updated",
  "created": "2026-06-24T08:14:00Z",
  "data": {
    "tracking_id": "YT2530998211074512",
    "status": "Departed facility",
    "latest": {
      "date": "2026-06-24",
      "hour": "08:14",
      "status": "Departed facility",
      "location": "Shenzhen",
      "country": "CN"
    }
  }
}

SDKs

Official typed clients are on the way. Until then the REST API is a single authenticated GET — trivial to wrap in any language.

Node — soonPython — soonGo — soonSDK guide →

Ready to build? Grab a free demo key on the home page.

Get API key