TikTok Products Scraper

The shop,
not the feed.

Point it at a TikTok Shop category - or paste a product page - and get the listings back as rows: name, price, currency, availability, brand, sku, mpn, gtin, rating, reviews, image, link and description. This is the catalogue side of TikTok, read from the structured data the pages publish, on the same fifteen columns as every other retailer on this tool.

one-time 500 free rows$0.002 per row after15 columnsCSV · XLSX · JSON
How it works

A category in,
a catalogue out.

The input is the page, not the item number - you name the Shop categories, searches or products you want, and the job reads what each listing publishes.

  1. STEP 1Sign in to the platform.
  2. STEP 2Open the TikTok Products Scraper.
  3. STEP 3Paste TikTok Shop category, search or product URLs, one per line - or upload a CSV, XLSX, TXT or Parquet file.
  4. STEP 4Set a limit per query, or set it to zero to take everything.
  5. STEP 5Choose your output format.
  6. STEP 6Click Get Data.

One row per product, each tagged with the query it came from - so a run across a dozen categories still reconciles back to your input list.

Why teams use it

Commerce data,
on the same fifteen columns.

Take the category, not one item

The input this one is set up for is a Shop category page - everything filed under a heading like computers & office equipment - rather than a URL you already had to find. One line becomes a shortlist, and the limit per query decides how much of it you take.

Stacks with every other retailer here

TikTok Shop is one of sixteen storefronts behind a single products scraper, so its export carries the same fifteen names in the same order as Staples, Tesco or Zoro. Put a social-commerce catalogue next to a high-street one in the same table and the comparison needs no reshaping at all.

No residential proxy needed here

Every request goes out through the shared proxy pool rather than your own address. TikTok is not one of the retailers the platform flags as needing a residential connection - Lowes, Grainger, Zalando and Fastenal are - so the default pool is what this one runs on.

What you get back

Fifteen columns,
one row per product.

Each row is one listing as the Shop publishes it: what it is called, what it costs, who makes it, how it is identified and what the page says about it.

The fields come from the structured data on the page rather than from scraping the layout, which is what makes the shape stable across a whole category - and also what bounds it. A field the storefront does not publish does not appear, no matter how the run is configured. The column list below is the header row of real run exports and the platform's own published list, which agree exactly; read the note under it before you write a parser, because it explains what this page will and will not tell you.

Data dictionary

Fifteen columns,
in export order.

The export's header row, in order, confirmed against the platform's published column list. Descriptions say what each field is for; they claim nothing about its format or how often it arrives filled - see the note underneath.

query
The TikTok Shop URL you submitted, repeated on every row that came from it. Written by the scraper rather than taken from the page, so it is there on every row.
service
Which storefront this row came from - also written by the scraper. It matters because this tool serves sixteen retailers behind one form, so a file assembled from more than one job stays separable.
name
The product name as the listing gives it.
price
The asking price. The unit is in currency, not in this column.
currency
The currency the price is quoted in. Read it per row rather than assuming it from the storefront - TikTok Shop runs in more than one market.
availability
The stock status the listing publishes.
brand
The brand the product is filed under.
sku
The storefront's own stock code - the seller's identifier for the item.
mpn
The manufacturer's part number. The field to match on when the same item is sold by more than one seller under different stock codes.
gtin
The global trade item number - the barcode identifier. The most reliable join key across catalogues when it is published.
rating
The average rating shown for the product.
reviews
How many reviews that average is built on.
image
A link to the product image.
url
A link to the product page. The column to keep if you ever need to check a value by hand.
description
The product description as published.

Read this dictionary as a list of names, not a promise about contents. The fifteen names and their order are solid - the published column list and the header row of every archived run of this scraper agree exactly. What is not settled is what arrives in them for TikTok Shop, because we hold no populated TikTok export: the runs we have are either empty or from a different retailer on the same shared tool, and one storefront's structured data tells you nothing reliable about another's. That is also why the mechanism matters more here than a format would: the fields are read from the structured data the listings publish, so the export is exactly as complete as that is. query and service are the exceptions - the scraper writes those itself, so they are on every row regardless. And one expectation worth setting before you start: these fifteen columns are a catalogue, not a social graph. There is no creator, no video, no view count and no hashtag here, because none of those is in this schema. If a category on the free tier is cheap enough to try, run one and look before you build.

Run controls

Set on the job,
not in the spreadsheet.

A list of URLs and a limit. The input accepts a Shop category, a search or a single product, and the limit is what decides the size and the cost of a run.

TikTok Shop category URL Search URL Product URL One per line Limit per query 0 for everything CSV upload XLSX upload TXT upload Parquet upload Shared proxy pool, never your IP
Common workflows

Three jobs this
runs more than any other.

A few examples of how teams use social-commerce catalogue data to answer a question they actually have.

Competitive

See what a category actually costs on TikTok Shop

Pull the categories you sell into and put the published prices next to your own. Social commerce prices are not always the same as the ones on a traditional storefront, and the gap is either your opportunity or your problem.

Strategy
Data

Put one catalogue beside another

Because every retailer on this tool exports the same fifteen columns, a TikTok Shop pull and a high-street pull stack in one table with no reshaping. Join on mpn or gtin rather than the stock code, which every seller assigns differently, and the same item lines up across both.

Data · Ops
Brand

Find out who is listing your products

Search or browse the categories your brand belongs in and read the brand and seller stock codes that come back. Marketplaces are where unauthorised listings surface first, and a scheduled re-run turns that into a diff rather than a discovery.

Brand · Legal
Pricing

Pay only for the rows
you actually pull.

No subscription, no minimum, no recurring bill. Your first 500 rows are on us - after that, pay-as-you-go at the same flat rate as every other scraper here.

Free tier

500 free rows - $0

Every new account, one-time. No credit card required. Per-query limits, file upload and every export format included.

$0 forever
Pay-as-you-go

$0.002 per row, after the free tier

Roughly $2 per 1,000 products. The pre-flight estimator shows the row count and credit cost before a run starts - no surprise bills, no compute units to translate.

Most popular
Volume

Custom · high volume

Volume pricing, dedicated workers and an SLA for continuous monitoring or very large catalogue pulls. Tell us your numbers and we will quote.

Talk to us
10% off your first paid run.Use code LIVESCRAPER10 at checkout.
Sign up
Pairs well with

The social side,
and the same shape elsewhere.

The legal bit

Is it legal to scrape
TikTok Shop listings?

Short answer: yes for the public catalogue - and this export contains no account, no customer and no order data.

The fields collected here are the ones a Shop listing publishes in the structured data on its own public product pages, for search engines and shopping tools to read. Name, price, availability, brand and identifiers are shown to anyone who opens the page, signed in or not. Collecting publicly published catalogue data is long-established practice, and nothing here touches a login, an account or a checkout.

There is no personal data in this output at all - it is a product table. No customer names, no order history, no creator accounts and no engagement figures, because none of that is in this schema. Whatever your signed-in account sees is not what this reads, and that is a deliberate boundary rather than a limitation to work around.

TikTok's own terms restrict automated access, so this is a terms question as well as a legal one - if you sell on the platform or have a commercial relationship with it, check them. We run no third-party trackers on the data layer, and your exports auto-delete after 30 days.

livescraper.app · principles
Public catalogue data only
No logins, no accounts touched
No creator or engagement data
No personal data collected
Exports auto-delete (30 days)
Check TikTok's own terms before scaling.
Common questions

Things people
ask before signing up.

The questions we hear most. Anything else? Talk to us - humans, not bots, write the answers.

How do I scrape TikTok Shop product data?+
Using the TikTok Products Scraper:
  1. Sign in to the platform.
  2. Open the TikTok Products Scraper.
  3. Paste TikTok Shop category, search or product URLs, one per line - or upload a CSV, XLSX, TXT or Parquet file.
  4. Set a limit per query, or set it to zero to take everything.
  5. Choose your output format.
  6. Click Get Data.
Does this give me creators, videos or view counts?+
No, and that is worth knowing before you start. This is the catalogue side of TikTok: fifteen product columns and nothing social. There is no creator, no video, no engagement figure and no hashtag in the schema. If that is what you are after, the platform has separate services for profiles, videos, comments, hashtags and search.
Can I start from a category instead of a product page?+
Yes, and that is what this one is set up for. A Shop category or search URL takes everything listed under that heading, so one line becomes a shortlist rather than a single item. A single product URL works too when you already know exactly what you want.
What comes back for each product?+
Fifteen columns: the query you submitted, the service, the name, the price, the currency, the availability, the brand, the sku, the mpn, the gtin, the rating, the review count, the image, the product link and the description.
Why might a column come back empty?+
Because the fields are read from the structured data the storefront publishes on its own pages, so the export is exactly as complete as that is. A listing that does not publish a gtin has no gtin to give. The query and service columns are the exceptions - the scraper writes those itself, so they are on every row regardless.
Do I need a residential proxy for this one?+
No. Requests go out through the shared proxy pool rather than your own address, and TikTok is not one of the retailers the platform flags as needing a residential connection. Some retailers on this same tool are - Lowes, Grainger, Zalando and Fastenal are named - but this is not one of them, so the default pool is what it runs on.
Is this the same tool as the other retailers?+
Yes. TikTok Shop is one of sixteen storefronts behind one shared products scraper, which is why every one of them exports the same fifteen columns in the same order. The service column records which storefront a row came from, so a file assembled from more than one job stays separable.
How much does it cost?+
The first 500 rows are free and one-time, with no credit card. After that it is $0.002 per row - about $2 per 1,000 products - which is the same flat rate as every other scraper on the platform. The estimator shows the cost of a run before it starts.

Your first 500 rows,
on the house.

500 one-time free rows on every new account - no expiry. After that it is $0.002 per row, pay-as-you-go - no card on file until you say so.

Activates instantly · no card required

Scrape TikTok Shop product and category data at scale

Livescraper's TikTok Products Scraper turns TikTok Shop URLs into a product table. You paste category, search or product URLs one per line - or upload them as a CSV, XLSX, TXT or Parquet file - cap the rows per query, and download the results as a clean CSV, Excel or JSON file. Requests go out through the shared proxy pool rather than your own address.

Each row is one listing: the name, the price and its currency, the availability, the brand, the seller's stock code, the manufacturer part number, the gtin, the rating and review count, the image, the product link and the description. Those fields are read from the structured data the listings publish, which keeps the shape stable across a whole category - and also bounds it, since a field a listing does not publish is not there to collect.

It is worth being clear about what this is. TikTok Shop is one of sixteen storefronts behind a single shared products scraper, so this export is an ordinary fifteen-column catalogue - the same names in the same order as Staples, Tesco or Zoro, which is what lets a social-commerce pull and a high-street pull sit in one table and join on mpn or gtin. What it is not is social data: there is no creator, no video, no view count and no hashtag in this schema, and anyone after those wants the platform's profiles, videos, comments, hashtags or search services instead.

One practical note up front: this page describes the fifteen columns and their order, which the archived exports and the platform's published list agree on exactly, but it claims no formats or fill rates for TikTok Shop because no populated TikTok export exists to base them on. Run one category on the free tier and look at the first rows before you build against it. Your first 500 rows cost nothing and need no credit card, and after that it is $0.002 per row, flat.