TikTok Boolean Search Scraper | Videos & Hashtags avatar

TikTok Boolean Search Scraper | Videos & Hashtags

Pricing

from $0.90 / 1,000 matching tiktok results

Go to Apify Store
TikTok Boolean Search Scraper | Videos & Hashtags

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

Scraping Solutions

Maintained by Community

Actor 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:

SyntaxMeaningExample
ANDEvery condition must matchskincare AND serum
ORAt least one condition must matchBTC OR BITCOIN
NOTExclude matching contentrunning NOT giveaway
"phrase"Match an exact phrase"home workout"
( )Control grouping(nike OR adidas) AND running
#hashtagSearch and match a hashtag#skincare

Before a paid run, check complex expressions with the free FlujoDato Boolean Search Validator.

How discovery works

  1. The Actor validates and normalizes the Boolean expression.
  2. 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.
  3. The coverage phase gives every generated search an initial opportunity.
  4. 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.
  5. Every candidate is checked against the full Boolean expression and configured filters.
  6. 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

FieldPurpose
searchQueryRequired keyword, hashtag, phrase, or Boolean expression
resultsLimitMaximum unique matches to save, from 1 to 10,000; it is not a guaranteed count
contentTypeSearch both videos and photos, videos only, or photo posts only
searchCoverageefficient for lower exploration or comprehensive for higher recall
oldestPostDate / newestPostDateInclusive date range in YYYY-MM-DD
minimumViewsMinimum reported play count
minimumLikesMinimum reported like count
minimumCommentsMinimum reported comment count
minimumSharesMinimum reported share count
minimumSavesMinimum reported save count
strictBooleanSyntaxReject 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 estimate
  • RUN_PROGRESS: live counters updated after completed pages
  • RUN_SUMMARY: final scanned, matched, filtered, duplicate, request, and charge counts

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 resultsLimit even 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.