finding-ecommerce-brands-for-outreach
Discovers 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.
Savant verdict: Review advised
Security analysis or source-hub review identified patterns requiring attention.
Live evaluation
Not evaluated yet. Workspaces can request a live evaluation.
Security assessment
Scan pending.
Structure
- 1 referenced file isn't in the packagescripts/run_actor.js. They may be binary, too large to catalog, or missing upstream.
- The source hub's security checks flagged this skillSocket: warn (1 alert: gptAnomaly); Snyk: warn (Risk: MEDIUM · 1 issue)
SKILL.md
---
name: finding-ecommerce-brands-for-outreach
description: >
Discovers 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.
license: Apache-2.0
metadata:
author: apidojo
version: "1.0"
apify-actors: apidojo/instagram-scraper, apidojo/tiktok-scraper
---
# Finding E-commerce Brands for Outreach
Finds 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.).
## Prerequisites
- `APIFY_TOKEN` environment variable set
- Optional: Apify MCP server installed
## Inputs
| 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 |
## Workflow
```
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
```
### Step 1: Clarify Parameters
Ask the user for:
- **Product category** (e.g., "skincare", "dog accessories", "home gym equipment")
- **Platform** — Instagram, TikTok, or both
- **Brand signals to look for** (e.g., shop links, "founder", "official", product-related keywords in bio)
- **Min followers** (default: 1,000 — filters out personal accounts)
- **Max followers** (optional — e.g., 500,000 to focus on emerging brands)
- **Number of brands** (default: 50)
### Step 2: Build Hashtag List
Generate product-category hashtags. Bias toward brand/seller hashtags, not consumer hashtags:
- Skincare → `#skincarebrand`, `#skincarefounder`, `#cleanbeauty`, `#skincareproducts`
- Dog accessories → `#dogbrand`, `#petbusiness`, `#dogaccessories`, `#handmadedogtoys`
- Home gym → `#homegymequipment`, `#fitnessbrand`, `#gymequipment`, `#fitnessproducts`
### Step 3: Scrape Platform(s)
**Instagram — 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):**
```bash
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):**
```bash
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.
### Step 4: Filter for Brand Signals
From profile bios, keep accounts where ANY of the following are true:
- Bio contains a link (Linktree, Shopify store, website)
- Bio contains keywords: "shop", "founder", "CEO", "official", "buy", "available at", "®", "™"
- Bio contains product-specific language matching the category
- Profile is a business account (Instagram only: `businessCategoryName` field present)
- Follower count within specified range
Remove: personal accounts without shop signals, celebrity/influencer accounts (unless user wants these), accounts with 0 posts.
### Step 5: Rank and Format
Rank by engagement rate (likes + comments / followers) within follower range.
## Output Format
```
# 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
```
## Troubleshooting
**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):**
```bash
# 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_TOKEN` must be set in environment or `.env` file.