# TikTok Scraper: extract videos, profiles, hashtags and comments

Apidojo TikTok Scraper is a no-login TikTok data API that collects videos, profiles, hashtags, sounds, places and keyword search results. It costs $0.30 per 1,000 posts, returns 460 posts per second in the published benchmark, targets any country by ISO code, and exports JSON, CSV or Excel.

[Run your first keyword](https://apify.com/apidojo/tiktok-scraper)

[See sample output](#output)

Free Apify plan: 5 runs a month, 10 items a run. No credit card.

**$0.30** per 1,000 posts

**460/s** posts, measured

**24K** users on Apify

**99.86%** run success, 30 days

Users and run success are the six TikTok scrapers combined. Read on 21 September 2026.

## What are the TikTok Scraper specifications?

TikTok Scraper runs on the Apify platform and accepts 7 TikTok URL types plus a free-text keyword search with 3 sort modes. Each video returns 11 top-level fields plus nested channel, video, song and subtitle objects, exported as JSON, CSV or Excel.

**Data surfaces on TikTok:** Videos, photo posts, profiles, hashtags, sounds, places and keyword search

**Inputs:** startUrls, keywords, sortType, dateRange, location, maxItems, includeSearchKeywords, customMapFunction

**Price:** $0.30 per 1,000 posts, the lowest per-item price in the Apidojo catalogue

**Speed:** 460 posts/sec measured on the published benchmark; 400–600 is the stated range

**Sort modes:** RELEVANCE · MOST_LIKED · DATE_POSTED, keyword search only, ignored on startUrls

**Date ranges:** ALL_TIME · YESTERDAY · THIS_WEEK · THIS_MONTH · LAST_THREE_MONTHS · LAST_SIX_MONTHS

**Country targeting:** location takes an ISO 3166-1 alpha-2 code, for example US, GB, DE or TR. Default US

**Minimum per input:** 10 posts per query or start URL. Smaller inputs can trip the rate limiter

**Output shaping:** customMapFunction, one synchronous JavaScript function per item, not for filtering

**Export formats:** JSON, JSONL, CSV, Excel, XML, HTML table, API

**Login, proxy or API key:** None required

**Free plan:** Demo mode, 5 runs per month, 10 items per run

**Integrations:** Apify REST API, Python and JavaScript clients, n8n, Make, Zapier, webhooks, MCP

**Maintenance:** Daily, by a dedicated engineering team

## What does TikTok Scraper output look like?

TikTok Scraper output is one JSON object per video. Each object carries the video ID, title, five engagement counts, the hashtag array, both upload timestamps, and nested channel, video, song and subtitle objects.

**Keyword search**

**Creator profile**

**Sound**

**Subtitles**

Runs on apidojo/tiktok-scraper

The only input that takes sortType, dateRange and a country. Everything else is a URL.

Input

```
{
  "keywords": ["skincare routine"],
  "sortType": "MOST_LIKED",
  "dateRange": "THIS_MONTH",
  "location": "US",
  "includeSearchKeywords": true,
  "maxItems": 1000
}
```

Output

```
{
  "views": 101399,
  "likes": 7420,
  "comments": 201,
  "shares": 1236,
  "bookmarks": 7195,
  "hashtags": ["digitalproducts", "tiktoktutorial"]
}
```

Runs on apidojo/tiktok-scraper

A creator URL returns their videos, each carrying the full channel object.

Input

```
{
  "startUrls": ["https://www.tiktok.com/@gordonramsayofficial"],
  "maxItems": 500
}
```

Output

```
"channel": {
  "id": "6761142551312729093",
  "name": "jackson",
  "username": "jacksonstips",
  "bio": "this is my only account",
  "verified": true,
  "url": "https://www.tiktok.com/@jacksonstips",
  "followers": 566322,
  "following": 1749,
  "videos": 1114,
  "likes": 3722598
}
```

Runs on apidojo/tiktok-scraper

Every video published with one sound, with the track metadata on each item.

Input

```
{
  "startUrls": [
    "https://www.tiktok.com/music/original-sound-7297730198175402784"
  ],
  "maxItems": 1000
}
```

Output

```
"song": {
  "id": 7353782204394245000,
  "title": "original sound - jacksonstips",
  "artist": "jacksonstips",
  "album": null,
  "duration": 223,
  "cover": "https://p16-amd-va.tiktokcdn.com/..."
}
```

Runs on apidojo/tiktok-scraper

Returned wherever the creator published or auto-generated captions. A WebVTT file per language.

Input

```
{
  "startUrls": [
    "https://www.tiktok.com/@billieeilish/video/7050551461734042926"
  ]
}
```

Output

```
"subtitleInformation": [
  {
    "language_code": "en",
    "lang": "eng-US",
    "caption_format": "webvtt",
    "caption_length": 4813,
    "is_auto_generated": false,
    "is_original_caption": true,
    "url": "https://v16-cla.tiktokcdn.com/..."
  }
]
```

### What the fields are

-   #### Video content

    ID, title, hashtag array, both upload timestamps, post URL, dimensions, duration, cover and thumbnail

-   #### Engagement

    Views, likes, comments, shares and bookmarks

-   #### Creator profile

    Username, display name, bio, avatar, verification, followers, following, video count, total likes

-   #### Sound and subtitles

    Song ID, title, artist, album, duration and cover; subtitle language, format and WebVTT file URL

| Field | Type | Example value | Group |
| --- | --- | --- | --- |
| id | string | 7353781970163272993 | Content |
| title | string | full tutorial for diggy proddies | Content |
| hashtags | array of strings | ["digitalproducts","tiktoktutorial"] | Content |
| uploadedAt | integer (Unix) | 1712185805 | Content |
| uploadedAtFormatted | string (ISO 8601) | 2024-04-03T23:10:05.000Z | Content |
| postPage | string | https://www.tiktok.com/@user/video/7353… | Content |
| views | integer | 101399 | Engagement |
| likes | integer | 7420 | Engagement |
| comments | integer | 201 | Engagement |
| shares | integer | 1236 | Engagement |
| bookmarks | integer | 7195 | Engagement |
| channel.username | string | jacksonstips | Creator |
| channel.name | string | jackson | Creator |
| channel.id | string | 6761142551312729093 | Creator |
| channel.bio | string | Creator bio, contact line included where published | Creator |
| channel.followers | integer | 566322 | Creator |
| channel.following | integer | 1749 | Creator |
| channel.videos | integer | 1114 | Creator |
| channel.likes | integer | 3722598 | Creator |
| channel.verified | boolean | true | Creator |
| video.duration | float | 223.909 | Content |
| video.width | integer | 576 | Content |
| video.height | integer | 1024 | Content |
| video.url | string | https://v45.tiktokcdn-eu.com/… | Content |
| song.title | string | original sound - jacksonstips | Sound |
| song.artist | string | jacksonstips | Sound |
| song.duration | integer | 223 | Sound |
| subtitleInformation[].language_code | string | en | Subtitles |
| subtitleInformation[].is_auto_generated | boolean | false | Subtitles |
| subtitleInformation[].url | string (WebVTT) | https://v16-cla.tiktokcdn.com/… | Subtitles |

## Which Apidojo TikTok scraper fits your job?

Apidojo publishes 6 TikTok scrapers. TikTok Scraper collects videos from keyword searches, profiles, hashtags, sounds and places at $0.30 per 1,000, and the Profile, Comments, Location, User and Music scrapers each handle one job at the same per-item rate.

### TikTok Scraper

`apidojo/tiktok-scraper`

10.9K users · 4.4 (30)

The main scraper. Collects videos from keyword searches, profiles, hashtags, sounds, places and single video or photo URLs, with three sort modes and ISO country targeting.

-   Keyword search with 3 sort modes
-   Profiles, hashtags, sounds, places
-   Video, engagement, creator, sound and subtitle fields
-   460 posts per second measured
-   Country targeting by ISO code
-   Minimum 10 posts per input

**$0.30 / 1,000 posts** Pay per result, no per-run fee

[Open TikTok Scraper](/scrapers/tiktok-scraper/) [See accepted inputs](#reference)

### TikTok scrapers for a single job

-   [TikTok Profile Scraper `apidojo/tiktok-profile-scraper` One creator's full video history with engagement on every post, from a username or profile URL. Full posting history per creator · Creator follower and video counts · No query fee $0.30 / 1,000 posts 5K users · 4.4 (17)](/scrapers/tiktok-profile-scraper/)
-   [TikTok Comments Scraper `apidojo/tiktok-comments-scraper` Comments under a video or photo post, with each commenter's profile attached, from the post URL. Comment text, likes and replies · Commenter username and bio · No query fee $0.30 / 1,000 comments 3.3K users · 5.0 (14)](/scrapers/tiktok-comments-scraper/)
-   [TikTok Location Scraper `apidojo/tiktok-location-scraper` Geo-tagged videos from any TikTok place page, with the creator behind each one. Built for venue, city and regional research. Videos tagged at a place · Creator stats on every video · Around 20 posts included per location $0.006 / location + $0.30 / 1K 2.5K users · 5.0 (8)](/scrapers/tiktok-location-scraper/)
-   [TikTok User Scraper `apidojo/tiktok-user-scraper` People rather than videos: accounts by username or URL, plus follower and following lists. Follower and following lists · Bio, region, verification, counts · Around 10 users included per query $0.005 / query + $0.50 / 1K users 1.7K users · 5.0 (9)](/scrapers/tiktok-user-scraper/)
-   [TikTok Music Scraper `apidojo/tiktok-music-scraper` Sounds, their artists and usage counts, plus the videos published with each one. Built for tracking which audio is spreading. Every video using a sound · Song title, artist, duration · Around 11 posts included per sound $0.003 / sound + $0.30 / 1K 411 users · 4.8 (8)](/scrapers/tiktok-music-scraper/)

## How much does TikTok Scraper cost?

TikTok Scraper costs $0.30 per 1,000 posts, billed per result with no per-run fee, the lowest per-item price in the Apidojo catalogue. Scraping 100,000 TikTok videos costs $30.00. The Location, User, Music and API-variant scrapers add a query fee between $0.003 and $0.006.

$0.30per 1,000 posts

-   Pay per result, no per-run fee
-   The lowest per-item price in the catalogue
-   Minimum 10 posts per input

[Run your first query](https://apify.com/apidojo/tiktok-scraper)

| Scraper | Query fee | Per item |
| --- | --- | --- |
| TikTok Location Scraper | $0.006 per location (around 20 posts free) | $0.30 / 1K |
| TikTok User Scraper | $0.005 per profile, follower or following query | $0.50 / 1K |
| TikTok Music Scraper | $0.003 per sound (around 11 posts free) | $0.30 / 1K |

| Job | Scraper | Calculation | Cost |
| --- | --- | --- | --- |
| 100,000 videos from a hashtag | TikTok Scraper | 100,000 × $0.0003 | $30.00 |
| Keyword search, 5 terms × 2,000 videos | TikTok Scraper | 10,000 × $0.0003 | $3.00 |
| 200 creators × 100 videos each | Profile Scraper | 20,000 × $0.0003 | $6.00 |
| 50,000 comments across 500 videos | Comments Scraper | 50,000 × $0.0003 | $15.00 |
| 30 trending sounds, 500 videos each | Music Scraper | 30 × $0.003 + 14,670 × $0.0003 | $4.49 |
| 25 city places, 1,000 videos each | Location Scraper | 25 × $0.006 + 24,500 × $0.0003 | $7.50 |

Prices apply to Apify paid plans. The free plan runs TikTok Scraper in demo mode, 5 runs a month, 10 items a run, no credit card.

## How does TikTok Scraper compare with the official TikTok APIs?

TikTok’s official APIs do not serve commercial bulk collection. The Research API is limited to approved researchers, caps at 1,000 requests and 100,000 records per day, and TikTok states plainly that commercial users are not eligible. The Display API returns only the logged-in user’s own account.

|  | Apidojo TikTok Scraper | TikTok Research API | TikTok Display API |
| --- | --- | --- | --- |
| Who can use it | Anyone with an Apify account | Approved researchers only | Any developer, for their own authenticated users |
| Commercial use | Allowed | Not eligible, TikTok states this explicitly | Allowed, own-account data only |
| Whose data you can read | Any public video, profile, hashtag, sound or place | Public videos, comments, follower and following lists | Only the account that logged in |
| Daily ceiling | Set by your Apify plan | 1,000 requests and 100,000 records per day, reset 00:00 UTC | 600 requests per minute per endpoint |
| Time to first result | Minutes | Weeks, application review, approval not guaranteed | Hours, after app setup |
| Country targeting | ISO 3166-1 alpha-2 code per run | Region filters inside the query | Not applicable |
| Cost | $0.30 per 1,000 posts | No charge | No charge |
| Post or interact | No, read-only | No, read-only | Yes, through the Content Posting API |

Research API limits from TikTok’s own developer FAQ, read on the snapshot date: 1,000 requests and up to 100,000 records per day, quota resetting at midnight UTC, and a direct statement that creators, advertisers and commercial users are not eligible. A 100,000-video dataset is therefore one full day of the entire Research API quota, assuming the application was approved; the same dataset runs in about four minutes here.

## How to scrape TikTok with Apidojo in 4 steps

Scraping TikTok with Apidojo takes 4 steps: open the scraper, enter keywords or TikTok URLs, set the sort mode and country, then run and export. No code, proxy or TikTok account is required.

1.  01

    ### Open TikTok Scraper on Apify

    Sign in with a free Apify account. No credit card is needed to run it in demo mode.

2.  02

    ### Enter keywords or TikTok URLs

    Type search terms into keywords, or paste profile, hashtag, sound, place, video and photo URLs.

3.  03

    ### Set the sort mode and country

    Pick RELEVANCE, MOST\_LIKED or DATE\_POSTED, add an ISO country code, and cap the run with maxItems.

4.  04

    ### Run and export the dataset

    Download JSON, CSV or Excel, or pull the results straight through the Apify API.

### Which inputs and filters it accepts

| Input | What it does | Example |
| --- | --- | --- |
| Profile URL | Videos published by a creator | tiktok.com/@gordonramsayofficial |
| Hashtag URL | Videos under a tag page | tiktok.com/tag/duet |
| Sound URL | Videos published with a sound | tiktok.com/music/original-sound-7297730198175402784 |
| Place URL | Videos tagged at a location | tiktok.com/place/New-York-22535796481546927 |
| Search URL | Results for a query string | tiktok.com/search?q=Recipes |
| Video URL | One video with its full field set | tiktok.com/@billieeilish/video/7050551461734042926 |
| Photo URL | One photo post | tiktok.com/@rabbitbrandmy/photo/7553874290735729940 |
| keywords | Searches TikTok for terms instead of URLs | ["skincare routine", "grwm"] |
| sortType | Orders keyword results. No effect on startUrls. | RELEVANCE · MOST_LIKED · DATE_POSTED |
| dateRange | Restricts keyword search to a time window | THIS_WEEK · LAST_THREE_MONTHS · ALL_TIME |
| location | Region-specific results, ISO 3166-1 alpha-2 | US · GB · DE · TR |
| includeSearchKeywords | Adds the keyword that found each video to its record | true |

-   #### `sortType`

    MOST\_LIKED surfaces the proven formats in a niche; DATE\_POSTED surfaces what started in the last hours, which is what trend detection needs. It only applies to keyword runs, to sort a hashtag by likes, search the tag as a keyword instead of pasting its URL.

-   #### `location`

    One ISO country code per run. Setting it to DE returns the German results for the same keyword, which makes per-market comparison possible from a single scraper rather than a proxy pool.

## How do you call the TikTok Scraper API?

TikTok Scraper runs through the Apify REST API and the official Python and JavaScript clients. A keyword run needs three fields, keywords, sortType and location, and returns the videos as JSON in the same response.

**Python**

**JavaScript**

**cURL**

**MCP**

```
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

# Newest videos about a topic, as served in Germany
run = client.actor("apidojo/tiktok-scraper").call(run_input={
    "keywords": ["protein coffee"],
    "sortType": "DATE_POSTED",
    "location": "DE",
    "maxItems": 2000,
})

for v in client.dataset(run.default_dataset_id).iterate_items():
    save_rate = v["bookmarks"] / max(v["views"], 1)
    print(v["uploadedAtFormatted"], v["views"], round(save_rate, 4))
```

```
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });

// Every video published with one sound
const run = await client.actor('apidojo/tiktok-scraper').call({
  startUrls: ['https://www.tiktok.com/music/original-sound-7297730198175402784'],
  maxItems: 1000,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
const creators = new Set(items.map((v) => v.channel.username));
console.log(items.length, 'videos from', creators.size, 'creators');
```

```
curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~tiktok-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords":["protein coffee"],"sortType":"MOST_LIKED","location":"US","maxItems":500}'
```

```
{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com/?tools=apidojo/tiktok-scraper",
      "headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }
    }
  }
}
```

-   ### n8n

    A daily DATE\_POSTED run feeding a new-video alert.

-   ### Make and Zapier

    Dataset item into an Airtable creator base.

-   ### Warehouse

    JSONL into BigQuery or Snowflake.

-   ### Webhooks

    POST to any URL on run success.

## How fast is TikTok Scraper?

TikTok Scraper returns 460 posts per second on the published benchmark, against a stated range of 400 to 600. At the measured rate a 100,000-video dataset finishes in about three minutes and forty seconds.

TikTok Scraper460 posts/sec

Profile Scraper425 posts/sec

Location Scraper400 posts/sec

Music Scraper300 posts/sec

Comments Scraper150 comments/sec

| Dataset size | At 460/sec, videos | At 150/sec, comments |
| --- | --- | --- |
| 10,000 items | ≈ 22 s | ≈ 1 min 7 s |
| 100,000 items | ≈ 3 min 37 s | ≈ 11 min 7 s |
| 1,000,000 items | ≈ 36 min | ≈ 1 h 51 min |

Benchmark published on the TikTok Scraper listing, run with identical inputs and resources per input type. Real throughput varies with TikTok response times and the mix of inputs.

**10.9K** users on TikTok Scraper

**14.4M** TikTok Scraper runs, all time

**4.6 / 5** across 86 reviews, six scrapers

**6** TikTok scrapers in the family

The 4.6 is weighted by review count across all six TikTok scrapers, so TikTok Scraper’s own 4.4 over 30 reviews is inside it rather than hidden behind a better-rated sibling.

## What can you build with TikTok Scraper data?

TikTok Scraper data powers 6 workflows: product trend spotting, creator shortlisting, sound tracking, per-country market reads, comment mining and caption corpora. Each recipe names the input, the metric it computes and where the output goes.

-   ### Product trend spotting

    `tag/tiktokmademebuyit · DATE_POSTED`

    **bookmarks ÷ views, the save rate, as a purchase-intent signal** Fields

-   ### Creator shortlisting

    `keywords: niche term · MOST_LIKED`

    **median views over the last 30 videos against channel.followers** Fields

-   ### Sound tracking

    `30 rising sound URLs, weekly`

    **new videos per sound per week** Fields

-   ### Per-country market reads

    `the same keyword × location US, GB, DE, TR`

    **overlap of top videos between markets** Fields

-   ### Comment mining

    `Comments Scraper on a brand’s 50 top videos`

    **recurring questions and complaints, clustered** Fields

-   ### Caption corpora

    `keywords by topic · subtitleInformation`

    **WebVTT files grouped by language_code** Fields

## What are the limits of TikTok Scraper?

TikTok Scraper operates under 5 documented limits. Each one below states what triggers it and how to work within it.

-   ### At least 10 posts per input

    Smaller requests run at a loss and can trip the rate limiter.

    Set maxItems to 10 or more, and group small inputs into one run rather than many tiny runs.

-   ### sortType only affects keyword runs

    It is ignored when the run uses startUrls, so pasting a hashtag URL cannot be sorted by likes.

    Search the hashtag as a keyword with MOST\_LIKED instead of pasting its tag URL.

-   ### dateRange only affects keyword runs

    It uses TikTok search’s own date filter, which does not exist on profile, tag or sound pages.

    For URL runs, filter by uploadedAt after the run, or move the query to keywords.

-   ### customMapFunction cannot filter

    Dropping items through it breaks pay-per-result billing and is treated as abuse.

    Reshape with the map function, cap volume with maxItems, and scope with location.

-   ### Public content only

    Private and deleted content cannot be read, and TikTok can change what it serves without notice.

    Open the URL in a logged-out browser first, and start from a known public profile or hashtag to confirm the setup.

## Is it legal to use a TikTok scraper?

Collecting publicly visible TikTok data without logging in is generally lawful in the United States. US courts have held that scraping public pages does not breach the Computer Fraud and Abuse Act, in hiQ Labs v. LinkedIn (9th Cir., 2022). Personal data in the results remains subject to GDPR and CCPA.

-   ### What the scraper collects

    Logged-out, public content only: videos, profiles, sounds, places and comments any visitor can open. No private accounts, no direct messages, no drafts.

-   ### Creator data is personal data

    Usernames, bios and the contact lines inside them identify people. Processing them under GDPR needs a lawful basis, a stated purpose and a retention period.

-   ### Downloaded video is copyrighted

    The video and sound URLs point at creators’ and rights holders’ work. Analysing the metadata is one thing; republishing the files needs their permission.

This is general information, not legal advice.

## TikTok Scraper frequently asked questions

### Everything else people ask

Fifteen questions about this scraper and its family. Anything about the wider catalogue is answered on the scrapers hub.

[All 26 scrapers](/scrapers/)

### Does TikTok Scraper need a TikTok account or API key?

Neither. It reads public TikTok pages without an account, cookies, proxies or a TikTok developer key. You need only an Apify account.

### Can TikTok Scraper return results for one country?

Yes. Set location to an ISO 3166-1 alpha-2 code such as US, GB or DE and the run returns that market’s results for the same query.

### How do I get the most-liked TikTok videos for a keyword?

Put the term in keywords and set sortType to MOST\_LIKED. Use DATE\_POSTED for the newest videos and RELEVANCE for the in-app order.

### Can TikTok Scraper scrape one specific video?

Yes. The input accepts single video and photo URLs alongside profile, hashtag, sound, place and search URLs.

### Which videos use a particular TikTok sound?

Paste the sound’s music URL into TikTok Scraper, or use TikTok Music Scraper. Every video returned carries the song’s title, artist and duration.

### Does TikTok Scraper return video transcripts?

It returns subtitle files wherever a video has captions. Each subtitleInformation entry carries a language code, an auto-generated flag and a WebVTT file URL.

### Can TikTok Scraper download TikTok videos?

It returns the video file URL, cover and thumbnail for each post. Republishing those files needs the rights holder’s permission.

### What is the bookmarks field?

It counts how many people saved the video. Divided by views it gives a save rate, which tracks purchase intent more closely than likes do.

### Can TikTok Scraper get follower lists?

It returns follower and following counts on every creator. Full follower and following lists run on TikTok User Scraper at $0.005 per query plus $0.50 per 1,000 users.

### Why did my TikTok run return no posts?

Empty runs come from invalid, private or deleted URLs, or from inputs asking for fewer than 10 posts. Test the URL in a logged-out browser, then retry with a known public profile or hashtag.

### How much does it cost to scrape 100,000 TikTok videos?

It costs $30.00 at $0.30 per 1,000 posts, and takes about three minutes and forty seconds at the measured 460 posts per second.

### Is there a free TikTok Scraper plan?

Yes. The free Apify plan runs it in demo mode: 5 runs a month, 10 items per run, no credit card.

### Can I use TikTok Scraper instead of the TikTok Research API?

For commercial work, yes, TikTok states that creators, advertisers and commercial users are not eligible for the Research API. It also caps at 100,000 records a day, where this is capped only by your Apify plan. The Research API stays free for approved researchers.

### Does TikTok Scraper work with n8n and AI agents?

Yes. It runs in n8n, Make and Zapier through the Apify app, and in Claude, Cursor and other MCP clients through the Apify MCP server.

## Other Apidojo scrapers

TikTok is one of six sources in the catalogue. Every scraper publishes its inputs, its output fields and its price the same way this one does.

-   [Instagram Scraper Posts, reels, profiles and comments](/scrapers/instagram-scraper/)
-   [Twitter Scraper Tweets, replies, profiles and Lists](/scrapers/twitter-scraper/)
-   [YouTube Scraper Videos, channels and transcripts](/scrapers/youtube-scraper/)
-   [Google Search Scraper Organic SERP results](/scrapers/google-search-scraper/)

[Browse all 26 scrapers](/scrapers/)

Apidojo

## Run TikTok Scraper on your first keyword

Type a keyword or paste a hashtag, sound or profile URL. The free Apify plan runs it in demo mode with no credit card, and the output shape is the one documented on this page.

[Run your first keyword](https://apify.com/apidojo/tiktok-scraper)

-   `keywords: ["protein coffee"] · DATE_POSTED · US` What started in this niche in the last hours
-   `tiktok.com/tag/tiktokmademebuyit` A hashtag, newest first, for save-rate work
-   `tiktok.com/@gordonramsayofficial` One creator’s whole feed with engagement

Every one of these runs on TikTok Scraper at $0.30 per 1,000 posts.

Apidojo is not affiliated with TikTok Pte. Ltd. or ByteDance.

## Guides for this scraper

-   [What web scraping is and when to use it The vocabulary, the legal lines, and the choice between a proxy that returns HTML and an API that returns records. Start here if you are new to this.](/blog/web-scraping/)
-   [What is web scraping, and when is an API cheaper? Web scraping is reading a public page and turning it into records. The real decision is whether you write the parser yourself or buy one already written.](/blog/web-scraping/what-is-web-scraping/)
