API Documentation

Base URL: https://apicloak.io — All responses are JSON. All scraping endpoints are POST.

Authentication

All endpoints except /v1/health require an API key.

X-Api-Key: sk_live_your_key_here

Alternative: Authorization: Bearer sk_live_...

Proxy

All scraping endpoints require a proxy field. You provide your own residential or mobile proxy.

http://user:pass@host:port
socks5://user:pass@host:port
Tip: Datacenter proxies are usually blocked. Use residential or mobile for best results.

Shopee Endpoints

Regions (12)

Auto-detected from URL, or pass region explicitly. Default: tw.

CodeDomainCountry
twshopee.twTaiwan
brshopee.com.brBrazil
sgshopee.sgSingapore
thshopee.co.thThailand
idshopee.co.idIndonesia
myshopee.com.myMalaysia
phshopee.phPhilippines
vnshopee.vnVietnam
arshopee.com.arArgentina
mxshopee.com.mxMexico
lashopee.com.laLaos
khshopeekh.comCambodia
POST/v1/shopee/product

Full product details — name, description, pricing, rating, seller, images, categories, variant names.

ParamTypeDescription
urlstringrequiredShopee product URL
proxystringrequiredYour proxy URL
URL formats: Both shopee.tw/product-i.SHOP.ITEM and shopee.tw/product/SHOP/ITEM work.
curl -X POST https://apicloak.io/v1/shopee/product \
  -H "X-Api-Key: sk_live_..." -H "Content-Type: application/json" \
  -d '{"url":"https://shopee.tw/product/123/456","proxy":"http://user:pass@proxy:8080"}'
POST/v1/shopee/variants

Per-variant pricing, stock, tier variations, gallery, and promotions. Returns Shopee's full data.

Mode A: Pass url — IDs extracted automatically.
Mode B: Pass item_id + shop_id directly.
ParamTypeDescription
urlstringmode AShopee product URL
item_idstringmode BItem ID
shop_idstringmode BShop ID
regionstringoptionalRegion code (default: tw)
proxystringrequiredYour proxy URL
Price format: Divide single_value by 100,000 for display price. Example: 200000 = $2.00 TWD.
curl -X POST https://apicloak.io/v1/shopee/variants \
  -H "X-Api-Key: sk_live_..." -H "Content-Type: application/json" \
  -d '{"url":"https://shopee.tw/product/123/456","proxy":"http://user:pass@proxy:8080"}'
POST/v1/shopee/catalog

Browse a shop's entire product catalog. Returns up to 20 products per page with pricing, ratings, images, and variant info. Paginate with offset.

ParamTypeDescription
shop_idstringrequiredShopee shop ID
limitintoptionalItems per page, max 20 (default: 20)
offsetintoptionalPagination offset (default: 0)
regionstringoptionalRegion code (default: tw)
proxystringrequiredYour proxy URL
curl -X POST https://apicloak.io/v1/shopee/catalog \
  -H "X-Api-Key: sk_live_..." -H "Content-Type: application/json" \
  -d '{"shop_id":"1097448496","region":"tw","proxy":"http://user:pass@proxy:8080"}'

Response

{
  "success": true,
  "data": {
    "items": [
      {
        "itemid": 29501839718,
        "shopid": 1097448496,
        "name": "Product Name",
        "price": 200000,
        "price_min": 200000,
        "price_max": 200000,
        "price_before_discount": 400000,
        "discount": "50%",
        "item_rating": {"rating_star": 4.9, "rating_count": [343,...]},
        "images": ["img1.jpg", "img2.jpg"],
        "tier_variations": [{"name": "Color", "options": [...]}],
        "bundle_deal_info": {"bundle_deal_label": "Buy 3 get 10% off"}
      }
    ],
    "total": 19,
    "limit": 20,
    "offset": 0
  },
  "request_id": "req_abc123",
  "latency_ms": 450
}
Note: Catalog returns item-level price ranges, not per-variant prices. Use /v1/shopee/variants for individual variant pricing.
POST/v1/shopee/shipping

Shipping channels, prices, estimated delivery, and free shipping rules for a product + destination.

Mode A: Pass url + zipcode.
Mode B: Pass item_id + shop_id + zipcode + region.
ParamTypeDescription
urlstringmode AProduct URL
item_idstringmode BItem ID
shop_idstringmode BShop ID
zipcodestringrequiredBuyer's postal code
citystringoptionalCity (improves accuracy)
statestringoptionalState code
regionstringoptionalRegion code (default: tw)
proxystringrequiredYour proxy URL
curl -X POST https://apicloak.io/v1/shopee/shipping \
  -H "X-Api-Key: sk_live_..." -H "Content-Type: application/json" \
  -d '{"item_id":"123","shop_id":"456","zipcode":"01310-100","region":"br","proxy":"http://user:pass@proxy:8080"}'
POST/v1/shopee/reviews

Product reviews with text, star ratings, images, variant info, and pagination.

Mode A: Pass url.
Mode B: Pass item_id + shop_id.
ParamTypeDescription
urlstringmode AProduct URL
item_idstringmode BItem ID
shop_idstringmode BShop ID
limitintoptionalPer page, max 50 (default: 20)
offsetintoptionalPagination offset
typeintoptionalStar filter: 0=all, 1-5=specific
regionstringoptionalRegion code (default: tw)
proxystringrequiredYour proxy URL
curl -X POST https://apicloak.io/v1/shopee/reviews \
  -H "X-Api-Key: sk_live_..." -H "Content-Type: application/json" \
  -d '{"url":"https://shopee.tw/product/123/456","limit":20,"proxy":"http://user:pass@proxy:8080"}'
POST/v1/shopee/shop

Shop profile, rating, follower count, response metrics, and product count.

Mode A: Pass url (any product URL from the shop).
Mode B: Pass shop_id.
ParamTypeDescription
urlstringmode AAny product URL from the shop
shop_idstringmode BShop ID
regionstringoptionalRegion code (default: tw)
proxystringrequiredYour proxy URL
curl -X POST https://apicloak.io/v1/shopee/shop \
  -H "X-Api-Key: sk_live_..." -H "Content-Type: application/json" \
  -d '{"shop_id":"1097448496","region":"tw","proxy":"http://user:pass@proxy:8080"}'
POST/v1/shopee/flash-sales

Active flash sale items with discounted prices, original prices, flash stock, and promotion timing.

ParamTypeDescription
regionstringoptionalRegion code (default: tw)
category_idintoptionalFlash sale category filter (default: 0 = all)
limitintoptionalItems per page, max 50 (default: 20)
offsetintoptionalPagination offset
proxystringrequiredYour proxy URL
curl -X POST https://apicloak.io/v1/shopee/flash-sales \
  -H "X-Api-Key: sk_live_..." -H "Content-Type: application/json" \
  -d '{"region":"tw","proxy":"http://user:pass@proxy:8080"}'

Lazada Endpoints

Lazada endpoints return structured JSON with full product data. Proxy required.

Regions (6)

CodeDomainCountry
sglazada.sgSingapore
thlazada.co.thThailand
vnlazada.vnVietnam
mylazada.com.myMalaysia
phlazada.com.phPhilippines
idlazada.co.idIndonesia
POST/v1/lazada/product

Full product data — pricing, seller, specs, delivery, vouchers, warranties, reviews, and 25+ data fields per product.

Mode A: Pass url — item ID and region extracted automatically.
Mode B: Pass item_id + region directly.
ParamTypeDescription
urlstringmode ALazada product URL
item_idstringmode BLazada item ID
regionstringmode BRegion code (sg, th, vn, my, ph, id)
proxystringrequiredYour proxy URL
curl -X POST https://apicloak.io/v1/lazada/product \
  -H "X-Api-Key: sk_live_..." -H "Content-Type: application/json" \
  -d '{"item_id":"5928889081","region":"th","proxy":"http://user:pass@proxy:8080"}'

Response

{
  "api": "lazada.product.detail",
  "data": {
    "module": "{\"product\":{\"title\":\"...\",\"brand\":{...}},\"skuInfos\":{...},\"seller\":{...},\"review\":{...},\"specifications\":{...},\"deliveryOptions\":{...},\"vouchers\":{...},...}"
  },
  "ret": ["SUCCESS::..."],
  "traceId": "...",
  "v": "1.0"
}

The module field is a JSON string. Parse it to access product data: JSON.parse(response.data.module)

Module keys (25)

product, skuInfos, seller, review, specifications, productOption, skuGalleries, deliveryOptions, deliveryOptionsInfo, vouchers, warranties, warrantiesInfo, promotionTags, shopPromotion, Breadcrumb, primaryKey, globalConfig, disclaimers, recommendSkus, rules, tag, tracking, elevator, guideApp, seo

TikTok Shop Endpoints

TikTok Shop endpoints return structured JSON with full product data. Proxy required (regional proxy recommended).

Regions (11)

CodeCountry
usUnited States
gbUnited Kingdom
sgSingapore
thThailand
vnVietnam
myMalaysia
phPhilippines
idIndonesia
jpJapan
mxMexico
krSouth Korea

Products are region-locked. Use a proxy from the target region for best results.

POST/v1/tiktok/product

Full product data — pricing, SKU variants, reviews, seller info, shipping, promotions, and 30+ data fields per product.

Mode A: Pass url — product ID extracted automatically.
Mode B: Pass product_id + region directly.
ParamTypeDescription
urlstringmode ATikTok Shop product URL
product_idstringmode B19-digit product ID
regionstringoptionalRegion code (defaults to us)
proxystringrequiredYour proxy URL (regional proxy recommended)
curl -X POST https://apicloak.io/v1/tiktok/product \
  -H "X-Api-Key: sk_live_..." -H "Content-Type: application/json" \
  -d '{"product_id":"1729492204523128606","region":"sg","proxy":"http://user:pass@proxy:8080"}'

Response

{
  "success": true,
  "data": {
    "product_base": {"title": "...", "sold_count": 8798, "price": {...}, "images": [...], "specifications": [...]},
    "skus": [{...}, ...],
    "skuPriceInfo": [{...}, ...],
    "sale_props": [{...}, ...],
    "product_detail_review": {"product_rating": 4.8, "review_count": 1200, ...},
    "seller": {"name": "...", "seller_id": "...", "product_count": 55, ...},
    "logistic": {"delivery_option": [...], ...},
    "promotion_view": {...},
    ...
  },
  "request_id": "req_abc123",
  "latency_ms": 1200
}

Key data fields

product_base (title, description, images, sold_count, price), skus (all SKU variants), skuPriceInfo (per-SKU pricing), sale_props (variant options — color, size), product_detail_review (rating, reviews), seller (shop info), logistic (delivery options), pdp_logistic_module (shipping + return policies), promotion_view (active promotions), promotion_logos

Account

GET/v1/usage

Your usage stats, billing estimate, and rate limit status. Not rate-limited.

curl https://apicloak.io/v1/usage -H "X-Api-Key: sk_live_..."
GET/v1/health

Public health check. No auth required.

curl https://apicloak.io/v1/health

Reference

Error Codes

CodeMeaningCause
400Bad RequestMissing fields, invalid JSON, no proxy
401UnauthorizedInvalid API key
402Payment RequiredInsufficient credits
403ForbiddenKey revoked or endpoint not in tier
429Rate LimitedToo many requests
502Upstream ErrorProxy failed or target unreachable
{"success": false, "error": "description", "request_id": "req_abc123"}

Rate Limits

Enforced per user, not per key. Rotating keys does not reset limits.

HeaderDescription
X-RateLimit-LimitMax requests per minute
X-RateLimit-RemainingRemaining this minute
Retry-AfterSeconds to wait (on 429 only)
X-CacheHIT or MISS — whether response was served from cache

Pricing

Shopee

TierRate/minMonthly CapPrice per 1K
Starter60100K$4.00
Growth200500K$3.00
Scale5001M$2.00
Enterprise500Unlimited$1.50

Lazada

TierRate/minMonthly CapPrice per 1K
Starter60100K$2.50
Growth200500K$2.00
Scale5001M$1.20
Enterprise500Unlimited$0.80

TikTok Shop

TierRate/minMonthly CapPrice per 1K
Starter60100K$2.50
Growth200500K$1.80
Scale5001M$1.00
Enterprise500Unlimited$0.70

Products billed separately. Cached responses are still billed. Contact us for custom plans.