TikTok Boolean Search Scraper | Videos & Hashtags
Pricing
from $0.90 / 1,000 matching tiktok results
TikTok Boolean Search Scraper | Videos & Hashtags
Find TikTok videos and photo posts with AND, OR, NOT, exact phrases, hashtags, date ranges, and engagement filters. Deduplicate results, discover creators and sounds, and export structured data without login or cookies.
Pricing
from $0.90 / 1,000 matching tiktok results
Rating
5.0
(1)
Developer
Scraping Solutions
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
4
Monthly active users
4 days ago
Last modified
Categories
Share
TikTok Boolean Search Scraper | Videos, Creators & Trends
Find public TikTok videos and photo posts with one precise Boolean query. Combine keywords, hashtags, exact phrases, AND, OR, NOT, parentheses, dates, content type, and engagement thresholds without manually merging separate searches.
The Actor turns each Boolean branch into a combined TikTok query, applies the complete Boolean expression to every candidate, removes duplicates, and streams matching records to the dataset as each page finishes. TikTok relevance discovers candidates but never replaces exact local validation.
What you can use it for
- Social listening across brands, products, people, and topics
- Campaign and competitor monitoring
- Trend discovery with exclusions for noise, giveaways, or unrelated meanings
- Creator discovery based on actual content and engagement
- Research restricted to videos, photo posts, dates, views, likes, comments, shares, or saves
- Export-ready datasets for BI, research, alerts, and LLM workflows
Boolean search examples
(#skincare OR "skin routine") AND (serum OR sunscreen) AND NOT giveaway
(BTC OR BITCOIN OR CRIPTO) AND TENDENCIA
"Rafael Correa" AND CORRUPCION
Supported syntax:
| Syntax | Meaning | Example |
|---|---|---|
AND | Every condition must match | skincare AND serum |
OR | At least one condition must match | BTC OR BITCOIN |
NOT | Exclude matching content | running NOT giveaway |
"phrase" | Match an exact phrase | "home workout" |
( ) | Control grouping | (nike OR adidas) AND running |
#hashtag | Search and match a hashtag | #skincare |
Before a paid run, check complex expressions with the free FlujoDato Boolean Search Validator.
How discovery works
- The Actor validates and normalizes the Boolean expression.
- Plain one-word terms use TikTok's video search, photo search, or both according to
contentType, and also check the matching exact hashtag feed. Explicit hashtags are resolved once and then paginated through their public posts. - The coverage phase gives every generated search an initial opportunity.
- The adaptive phase gives remaining pages to searches producing Boolean-qualified candidates, even when those candidates are rejected later by a date or engagement filter.
- Every candidate is checked against the full Boolean expression and configured filters.
- Unique matching results are saved immediately, so completed work remains available if a long run is stopped.
Plain terms and hashtags use Unicode-aware boundaries. A short term such as IA matches the complete word IA, but not text where those letters only occur inside tía, viaje, or diario.
Without date filters, Efficient coverage searches each Boolean branch as one combined query and may inspect up to 3 times the requested result count. Comprehensive keeps those combined queries and adds individual keyword, photo, and hashtag fallbacks, with up to 6 times the requested result count for higher recall. Every candidate from either coverage level must still satisfy the complete Boolean expression. When a date filter is active, successful pages become the cost guardrail and the candidate allowance expands to the estimated capacity of those pages.
For example, google checks keyword results, photo results, and the exact #google feed. Multi-word phrases are not silently converted into hashtags because "digital marketing" and #digitalmarketing are not equivalent searches.
Pricing and coverage behavior
A very restrictive expression can return few or zero results. Positive terms from each Boolean branch are submitted together for discovery; the complete AND, OR, NOT, phrase, date, content-type, and engagement conditions are then validated after download. That means the Actor may inspect multiple pages before finding a match.
The pricing model has two events:
- Matching TikTok result: charged for each record successfully saved to the default dataset.
- TikTok search page: charged once for each successfully processed, non-empty provider page.
Failed requests, retry attempts, and empty pages do not trigger the search-page event. HTTP 429 and other temporary provider failures are retried after 4, 16, and 64 seconds; a larger valid Retry-After response is respected. If one discovery source still fails, its completed results remain available and the other sources continue. A non-empty page can still be charged when every candidate on it is rejected by the Boolean expression or local filters, because the upstream page was successfully retrieved and evaluated.
Before the first provider request, the Actor estimates its balanced maximum charge from the result target, discovery plan, and current Apify event prices. Date-filtered runs can use up to 0.5 successful pages per requested result in Efficient mode and 1 page per requested result in Comprehensive mode, shared across the complete plan. If the available charge is below the full estimate but can fund at least one successful page and one result, the Actor enters partial mode, streams affordable output, and stops safely at the charge limit.
Input
{"searchQuery": "(#skincare OR \"skin routine\") AND (serum OR sunscreen) AND NOT giveaway","resultsLimit": 100,"contentType": "videos_only","searchCoverage": "efficient","oldestPostDate": "2026-08-01","newestPostDate": "2026-09-03","minimumViews": 1000,"minimumLikes": 50,"minimumComments": 0,"minimumShares": 0,"minimumSaves": 0,"strictBooleanSyntax": true}
Input fields
| Field | Purpose |
|---|---|
searchQuery | Required keyword, hashtag, phrase, or Boolean expression |
resultsLimit | Maximum unique matches to save, from 1 to 10,000; it is not a guaranteed count |
contentType | Search both videos and photos, videos only, or photo posts only |
searchCoverage | efficient for lower exploration or comprehensive for higher recall |
oldestPostDate / newestPostDate | Inclusive date range in YYYY-MM-DD |
minimumViews | Minimum reported play count |
minimumLikes | Minimum reported like count |
minimumComments | Minimum reported comment count |
minimumShares | Minimum reported share count |
minimumSaves | Minimum reported save count |
strictBooleanSyntax | Reject implicit operators instead of normalizing them |
Output
Each result contains the query match context alongside normalized TikTok data:
{"query": "#skincare AND serum","normalizedQuery": "#skincare AND serum","matchedTerms": ["#skincare", "serum"],"matchType": "exact_boolean","discoveryType": "hashtag","discoveryQuery": "skincare","videoId": "7612345678901234567","url": "https://www.tiktok.com/@skin.lab/video/7612345678901234567","contentType": "video","description": "Morning skin routine with serum #skincare","hashtags": ["#skincare"],"publishedAt": "2026-08-01T12:30:00Z","durationSeconds": 27,"viewCount": 120000,"likeCount": 8400,"commentCount": 320,"shareCount": 900,"saveCount": 1100,"creatorUsername": "skin.lab","creatorName": "Skin Lab","creatorVerified": false,"creatorFollowerCount": 42000,"musicId": "8765","musicTitle": "Clean morning","musicAuthor": "Example artist","locationCreated": "US"}
The default key-value store also exposes:
SEARCH_PLAN: normalized query, diagnostics, generated searches, and budget estimateRUN_PROGRESS: live counters updated after completed pagesRUN_SUMMARY: final scanned, matched, filtered, duplicate, request, and charge counts
Recommended first run
Start with 25-100 results, efficient coverage, and moderate filters. Review SEARCH_PLAN before scaling. If too few records match, remove one restrictive AND/NOT condition or lower an engagement threshold before increasing the result target.
Limitations
- Temporary provider failures use retries with 4, 16, and 64 second delays.
- Keyword, photo, and hashtag feeds are paginated while TikTok reports another page. Repeated cursors stop safely without charging or saving duplicate content.
- Explicit hashtags require a one-time lookup before their posts are loaded. This lookup is not billed as a search-page event.
- TikTok search endpoints return a ranked subset, not every post on the platform. A broad query can therefore finish below
resultsLimiteven when more matching posts exist on TikTok. - Results are deduplicated globally by TikTok content ID.
- TikTok search is dynamic, so repeated runs may return different ordering or availability.
- Historical date filters cannot force TikTok search to jump directly to an old date.
- Public counts and metadata depend on what TikTok reports at collection time.
Responsible use
Use the Actor only for lawful purposes. Collect public data that you are entitled to process, minimize personal data, respect intellectual-property and platform requirements, and comply with applicable privacy and data-protection laws. Do not use the Actor for harassment, unauthorized profiling, surveillance, or discriminatory decisions.
Support
For reproducible problems, open an issue on the Actor page with the run ID, sanitized input, expected behavior, and observed behavior. Never include API keys, raw credentials, or private data. Provider-side availability can change; a run ID lets us distinguish a configuration problem from a temporary upstream issue.
Developer setup
Add RAPIDAPI_KEY as a secret environment variable in the Actor. The key must be subscribed to the configured TikTok data API. Do not place credentials in source code, input, README examples, or datasets.