finding-fitness-brands-on-tiktok

Discovers fitness studios, wellness brands, and gym businesses on TikTok using apidojo's TikTok Scraper on Apify. Triggers when the user asks to: find fitness businesses on TikTok,…

API Dojo

@apidojo-io

Install

$ openclaw skills install @apidojo-io/finding-fitness-brands-on-tiktok

Finding Fitness Brands On Tiktok


Inputs

ParameterTypeRequiredDefaultNotes
startUrlsarrayOptional[]TikTok URLs — user profiles, hashtags, music pages, search, locations
keywordsarrayOptional[]Search keywords/terms to find posts
sortTypestringOptionalRELEVANCESort order for keyword results: RELEVANCE, MOST_LIKED, DATE_POSTED
locationstringOptionalISO 3166-1 alpha-2 country code for regional filtering (e.g. US, GB)
maxItemsnumberOptionalUnlimitedMaximum posts to return across the run
includeSearchKeywordsbooleanOptionalfalseAdd the matched search keyword field to each post
customMapFunctionstringOptionalJavaScript function to transform each output object

How to Run

Using run_actor.js (recommended)

# Quick answer (table)
node scripts/run_actor.js --actor "apidojo~tiktok-scraper" --input '{"keywords": ["fitness studio", "gym owner"], "sortType": "MOST_LIKED", "maxItems": 100}'

# Save as CSV
node scripts/run_actor.js --actor "apidojo~tiktok-scraper" --input '{"keywords": ["fitness studio", "gym owner"], "sortType": "MOST_LIKED", "maxItems": 100}' --output results.csv --format csv

# Save as JSON
node scripts/run_actor.js --actor "apidojo~tiktok-scraper" --input '{"keywords": ["fitness studio", "gym owner"], "sortType": "MOST_LIKED", "maxItems": 100}' --output results.json --format json

REST API fallback

curl -X POST "https://api.apify.com/v2/acts/apidojo~tiktok-scraper/runs" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords": ["fitness studio", "gym owner"], "sortType": "MOST_LIKED", "maxItems": 100}'

If Apify MCP is available: Use the Apify MCP call_actor tool with actor apidojo~tiktok-scraper and the input above.


Scoring & Ranking

Score each channel by:

  • followers → normalized 0-1 (cap at 500K), weight 0.35
  • avg_engagement = (likes + comments + shares) / views → weight 0.35
  • verified → 0 or 1, weight 0.30
score = 0.35 * min(followers / 500000, 1.0) + 0.35 * min(avg_engagement / 0.10, 1.0) + 0.30 * int(verified)

Classification

ScoreTierLabel
≥ 0.70APRIME_PROSPECT
0.40–0.69BWARM_LEAD
< 0.40CLOW_PRIORITY

Edge Cases

  • Mixed results with consumers: Filter by channel.followers > 1000 to focus on established brands.
  • Keyword too broad: "fitness" returns individual users. Use "fitness business", "gym owner", "fitness studio" instead.
  • No contact info in TikTok: Cross-reference with Instagram or website links in bio.
  • Duplicate channels: Same brand may appear multiple times — deduplicate by channel.username.
  • Inflated views: TikTok can have high views but low followers for viral one-offs — balance both metrics.

Top skills in this category