Install
openclaw skills install @apidojo-io/finding-ecommerce-brands-for-outreachDiscovers e-commerce and DTC brands on Instagram and TikTok using apidojo's scrapers on Apify. Triggers when the user asks to: find DTC brands on Instagram for outreach, discover Shopify brands on social media, identify e-commerce companies running TikTok shops, build an outreach list of online brands, find brands selling in a specific product category on social media, identify fast-growing DTC companies for partnerships or sales, or compile a list of online retailers active on Instagram or TikTok. Returns brand handle, follower count, bio, product category, and engagement rate. Ideal for wholesale suppliers, SaaS vendors targeting e-commerce, and B2B partnership teams.
openclaw skills install @apidojo-io/finding-ecommerce-brands-for-outreachFinds DTC and e-commerce brands active on Instagram and/or TikTok by searching product-category hashtags and filtering accounts whose bios signal commercial activity (shop links, product keywords, "DTC", "founder", etc.).
APIFY_TOKEN environment variable set| Parameter | Type | Required | Default | Notes |
|---|---|---|---|---|
startUrls | array | ✅ | [] | Instagram URLs — profiles, hashtags, locations, audio pages, reels |
until | string | Optional | — | Scrape posts until this date (YYYY-MM-DD) |
maxItems | number | Optional | Unlimited | Maximum posts to return |
customMapFunction | string | Optional | — | JavaScript function to transform each output object |
Progress:
- [ ] Step 1: Define product category and target platform(s)
- [ ] Step 2: Build hashtag and keyword list
- [ ] Step 3: Scrape accounts from product hashtags
- [ ] Step 4: Filter for brand signals in bio
- [ ] Step 5: Rank and deliver outreach list
Ask the user for:
Generate product-category hashtags. Bias toward brand/seller hashtags, not consumer hashtags:
#skincarebrand, #skincarefounder, #cleanbeauty, #skincareproducts#dogbrand, #petbusiness, #dogaccessories, #handmadedogtoys#homegymequipment, #fitnessbrand, #gymequipment, #fitnessproductsInstagram — If Apify MCP is available:
Tool: apify:run-actor
Actor: "apidojo~instagram-scraper"
Input:
{
"keywords": ["[hashtag1]", "[hashtag2]", "[hashtag3]"],
"maxItems": 100
}
TikTok — If Apify MCP is available:
Tool: apify:run-actor
Actor: "apidojo~tiktok-scraper"
Input:
{
"keywords": ["[hashtag1]", "[hashtag2]"]
}
REST API fallback (Instagram):
curl -X POST \
"https://api.apify.com/v2/acts/apidojo~instagram-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keywords": ["[hashtag1]", "[hashtag2]"], "maxItems": 100}'
REST API fallback (TikTok):
curl -X POST \
"https://api.apify.com/v2/acts/apidojo~tiktok-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keywords": ["[hashtag1]", "[hashtag2]"]}'
Collect unique account handles from results. Wait for SUCCEEDED before fetching dataset.
From profile bios, keep accounts where ANY of the following are true:
businessCategoryName field present)Remove: personal accounts without shop signals, celebrity/influencer accounts (unless user wants these), accounts with 0 posts.
Rank by engagement rate (likes + comments / followers) within follower range.
# E-commerce Brand Outreach List: [CATEGORY]
Platform(s): [Instagram / TikTok / Both] | Results: [N] brands | Date: [DATE]
| # | Handle | Platform | Followers | Category | Bio Excerpt | Website | Eng. Rate |
|---|--------|----------|-----------|----------|-------------|---------|-----------|
| 1 | @[name] | [IG/TT] | [N] | [cat] | [bio] | [url] | [X.X%] |
## Highlights
- Fastest growing: @[handle] — [N] followers, [X.X%] engagement
- Most established: @[handle] — [N] followers, [N] posts
- Most active: @[handle] — posts [X]x per week
## Notes
- [N] total accounts found across hashtags
- [N] filtered out (no brand signals in bio)
- [N] final brands in list
Mostly personal accounts in results: Use more brand-specific hashtags (e.g., #[category]brand instead of #[category]).
Too few results: Expand hashtag list or lower minimum follower count.
Results from large established brands only: Add #small[category]brand, #indie[category], or #handmade[category] hashtags.
Recommended — run_actor.js (handles waiting, output, and file saving automatically):
# Quick answer (prints table to chat)
node scripts/run_actor.js \
--actor "apidojo~instagram-scraper" \
--input '{"param": "value"}'
# Save as CSV
node scripts/run_actor.js \
--actor "apidojo~instagram-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.csv --format csv
# Save as JSON
node scripts/run_actor.js \
--actor "apidojo~instagram-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.json --format json
APIFY_TOKENmust be set in environment or.envfile.