TikTok Content Discovery Scraper · Hashtags & Sounds avatar

TikTok Content Discovery Scraper · Hashtags & Sounds

Pricing

from $1.00 / 1,000 content rows

Go to Apify Store
TikTok Content Discovery Scraper · Hashtags & Sounds

TikTok Content Discovery Scraper · Hashtags & Sounds

Discover public TikTok videos by exact hashtag/challenge or sound/music. Get one typed row per unique video with creator, engagement, music, hashtag, and timestamp fields, with bounded depth and clear empty or partial outcomes.

Pricing

from $1.00 / 1,000 content rows

Rating

0.0

(0)

Developer

Data Slayer

Data Slayer

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 hours ago

Last modified

Share

Discover public TikTok videos tied to an exact hashtag/challenge or an exact sound/music ID. Choose one discovery mode, supply exact targets, and receive one typed row per unique public video with creator, engagement, music, hashtag, and timestamp fields.

What this Actor does

Use this Actor when you know the exact hashtag/challenge or sound/music you care about and want the public videos associated with it. It is intentionally different from keyword video search and from region/window trend research:

  • Hashtag mode resolves an exact hashtag or challenge name (for example fyp, #fyp, or a tiktok.com/tag/... URL) and returns the public videos for that entity.
  • Sound mode resolves an exact numeric sound/music ID (or a tiktok.com/music/... URL) and returns the public videos that use that sound.

Each run uses exactly one mode, so every dataset row has an explicit, predictable type: hashtagContent or soundContent. The Actor does not mix different entity types into one undifferentiated dataset.

For every unique public video the default dataset receives one normalized row with:

  • the source entity the row was discovered through (hashtag/challenge or sound);
  • video ID, canonical public URL, caption/description, and publication time;
  • views, likes, comments, shares, and saves when available;
  • creator ID, username, display name, and verification state;
  • music ID, title, author, duration, and original-sound flag;
  • hashtags referenced by the video, video dimensions, and cover URL; and
  • an observation timestamp for repeatable tracking.

This product does not download video or audio files and does not return transcript text.

Input

FieldTypeRequiredDefaultLimitsPurpose
modestringyeshashtaghashtag or soundWhich entity type to discover content for.
targetsarray of stringsyes—1–20 entries; each ≤300 charactersExact hashtag names / tiktok.com/tag/... URLs, or exact numeric sound IDs / tiktok.com/music/... URLs. Duplicates are processed once.
maxItemsintegerno10001–10,000Hard cap on unique rows written across all targets.
maxItemsPerTargetintegerno1001–1,000Hard cap on unique rows per individual target.
maxRequestsintegernoderived1–300Hard cap on total upstream requests. Leave empty for a safe derived default.
timeBudgetSecsintegerno3001–3,300Soft wall-clock budget; the run stops safely and reports a partial outcome.

Valid hashtag input:

{
"mode": "hashtag",
"targets": ["fyp", "https://www.tiktok.com/tag/research"],
"maxItems": 200,
"maxItemsPerTarget": 100
}

Valid sound input:

{
"mode": "sound",
"targets": ["7224128604890990593"],
"maxItems": 100,
"maxItemsPerTarget": 50
}

Targets that do not match the selected mode (for example a music URL in hashtag mode) are rejected before any request, so the Actor never follows an unverified redirect or guesses an entity type.

Output

Each unique public video creates one paid row in the default dataset. Hashtag mode writes hashtagContent rows and sound mode writes soundContent rows.

FieldTypeNullableDescription
recordTypestringnohashtagContent or soundContent.
discoveryModestringnoThe requested mode: hashtag or sound.
querystringnoThe exact normalized target this row was discovered for.
sourceobjectnoThe hashtag/challenge or sound/music entity (id, name, description, author, duration, and counts when available).
videoIdstringnoStable numeric video ID and dataset identity.
descriptionstringyesPublic video caption or description.
createdAtstringyesISO 8601 publication time when available.
webVideoUrlstringyesCanonical public TikTok video URL when the creator handle is known.
authorobjectnoCreator ID, username, display name, and verification state.
metricsobjectnoNullable integer counts for views, likes, comments, shares, and saves.
musicobjectnoMusic ID, title, author, duration, and original-sound flag.
hashtagsarraynoHashtags referenced by the video.
videoobjectnoDuration, width, height, and cover URL.
isAdbooleanyesPublic paid-partnership flag when available.
observedAtstringnoUTC time when the row was normalized.

See customer/examples/result.json and customer/examples/result.csv for valid illustrative records. The examples validate the schema; they are not live result claims.

Empty, partial, unavailable, and failed runs

Invalid input stops before any request. Hashtags or sounds that cannot be resolved, and public content that is unavailable, do not become dataset rows and are not charged as content rows. Their safe per-target outcomes remain in the free RUN_SUMMARY key-value record.

The summary distinguishes succeeded, partial, empty, failed, charge_limit_reached, billing_uncertain, and cancelled, and reconciles delivered versus charged rows:

  • If the billing limit prevents a dataset push, no delivered row is counted.
  • If a storage or billing response leaves the write outcome uncertain, the Actor stops, does not retry the row, and makes no delivery claim for that write.
  • Pagination terminates safely on an absent or repeated cursor instead of looping.

Pricing

Pay per event. The Actor-start event is charged per GB of run memory, with a minimum of one event; the proposed 256 MB default therefore incurs one start event. A content-result event is charged for each unique row successfully delivered to the dataset. Duplicate, empty, unavailable, invalid, and failed results are not charged as content rows.

PlanActor startPer content row1 row100 rows
Free$0.0025$0.0030$0.0055$0.3025
Bronze$0.0023$0.0020$0.0043$0.2023
Silver$0.0021$0.0015$0.0036$0.1521
Gold$0.0020$0.0010$0.0030$0.1020
Platinum$0.0020$0.0010$0.0030$0.1020
Diamond$0.0020$0.0010$0.0030$0.1020

Platform compute usage, if any, is shown separately by Apify.

Reliability and limits

  • Transient rate-limit, server, and timeout failures use bounded retries and honor a short Retry-After value when provided.
  • Requests are paced conservatively within a run. This does not claim an account-wide distributed rate limit.
  • Duplicate targets and duplicate videos are removed by stable ID before delivery.
  • Media download URLs, audio download URLs, and private supplier identifiers are intentionally excluded from every row.
  • Engagement counts can change after retrieval. Store videoId as the stable join key and observedAt as the observation time.

Use from the API

After publication, call the Actor with your Apify token:

curl "https://api.apify.com/v2/acts/data-slayer~tiktok-content-discovery/runs?token=<YOUR_APIFY_TOKEN>" \
-X POST \
-H "Content-Type: application/json" \
-d '{"mode":"hashtag","targets":["fyp"],"maxItems":100,"maxItemsPerTarget":50}'

The proposed slug is not live yet. This endpoint becomes valid only after an authorized release.

FAQ

How much does it cost to run this Actor? Pricing is listed in the Pricing section above, charged per row returned. You only pay for the rows the Actor actually produces, so a small test run costs cents.

Do I need cookies or a login? No. This Actor reads public data only - no cookies, no account, no browser automation.

Can I schedule it? Yes. Run it from the Apify API, on a schedule, or via a webhook, and export results as JSON, CSV or Excel.

What if I need a slightly different output? Open an issue on the Actor's Issues tab describing the shape you need.

More Tiktok actors from the same portfolio. Apify only auto-recommends actors in the same category, so here are the rest of ours:

Actor
TikTok Comments Scraper · No Cookies
TikTok Followers Scraper · No Cookies
TikTok Popular Posts Scraper · No Cookies
TikTok Profile Scraper · No Cookies
TikTok Top Ads Research · Creative Center
TikTok Video Details Scraper · URL or ID
TikTok Video Search Scraper · No Cookies