Back to Blog
General

TikTok Shop API: Scrape Products, Prices & Seller Data

January 30, 2026
4 min read
S
By SociaVault Team
tiktok shopproduct scraperapie-commerce

TikTok Shop API: Extract Product & Seller Data

TikTok Shop is growing fast. Our API helps you monitor products, track prices, and analyze sellers on TikTok's e-commerce platform.

TikTok Shop Endpoints

EndpointDescription
ProductsGet products from a seller
Product DetailsGet detailed product info
SearchSearch products by keyword

Why Scrape TikTok Shop?

  • Competitor Analysis - Track competitor pricing and products
  • Market Research - Discover trending products
  • Price Monitoring - Get alerts on price changes
  • Product Discovery - Find best-sellers in your niche
  • Seller Research - Analyze successful TikTok shops

Products Endpoint

Get all products from a TikTok Shop seller:

const response = await fetch('https://api.sociavault.com/tiktok-shop/products', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    handle: 'shop_username'
  })
});

const products = await response.json();

Response

{
  "seller": {
    "username": "shop_username",
    "displayName": "Fashion Store",
    "followers": 125000,
    "productCount": 48
  },
  "products": [
    {
      "id": "1234567890",
      "title": "Summer Dress - Floral Print",
      "price": 29.99,
      "originalPrice": 49.99,
      "discount": "40%",
      "sold": 2500,
      "rating": 4.8,
      "reviewCount": 450,
      "images": ["https://...", "https://..."],
      "url": "https://www.tiktok.com/shop/pdp/..."
    }
  ]
}

Product Details Endpoint

Get comprehensive information about a specific product:

const response = await fetch('https://api.sociavault.com/tiktok-shop/product-details', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    url: 'https://www.tiktok.com/shop/pdp/product-name/1234567890'
  })
});

const productDetails = await response.json();

Response

{
  "id": "1234567890",
  "title": "Summer Dress - Floral Print",
  "description": "Beautiful floral summer dress...",
  "price": 29.99,
  "originalPrice": 49.99,
  "discount": "40%",
  "currency": "USD",
  "sold": 2500,
  "rating": 4.8,
  "reviewCount": 450,
  "variants": [
    {
      "name": "Size",
      "options": ["S", "M", "L", "XL"]
    },
    {
      "name": "Color",
      "options": ["Blue", "Pink", "White"]
    }
  ],
  "images": ["https://...", "https://..."],
  "seller": {
    "username": "shop_username",
    "displayName": "Fashion Store",
    "followers": 125000
  },
  "shipping": {
    "freeShipping": true,
    "estimatedDays": "5-7"
  }
}

Product Search Endpoint

Search TikTok Shop products by keyword:

const response = await fetch('https://api.sociavault.com/tiktok-shop/search', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    query: 'wireless earbuds'
  })
});

const searchResults = await response.json();

Use Cases

Price Monitoring

Track competitor prices over time:

async function monitorPrices(productUrls) {
  for (const url of productUrls) {
    const product = await getProductDetails(url);
    
    await savePriceHistory({
      productId: product.id,
      title: product.title,
      price: product.price,
      originalPrice: product.originalPrice,
      timestamp: new Date()
    });
  }
}

// Run daily

Find Best Sellers

Discover top-performing products:

const searchResults = await searchProducts('phone case');

const bestSellers = searchResults.products
  .filter(p => p.sold > 1000 && p.rating >= 4.5)
  .sort((a, b) => b.sold - a.sold);

console.log('Top selling phone cases:', bestSellers.slice(0, 10));

Competitor Analysis

Compare your products against competitors:

async function analyzeCompetitor(competitorHandle) {
  const products = await getSellerProducts(competitorHandle);
  
  const analysis = {
    totalProducts: products.length,
    avgPrice: products.reduce((s, p) => s + p.price, 0) / products.length,
    avgRating: products.reduce((s, p) => s + p.rating, 0) / products.length,
    topSeller: products.sort((a, b) => b.sold - a.sold)[0]
  };
  
  return analysis;
}

Market Research

Analyze product categories:

const categories = ['skincare', 'fashion', 'electronics', 'home decor'];

for (const category of categories) {
  const products = await searchProducts(category);
  
  console.log(`${category}:`);
  console.log(`  Average price: $${avg(products, 'price').toFixed(2)}`);
  console.log(`  Average rating: ${avg(products, 'rating').toFixed(1)}`);
  console.log(`  Total products: ${products.length}`);
}

Frequently Asked Questions

Can I scrape any TikTok Shop?

Yes, the API works with any public TikTok Shop seller in supported regions.

Do I get historical pricing data?

The API returns current prices. For historical tracking, store price data periodically in your own database.

Can I get product reviews?

The current API returns review count and rating. Individual reviews may be added in a future update.

Is TikTok Shop available globally?

TikTok Shop is available in select countries (US, UK, Southeast Asia). Product availability varies by region.

How often should I refresh product data?

For price monitoring, daily checks are usually sufficient. For fast-moving inventory, consider more frequent updates.

Get Started

Create your free account and start extracting TikTok Shop data.

API documentation: /docs/api-reference/tiktok-shop/products

Found this helpful?

Share it with others who might benefit

Ready to Try SociaVault?

Start extracting social media data with our powerful API. No credit card required.