The Ultimate Guide to Scraping TikTok Ads for Free (2023)

Shehriar Awan
December 26, 2023
11 min read

In this article, we'll learn how to scrape TikTok's top ads without coding. But why do we need to scrape TikTok ads in the first place? 🤔

Why might I want to scrape TikTok?

Tiktok's traffic stats from similarweb

TikTok has 2.1 billion monthly users. As an advertiser you can reach around 885 million people on TikTok. Scraping popular TikTok ads has a lot of use cases for:

  1. Media Buyers: Gain insights into trends and effective strategies.
  2. Marketing Professionals: Data from top performing ad campaigns can help you a lot in market research.
  3. Business Owners: Check out popular TikTok ads to learn what works. Improve your own TikTok ads for better results in your campaigns.
  4. Data Enthusiasts: You can study buying behaviors using this dataset. You can check TikTok's ad numbers for a full picture of how ads work on the platform.

But is it legal ⚖️ to extract data from TikTok ads? Let’s answer this first.

Is it illegal to scrape data from TikTok?

Collecting TikTok data, including ads, is legal, but you must follow data protection and privacy laws. Important considerations include:

  1. Purpose of Data Collection
  2. Personal Identifiable Information (PII)

Purpose of Data Collection

Purpose of data collection

It’s important to understand the ethical use of data. You can not collect data in a way that violates the company’s terms of services or copyright ownership. For example:

  1. Ethical: Collecting top-performing TikTok ads for market research and analysis to understand trends and improve advertising strategies.
  2. Unethical: Scraping TikTok's top ads with the intent of replicating or reusing the content for unauthorized commercial purposes.

Personal Identifiable Information (PII)

Personal Identifiable Information (PII)

You must refrain from collecting sensitive information without users’ consent. For example:

  1. Ethical: Collecting only non-sensitive information related to TikTok ads, such as ad content, engagement metrics, and user interactions.
  2. Unethical: Collecting users' personal information, such as usernames, email addresses, or any other sensitive data, without their consent.

In our case, we collect data from TikTok's Creative Center. Top ads are accessible to everyone. We’re not collecting any sensitive data. So this practice is well within legal boundaries.

Read our guide on the legality of web scraping for more information.

OK so scraping TikTok ads is legal and has many vital use cases.

But why not use TikTok's official API? 📜

Why not use the official TikTok API?

Tiktok's commercial API for collecting ads data

TikTok offers various APIs in its developer portal. For ads, use the Commercial Content API to access public data on ads, advertisers, and other commercial content.

Plus, the official API is entirely free.

Then why aren’t we using it?

The TikTok official API has 3 flaws:

  1. Limited access
  2. Rate limits
  3. EU ads only

Let’s learn more about these limitations.

Official TikTok API Limitations

Accessing TikTok's official API isn't straightforward. You need to apply, state a valid reason, and provide a clear use case. TikTok decides whether to grant you access or not.

Tiktok's API allows limited daily requests

Even if you get access, there's another challenge. TikTok's free APIs have usage restrictions. The commercial content API allows a maximum of 600 requests per day.

Tiktok's API only provides data from EU

If it’s acceptable for you, there's one more limitation to consider. The API provides data only from EU, EEA, and Continental European countries.

Ad data from all countries is accessible in the Creative Center, but the API is limited to the EU. Therefore, no data from Asia, the Middle East, or any other region is available.

These 3 major limitations make the API a useless option for us. So what other options do we have? Well we can either code a TikTok ads scraper or use a no-code solution.

How to scrape TikTok ads without coding

If you know Python, you can write code to scrape TikTok ads. I might explain TikTok data scraping using python in a future article.

There are also scripts on GitHub, but not everyone is an expert coder. Dealing with HTML, css, and javascript is not everyone’s cup of tea.

Not everyone can reverse engineer TikTok to find backend API endpoints. As you can see, it’s code, not plain English.

tiktok crerative center source and network requests

So what if you want a more straightforward solution? That’s where no-code scrapers enter the chat. But there are too many options. 😕 Well I’ve got the best TikTok ads spy tool for you.

Best no-code TikTok Scraper - Lobstr.io

Tiktok Top Ads Scraper by Lobstr.io

Our TikTok Top Ads scraper is a powerful tool. It's designed to easily extract top ads from TikTok's creative center. Let's explore some key features of this hot boi.

Key Features

  1. 20+ Data Attributes: This TikTok Top Ads Scraper delivers 20+ key data attributes. From ad titles and brands to costs and more, this tool provides everything you need for analysis.
  2. Advanced Filtering Capabilities: Zoom in on specific regions, industries, or time ranges. Refine your search based on objectives and likes. Plus you can sort data by for you, CTA, reach and other matrices.
  3. Lightning-Fast Extraction: Lobstr.io extracts data at 150+ ads per minute, and being cloud-based, you don't need extra computing resources for fast ad scraping.
  4. Schedule Feature: Automate your scraping sessions, whether it's hourly, daily, weekly, or monthly. Set it and forget it – the tool ensures your ad data is ready for analysis whenever you need it.
  5. Developer-Ready API: Lobstr.io has a developer-ready API for easy integration. Connect it with your apps/scripts for efficient workflow, compatible with Python, nodejs, or any preferred language.
  6. Versatile Data Export Options: Select .csv files for simple analysis. Or integrate with popular platforms. Lobstr supports Google Sheets, Amazon S3, Webhooks, and SFTP.

But the real question is… how much does it cost?

Pricing

Lobstr’s pricing is simple and clear:

Lobstr.io Pricing Page

  1. Free Plan: Extract approximately 67,000 ads per month for free.
  2. Premium Plan: €50 per month, costing around €0.06 per 1000 ads.
  3. Business Plan: €250 per month, costing around €0.04 per 1000 ads.
  4. Enterprise Plan: €500 per month, costing around €0.03 per 1000 ads.

Now let’s jump to the fun part… scraping TikTok top ads without writing a single line of code.

How to scrape TikTok top ads with lobstr.io - Step by step tutorial

Alright, let’s get started! We’re going to do it in 5 simple steps:

How to scrape TikTok Ads - Step by Step Tutorial

  1. Step 1 - Create a Squid
  2. Step 2 - Add Task(s)
  3. Step 3 - Update Settings
  4. Step 4 - Launch
  5. Step 5 - Enjoy

I’ll be using a relevant real-life example to help you understand the process better. We’ll scrape top ads for “iPhone cases” in the US.

total ads in tiktok top ads dashboard for iphone cases

Also check out our step by step guide on scraping leads from LinkedIn sales navigator.

Let’s go 🏃

Step 1 - Create a Squid

First, make sure you have an active account on Lobstr.io. Don’t have one yet? What are you waiting for? 😧 I mentioned we have a free forever plan. Go sign up right now. 🏃

Create tiktok ads scraper squid

After signing up, find the "create new squid" button on the dashboard. Click it, search for "TikTok," choose "TikTok Top Ads Scraper," and congratulations, your squid is now ready.

Step 2: Add Tasks

Next step is to add tasks. We’ll add the keyword or brand name we’ve targeted. You can also add hashtags. But what if we have 100 brands or keywords? 🤔

Adding tasks in bulk that too manually can be time consuming. In this case, we can use the “Upload File” option. This allows you to upload a file full of tasks in a second.

add tasks manually or upload keyword

You can upload a file full of keywords and brand names in txt, csv, or tsv format. Make sure you’ve at least 1 column named “keyword”.

keywords file structure

Suppose, I sell iPhone Cases online, shipping them all across the USA. How can I see what type of ads performed well on TikTok related to my niche?

I’ll enter all relevant keywords in the scraper. For this task, I’m adding keywords like: iPhone Case, customized iPhone Cases in the tasks.

Once you’ve added all tasks, click the “save” button to move to settings parts.

Step 3 - Settings

Let’s start with the basic settings. Firstly, you’ll see options similar to TikTok's Top Ads Dashboard. Choose your preferred region, industry, goal, likes, time range, and sorting order.

choose region, objective, and other settings

In my case, I aim to extract ads from the USA within the last 30 days. I'm targeting the top 20% based on likes count, sorted by reach.

Then you’ll see the “When to end run” option. This is where you specify when the scraping should stop.

How does “when to end run” work?

In the “when to end run” setting, we have 2 options.

  1. End run once no credit left
  2. End run once all tasks consumed

Specify when to end the run

The first option i.e. “End run once no credits left” ends the run once you’ve consumed all your daily credits. This is best for getting fresh data.

If you have limited keywords, this option is perfect for you. The scraper will fetch fresh ads from those keywords every time it runs.

For example, if you’re on a free account, you have 15 minutes of execution time daily. With up to 150 ads collected per minute, extract around 2200+ ads per day, and the run will end.

Free plan gives you upto 2249 results per day

The second option is “End run once all tasks complete”. If you have 100s of keywords and want to scrape ad data from all, this option is best for you.

It pauses the run when you consume all your daily credits, and resumes it next day when credits refill.

Suppose you have a list of 500 keywords and you’re on the free plan. At a speed of 150 results per minute, it’ll scrape 2k+ results on the first day and pause the job.

run paused till next day

When your credits refill, it’ll resume the job and again scrape 2k+ ads the next day.

Since I’ve less than 1000 ads to scrape, I’ll leave this option as it is.

After selecting this preference, we’ll move to the advanced settings. Here we can set concurrency, and deal with duplicate results. Here’s how it works:

The first option is concurrency. It means number of bots deployed per run. More concurrency equals faster scraping.

Choose concurrency, make results unique, remove line breaks for excel readability

To remove duplicated results by toggling “Unique Results”. To make the output file Excel-friendly by removing the line breaks.

lobstr.io pricing plans concurrency

I’m using a free account, so the concurrency in my case will remain 1. Because you can’t increase concurrency in the free plan.

Set your notification preference

After adjusting settings, click save, then go to notifications. Turn on "on success" for successful run alerts and opt for error notifications if it stops.

After setting notifications, click save and move to the final step.

Step 4 - Launch

Now, let's launch our tool 🚀 to fetch that valuable data. You can do it manually by clicking "Save and Extract," or use the schedule feature. Here's how it works.

select manual or scheduled launch

Let’s say you want to spy on your competitor brands or an industry leader’s ads. You want to track which ads performed best for them every week or month.

scheduling tiktok squid

In my case, I’m tracking ads within a 30 day time range, so I’d like to schedule this squid to run on the 30th day of every month.

Let’s launch our beast… 🚀

Step 5 - Enjoy

Once you've launched the scraper, it'll start collecting ads data.

launching tiktok top ads scraper

You can keep looking at the hot console or close the tab and do some other work. It will notify you once the run completes successfully.

how to check tiktok top ads scraper results

To access data, you can either view it in the results tab or download the csv file. Oh, did I tell you how to export it to a 3rd party service like Google Sheets?

configure preferred delivery options

It's easy. Click the "delivery" icon on the top right and configure your preferred service.

Let's see what our boi fetched for me. Here goes the Excel snapshot of our data:

the output file containing tiktok top ads data

That's it. It was this simple to extract top ads from TikTok Top ads dashboard. Give it a try for Free. Let me answer some questions you may still have in your mind.

FAQs

Can I download the results as JSON?

This tool only supports exporting results to csv. But, you can convert csv to JSON using this website.

Can I download TikTok videos using this scraper?

TikTok top ads scraper extracts data for you to study ad performance. It’s not a TikTok video downloader.

Can I use Selenium to scrape TikTok data

Yes, you can use Selenium automation, but it's not as efficient as ready-made scrapers like lobstr.io. It’s slow and needs more resources.

If you want a step-by-step tutorial, let us know through live chat or submit your idea here.

What are the limitations of this scraping tool?

Till now, I haven’t encountered no limitation. You can push it to the limits to find out more. Do give us your feedback.

Can I scrape TikTok profiles using this scraper?

This tool scrapes TikTok top ads data only. If you want to scrape user profiles of TikTok users, you can share your idea here.

Conclusion

So, this was my step-by-step guide on scraping TikTok ads. Lobstr.io simplifies scraping TikTok ads without coding, making it easy for all users.

Not convinced yet? Give the free forever plan a shot – no trials, no credit card needed. Use it until you're ready to join the Lobstr family.

Share this article