Tiktok Search Scraper avatar
Tiktok Search Scraper
Try for free

3 days trial then $35.00/month - No credit card required now

View all Actors
Tiktok Search Scraper

Tiktok Search Scraper

epctex/tiktok-search-scraper
Try for free

3 days trial then $35.00/month - No credit card required now

Unleash the power of data extraction with our advanced TikTok Search Scraper. Gather videos, hashtags, posts, URLs, share numbers, followers, hearts, names, music-related data, and more. Download data in various formats including HTML, JSON, CSV, Excel, or XML.

Actor - Tiktok Search Scraper

Tiktok Search scraper

Since Tiktok doesn't provide a good and free API, this actor should help you to retrieve data from it.

The Tiktok Search data scraper supports the following features:

  • Search anything - Any keywords can be searched and scraped from Tiktok.

  • Scrape video - Scrape any video from Tiktok and retrieve all the data from it.

  • Music Details - Get any music information that is used in the video.

  • User details - Retrieve all user-related information.

Bugs, fixes, updates, and changelog

This scraper is under active development. If you have any feature requests you can create an issue from here.

Input Parameters

The input of this scraper should be JSON containing the list of pages on Tiktok Search that should be visited. Possible fields are:

  • search: (Optional) (String) List of TikTok Search keywords. You can type any hashtag here to search.

  • startUrls: (Optional) (Array) List of TikTok Search URLs. You should only provide the URLs of the search. URLs.

  • includeReviews: (Optional) (Boolean) This will add all the reviews that TikTok provides into the detail objects. Please keep in mind that the time and resources the actor uses will increase proportionally to the number of reviews.

  • endPage: (Optional) (Number) Final number of page that you want to scrape. The default is Infinite. This applies to all search requests and startUrls individually.

  • maxItems: (Optional) (Number) You can limit scraped items. This should be useful when you search through the big lists or search results.

  • proxy: (Required) (Proxy Object) Proxy configuration.

  • extendOutputFunction: (Optional) (String) Function that takes a JQuery handle ($) as an argument and returns an object with data.

  • customMapFunction: (Optional) (String) Function that takes each object's handle as an argument and returns the object with executing the function.

This solution requires the use of Proxy servers, either your own proxy servers or you can use Apify Proxy.

Compute Unit Consumption

The actor is optimized to run blazing fast and scrape many listings as possible. Therefore, it forefronts all listing detail requests. If the actor doesn't block very often it'll scrape 100 listings in 2 minutes with ~0.03-0.07 compute units.

Tiktok Search Scraper Input example

1{
2  "search":[
3    "anime",
4    "tiktok"
5  ],
6  "startUrls":[
7    "https://www.tiktok.com/search?q=music&t=1670685477846",
8    "https://www.tiktok.com/search?q=dance&t=1670685484412",
9    "https://www.tiktok.com/search?q=challenge&t=1670685494590"
10  ],
11  "maxItems": 20,
12  "endPage":2,
13  "proxy":{
14    "useApifyProxy":true
15  }
16}

During the Run

During the run, the actor will output messages letting you know what is going on. Each message always contains a short label specifying which page from the provided list is currently specified. When items are loaded from the page, you should see a message about this event with a loaded item count and total item count for each page.

If you provide incorrect input to the actor, it will immediately stop with a failure state and output an explanation of what is wrong.

Tiktok Search Export

During the run, the actor stores results into a dataset. Each item is a separate item in the dataset.

You can manage the results in any language (Python, PHP, Node JS/NPM). See the FAQ or our API reference to learn more about getting results from this Tiktok Search actor.

Other Tiktok Scrapers

If you need different functionalities or all at once, we have solutions for each of them. You can check;

Scraped Tiktok Search Properties

The structure of each item in TikTok Search looks like this:

Item Detail

1{
2    "url": "https://www.tiktok.com/@argenby/video/7171782248281165058?is_copy_url=1&is_from_webapp=v1",
3    "id": "7171782248281165058",
4    "desc": "Sigma must respect everyone… @ayazkyzz @aman4ek ",
5    "createTime": "1669810686",
6    "scheduleTime": 0,
7    "video": {
8        "id": "7171782248281165058",
9        "height": 1024,
10        "width": 576,
11        "duration": 25,
12        "ratio": "720p",
13        "cover": "https://p16-sign-sg.tiktokcdn.com/obj/tos-alisg-p-0037/68bcbf3c77cf4c1abceb5451670efe9b_1669810691?x-expires=1670684400&x-signature=19jHqqG6eFPiKGsWpTl09QMs5FI%3D",
14        "originCover": "https://p16-sign-sg.tiktokcdn.com/obj/tos-alisg-p-0037/5265105283774571951c21641d63f7cb_1669810691?x-expires=1670684400&x-signature=lQJXmi8BL1DlujrxK3zDZ9zpNgI%3D",
15        "dynamicCover": "https://p16-sign-sg.tiktokcdn.com/obj/tos-alisg-p-0037/562a22832c644852ba8d347a9fa68bed_1669810689?x-expires=1670684400&x-signature=htSWcF3Wfmn7JtwSujVlnfWiA%2B0%3D",
16        "playAddr": "https://v16-webapp-prime.us.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/o8H4gXOGWCfQpA4jmDeovDBgMDICAe2sCPlPHu/?a=1988&ch=0&cr=0&dr=0&lr=tiktok_m&cd=0%7C0%7C1%7C0&cv=1&br=4120&bt=2060&cs=0&ds=3&ft=ebLH6H-qMyq8ZChdvhe2NQn7fl7Gb&mime_type=video_mp4&qs=0&rc=O2VkZjc8OzU5Ojo7Zmk1OkBpamk0Zzc6ZnRuaDMzODczNEAyLTIwNS4tXl8xMmAuYGEzYSNvY2NscjRvZzBgLS1kMS1zcw%3D%3D&expire=1670685681&l=202212100920562B270FF34D9A7E100CE7&policy=2&signature=ae4d9e7729c1d307c91933b888c6e3e8&tk=tt_chain_token",
17        "downloadAddr": "https://v16-webapp-prime.us.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/o8H4gXOGWCfQpA4jmDeovDBgMDICAe2sCPlPHu/?a=1988&ch=0&cr=0&dr=0&lr=tiktok_m&cd=0%7C0%7C1%7C0&cv=1&br=4120&bt=2060&cs=0&ds=3&ft=ebLH6H-qMyq8ZChdvhe2NQn7fl7Gb&mime_type=video_mp4&qs=0&rc=O2VkZjc8OzU5Ojo7Zmk1OkBpamk0Zzc6ZnRuaDMzODczNEAyLTIwNS4tXl8xMmAuYGEzYSNvY2NscjRvZzBgLS1kMS1zcw%3D%3D&expire=1670685681&l=202212100920562B270FF34D9A7E100CE7&policy=2&signature=ae4d9e7729c1d307c91933b888c6e3e8&tk=tt_chain_token",
18        "shareCover": [
19            "",
20            "https://p16-sign-sg.tiktokcdn.com/tos-alisg-p-0037/5265105283774571951c21641d63f7cb_1669810691~tplv-tiktok-play.jpeg?x-expires=1671267600&x-signature=Z7zBNqfs9L2Vo6srGOwbkIEuBpQ%3D",
21            "https://p16-sign-sg.tiktokcdn.com/tos-alisg-p-0037/5265105283774571951c21641d63f7cb_1669810691~tplv-tiktokx-share-play.jpeg?x-expires=1671267600&x-signature=PGYZjPcWk%2BcjUVJZ%2FpnBrDUfkNU%3D"
22        ],
23        "reflowCover": "https://p16-sign-sg.tiktokcdn.com/obj/tos-alisg-p-0037/68bcbf3c77cf4c1abceb5451670efe9b_1669810691?x-expires=1670684400&x-signature=19jHqqG6eFPiKGsWpTl09QMs5FI%3D",
24        "bitrate": 2110249,
25        "encodedType": "normal",
26        "format": "mp4",
27        "videoQuality": "normal",
28        "encodeUserTag": "",
29        "codecType": "h264",
30        "definition": "720p",
31        "subtitleInfos": [],
32        "zoomCover": {
33            "240": "https://p16-sign-sg.tiktokcdn.com/tos-alisg-p-0037/68bcbf3c77cf4c1abceb5451670efe9b_1669810691~tplv-efzqqlc8t1-1:240:240.jpeg?x-expires=1670684400&x-signature=t0DwDvAPehjM7Ob53BYd12gBwJQ%3D",
34            "480": "https://p16-sign-sg.tiktokcdn.com/tos-alisg-p-0037/68bcbf3c77cf4c1abceb5451670efe9b_1669810691~tplv-efzqqlc8t1-1:480:480.jpeg?x-expires=1670684400&x-signature=li0pGwN7DJsD4%2FmJdc4a3yRnMO4%3D",
35            "720": "https://p16-sign-sg.tiktokcdn.com/tos-alisg-p-0037/68bcbf3c77cf4c1abceb5451670efe9b_1669810691~tplv-efzqqlc8t1-1:720:720.jpeg?x-expires=1670684400&x-signature=FDV%2FAbhnT%2FGbQmL4Ivb3x4mP8Jg%3D",
36            "960": "https://p16-sign-sg.tiktokcdn.com/tos-alisg-p-0037/68bcbf3c77cf4c1abceb5451670efe9b_1669810691~tplv-efzqqlc8t1-1:960:960.jpeg?x-expires=1670684400&x-signature=ywEhRnhhMWtLpwR3KNSIonCDbho%3D"
37        },
38        "volumeInfo": {
39            "Loudness": -10.1,
40            "Peak": 1
41        },
42        "bitrateInfo": [
43            {
44                "GearName": "normal_720_0",
45                "Bitrate": 2110249,
46                "QualityType": 10,
47                "PlayAddr": {
48                    "Uri": "v10044g50000ce3kjqrc77u4odf1ffrg",
49                    "UrlList": [
50                        "https://v16-webapp-prime.us.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/o8H4gXOGWCfQpA4jmDeovDBgMDICAe2sCPlPHu/?a=1988&ch=0&cr=0&dr=0&lr=tiktok_m&cd=0%7C0%7C1%7C0&cv=1&br=4120&bt=2060&cs=0&ds=3&ft=ebLH6H-qMyq8ZChdvhe2NQn7fl7Gb&mime_type=video_mp4&qs=0&rc=O2VkZjc8OzU5Ojo7Zmk1OkBpamk0Zzc6ZnRuaDMzODczNEAyLTIwNS4tXl8xMmAuYGEzYSNvY2NscjRvZzBgLS1kMS1zcw%3D%3D&expire=1670685681&l=202212100920562B270FF34D9A7E100CE7&policy=2&signature=ae4d9e7729c1d307c91933b888c6e3e8&tk=tt_chain_token",
51                        "https://v19-webapp-prime.us.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/o8H4gXOGWCfQpA4jmDeovDBgMDICAe2sCPlPHu/?a=1988&ch=0&cr=0&dr=0&lr=tiktok_m&cd=0%7C0%7C1%7C0&cv=1&br=4120&bt=2060&cs=0&ds=3&ft=ebLH6H-qMyq8ZChdvhe2NQn7fl7Gb&mime_type=video_mp4&qs=0&rc=O2VkZjc8OzU5Ojo7Zmk1OkBpamk0Zzc6ZnRuaDMzODczNEAyLTIwNS4tXl8xMmAuYGEzYSNvY2NscjRvZzBgLS1kMS1zcw%3D%3D&expire=1670685681&l=202212100920562B270FF34D9A7E100CE7&policy=2&signature=ae4d9e7729c1d307c91933b888c6e3e8&tk=tt_chain_token"
52                    ],
53                    "DataSize": "6755701",
54                    "UrlKey": "v10044g50000ce3kjqrc77u4odf1ffrg_h264_720p_2110249",
55                    "FileHash": "d92737d2ac38c33ddebd9e0afbaa6593",
56                    "FileCs": "c:0-22092-a553"
57                },
58                "CodecType": "h264"
59            }
60        ]
61    },
62    "author": "argenby",
63    "music": {
64        "id": "7171782257949100801",
65        "title": "оригинальный звук",
66        "playUrl": "https://sf16-ies-music-sg.tiktokcdn.com/obj/tiktok-obj/7171782259232492289.mp3",
67        "coverLarge": "https://p16-sign-sg.tiktokcdn.com/aweme/1080x1080/tos-alisg-avt-0068/4a8c54d6baa5732d083aaca3ef871734.jpeg?x-expires=1670835600&x-signature=1yrZ6Qf7Hy%2FsRU6rULfsXXp2p2s%3D",
68        "coverMedium": "https://p16-sign-sg.tiktokcdn.com/aweme/720x720/tos-alisg-avt-0068/4a8c54d6baa5732d083aaca3ef871734.jpeg?x-expires=1670835600&x-signature=Aa3Tky6X%2B3m%2FangEhsOCzFPJDrA%3D",
69        "coverThumb": "https://p16-sign-sg.tiktokcdn.com/aweme/100x100/tos-alisg-avt-0068/4a8c54d6baa5732d083aaca3ef871734.jpeg?x-expires=1670835600&x-signature=m9DMmC2OoErr30FkK76n1j7TIEw%3D",
70        "authorName": "argenby • sigma",
71        "original": true,
72        "duration": 25,
73        "album": "",
74        "scheduleSearchTime": 0
75    },
76    "challenges": [],
77    "stats": {
78        "diggCount": 7400000,
79        "shareCount": 13600,
80        "commentCount": 62600,
81        "playCount": 70000000
82    },
83    "isActivityItem": false,
84    "duetInfo": {
85        "duetFromId": "0"
86    },
87    "warnInfo": [],
88    "originalItem": false,
89    "officalItem": false,
90    "textExtra": [
91        {
92            "awemeId": "",
93            "start": 29,
94            "end": 38,
95            "hashtagId": "",
96            "hashtagName": "",
97            "type": 0,
98            "subType": 0,
99            "userId": "6526453173618480128",
100            "isCommerce": false,
101            "userUniqueId": "ayazkyzz",
102            "secUid": "MS4wLjABAAAAfxkLilz8ohRQ1sdJmUBGm-CTC92gUnqUmBPQbX0mw5tRBQ66s0ybk7XDJTu-q14g"
103        },
104        {
105            "awemeId": "",
106            "start": 39,
107            "end": 47,
108            "hashtagId": "",
109            "hashtagName": "",
110            "type": 0,
111            "subType": 0,
112            "userId": "6788380939058152454",
113            "isCommerce": false,
114            "userUniqueId": "aman4ek",
115            "secUid": "MS4wLjABAAAAvM3JCM3glBxhKEgmyFDAjTwgFp5mGBsKUM9Vjq8WGJ3zqwMNg94yG8bXT5MZKkOr"
116        }
117    ],
118    "secret": false,
119    "forFriend": false,
120    "digged": false,
121    "itemCommentStatus": 0,
122    "showNotPass": false,
123    "vl1": false,
124    "takeDown": 0,
125    "itemMute": false,
126    "effectStickers": [],
127    "authorStats": {
128        "followerCount": 8900000,
129        "followingCount": 138,
130        "heart": 268000000,
131        "heartCount": 268000000,
132        "videoCount": 1248,
133        "diggCount": 75700
134    },
135    "privateItem": false,
136    "duetEnabled": true,
137    "stitchEnabled": true,
138    "stickersOnItem": [],
139    "isAd": false,
140    "shareEnabled": true,
141    "comments": [],
142    "duetDisplay": 0,
143    "stitchDisplay": 0,
144    "indexEnabled": true,
145    "diversificationLabels": [
146        "Scripted Drama",
147        "Scripted Drama",
148        "Performance"
149    ],
150    "adAuthorization": false,
151    "adLabelVersion": 0,
152    "locationCreated": "KG",
153    "nickname": "argenby • sigma",
154    "authorId": "6891947725971571713",
155    "authorSecId": "MS4wLjABAAAAXNAIWPpSImEnNOEvlPDEdFw34qRbdmXBr5k80rQmgScYjyKYi911PDUuNb5l5p_4",
156    "avatarThumb": "https://p16-sign-sg.tiktokcdn.com/aweme/100x100/tos-alisg-avt-0068/4a8c54d6baa5732d083aaca3ef871734.jpeg?x-expires=1670835600&x-signature=m9DMmC2OoErr30FkK76n1j7TIEw%3D",
157    "downloadSetting": 0,
158    "authorPrivate": false
159}

Contact

Please visit us through epctex.com to see all the products that are available for you. If you are looking for any custom integration or so, please reach out to us through the chat box in epctex.com. In need of support? devops@epctex.com is at your service.

Developer
Maintained by Community
Actor metrics
  • 44 monthly users
  • 99.6% runs succeeded
  • 0.0 days response time
  • Created in Jan 2023
  • Modified about 9 hours ago