Tiktok Hashtag Scraper
Pricing
Pay per event
Go to Apify Store
Pricing
Pay per event
Rating
0.0
(0)
Developer

The Netaji
Maintained by Community
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Scrape videos from specific TikTok hashtags or challenges to analyze trends and track campaigns.
Use Cases
- Hashtag Research: Analyze performance of specific hashtags
- Campaign Tracking: Monitor branded hashtag campaigns
- Trend Analysis: Study what content performs well in a hashtag
- Competitor Research: See how competitors use hashtags
- Content Discovery: Find content in your niche
- Influencer Outreach: Identify active creators in hashtags
Input
Parameters
| Field | Type | Required | Description | Example | Default |
|---|---|---|---|---|---|
hashtag | string | Yes | Hashtag name (without #) | pizza | - |
type | string | Yes | Scraper type | hashtag | - |
maxResults | number | No | Maximum videos to scrape | 100 | 20 |
cursor | string | No | Pagination cursor | 0_1234567890_abcdef | - |
Example: Basic Hashtag Scrape
{"hashtag": "pizza","type": "hashtag","maxResults": 50}
Example: Challenge Scrape
{"hashtag": "pizzachallenge","type": "hashtag","maxResults": 100}
Example: Paginated Request
{"hashtag": "pizza","type": "hashtag","maxResults": 50,"cursor": "0_1733644800_xyz123"}
Output
Schema
{"challenge": {"id": "7090","title": "pizza","desc": "Show us your favorite pizza moments! 🍕","stats": {"videoCount": 2847956,"viewCount": 8932045821}},"videos": [{"id": "7480901866377858326","desc": "New York pizza hits different 🍕 #pizza","createTime": 1733644829,"video": {"duration": 12,"cover": "https://...","playAddr": "https://..."},"author": {"uniqueId": "malatidipizza","nickname": "Malati Di Pizza","verified": true},"stats": {"diggCount": 327000,"shareCount": 8945,"commentCount": 2341,"playCount": 7700000}}],"cursor": "0_1733644800_xyz123","hasMore": true,"scrapedAt": "2024-12-08T04:50:29.000Z","totalScraped": 50}
Output Fields
| Field | Type | Description |
|---|---|---|
challenge | object | Hashtag/challenge details |
videos | array | Videos using the hashtag |
cursor | string | Cursor for next page |
hasMore | boolean | More videos available |
totalScraped | number | Videos in current response |
Pagination
To scrape more videos:
- First Request: Omit
cursorparameter - Check Response: Look at
hasMorefield - Next Request: Use returned
cursorvalue - Repeat: Until
hasMoreisfalse
Pagination Example
// Request 1{"hashtag": "pizza","type": "hashtag","maxResults": 100}// Response: cursor = "0_1733644800", hasMore = true// Request 2{"hashtag": "pizza","type": "hashtag","maxResults": 100,"cursor": "0_1733644800"}
Usage Tips
Hashtag Selection
- Use exact hashtag names (no # symbol)
- Case-insensitive (
Pizza=pizza) - Works for both hashtags and challenges
- Check stats before bulk scraping
Best Practices
- Start with small
maxResults(20-50) - Use pagination for large datasets
- Add 2-3 second delays between requests
- Cache challenge details (updates slowly)
Error Handling
| Error Code | Description | Solution |
|---|---|---|
| 404 | Hashtag not found | Verify hashtag exists |
| 400 | Invalid cursor | Start fresh without cursor |
| 429 | Rate limit exceeded | Add delays between requests |
Last Updated: December 8, 2024