Sourcelane

TikTok Shop Reviews Scraper

TikTok

Operated by Sourcelane✓ verified

Scrape TikTok Shop product reviews: star rating, review text, photos, variant bought, date, verified purchase and reviewer, plus product title and shop.

Read full description

A web scraper for TikTok Shop product pages that extracts complete customer review records: star ratings, full review text, review timestamps, attached review photos and photo counts, purchased variant/SKU details, trust signals (verified purchase and incentivized flags), reviewer display names and avatars, and product context such as product title, shop name, overall rating and units sold. The connector collects reviews in TikTok Shop’s native ordering, works without a TikTok account or login, supports batch scraping of multiple products, and provides resumable pagination to continue large crawls. Output is structured as one record per review containing review metadata, media references, buyer variant and trust indicators, reviewer identity info, and product-level metadata useful for analytics and downstream processing.

Verified Oct 25, 10:11 PM

$0.002

per review

Up to 100 per call. Only pay for results returned; failed calls are refunded.

What people use it for

You give it

  • Product URLsrequired

    TikTok Shop product page URLs such as https://www.tiktok.com/shop/pdp/cat-nail-clipper/1731578642912612516, o…

Optional settings

Max reviews per productAdd product title and shopShop regionPage ID

You get back

Text & content
Product titleReview IDTextReviewer ID
People & accounts
Shop nameVerified purchaseReviewer name
Numbers & stats
Product ratingProduct review countRating
Location
Reviewer country
Dates
Reviewed at
Links & media
Product URLProduct image URLShop URLImagesImage countReviewer avatar URLInput URL
Other details
Product IDProduct units soldVariantSKU IDHas mediaIncentivizedPosition

Trust & reliability

7d uptime trend
WindowUptimeSuccess ratep50p95Calls
24h————0
7d————0
30d————0

Calling contract

Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.

Call it via Sourcelane

curl -X POST https://api.usesourcelane.com/v1/call \
  -H "Authorization: Bearer sl_live_your_agent_key" \
  -H "Content-Type: application/json" \
  -d '{"listing":"tiktok-shop-reviews-scraper","params":{"productUrls":["https://www.tiktok.com/shop/pdp/cat-nail-clipper-by-potaroma-adjustable-sizes-built-in-file-safe-for-kittens-cats/1731578642912612516"]},"maxResults":10}'

Request params

FieldTypeRequiredDescription
productUrlsarrayrequiredTikTok Shop product page URLs such as https://www.tiktok.com/shop/pdp/cat-nail-clipper/1731578642912612516, or just the numeric product ID. One per line (up to 500).
maxReviewsPerProductintegeroptionalHow many reviews to collect for each product. 0 = all reviews (up to 10,000 per product per run; use Page ID to continue past that).
includeProductInfobooleanoptionalAdd the product title, image, shop name, units sold and overall rating to every review row.
regionstringoptionalThe TikTok Shop marketplace the products are sold in. United States is the most complete; other regions may return fewer reviews.
pageIdstringoptionalPaste NEXT_PAGE_ID from the previous run's Key-value store to continue each product where that run stopped. Keep the same Product URLs list.

Each result contains

FieldTypeDescription
productIdstring—
productUrlstringProduct URL
productTitlestringProduct
productImageUrlstring—
shopNamestring—
shopUrlstring—
productRatingnumber—
productReviewCountinteger—
productUnitsSoldinteger—
reviewIdstring—
ratingintegerStars
textstringReview
reviewedAtstringDate
variantnullVariant
skuIdnull—
imagesarrayPhotos
imageCountinteger—
hasMediaboolean—
isVerifiedPurchasebooleanVerified
isIncentivizedboolean—
reviewerNamestringReviewer
reviewerIdstring—
reviewerAvatarUrlstringAvatar
reviewerCountrystring—
positioninteger—
inputUrlstring—
scrapedAtstring—

Use TikTok Shop Reviews Scraper from Claude, ChatGPT or Cursor

Pick your tool and connect in under a minute. Then just ask — for example: “What are the top 25 TikTok videos for 'protein coffee' this week, and what hooks do they use?”

Connect Claude

Web, desktop and mobile. One click, then confirm.

  1. 1Click Add to Claude — claude.ai opens with Sourcelane filled in
  2. 2Click Continue to confirm — it then works in Claude desktop and mobile too
Manual setup (config files, REST, Python) +

Claude Code

Adds the Sourcelane MCP server with your key as a header.

terminal
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
  --header "Authorization: Bearer sl_live_your_agent_key"

Claude Desktop (config file)

Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.

claude_desktop_config.json
{
  "mcpServers": {
    "sourcelane": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.usesourcelane.com/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer sl_live_your_agent_key"
      }
    }
  }
}

Cursor & Windsurf

Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).

mcp.json
{
  "mcpServers": {
    "sourcelane": {
      "url": "https://api.usesourcelane.com/mcp",
      "headers": {
        "Authorization": "Bearer sl_live_your_agent_key"
      }
    }
  }
}

VS Code

Save as .vscode/mcp.json. VS Code prompts for your key once.

.vscode/mcp.json
{
  "servers": {
    "sourcelane": {
      "type": "http",
      "url": "https://api.usesourcelane.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:sourcelane-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "sourcelane-key",
      "description": "Sourcelane agent key",
      "password": true
    }
  ]
}

ChatGPT Custom GPT (Actions)

Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.

OpenAPI schema URL
https://usesourcelane.com/openapi.json

REST

One POST. Pass maxResults to cap cost.

curl
curl -X POST https://api.usesourcelane.com/v1/call \
  -H "Authorization: Bearer sl_live_your_agent_key" \
  -H "Content-Type: application/json" \
  -d '{"listing":"tiktok-shop-reviews-scraper","params":{"productUrls":["https://www.tiktok.com/shop/pdp/cat-nail-clipper-by-potaroma-adjustable-sizes-built-in-file-safe-for-kittens-cats/1731578642912612516"]},"maxResults":10}'

Python, LangChain, CrewAI, OpenAI Agents SDK…

Wrap the REST call as a tool, or point an MCP client at the endpoint.

python
import requests

res = requests.post(
    "https://api.usesourcelane.com/v1/call",
    headers={"Authorization": "Bearer sl_live_your_agent_key"},
    json={
        "listing": "tiktok-shop-reviews-scraper",
        "params": {"productUrls":["https://www.tiktok.com/shop/pdp/cat-nail-clipper-by-potaroma-adjustable-sizes-built-in-file-safe-for-kittens-cats/1731578642912612516"]},
        "maxResults": 10,
    },
    timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])

Reviews

—

0 reviews

5
0
4
0
3
0
2
0
1
0

Leave a review

Loading reviews…

Related TikTok connectors

See all TikTok data connectors →

Guides that use this connector