Skip to main content
skill CX Codex

finding-ecommerce-brands-for-outreach — Claude Code skill: find DTC

Builds a list of e-commerce and DTC brands on Instagram and TikTok by product-category hashtags. Useful when you need an outreach list instead of scrolling profiles by hand.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add apidojo-io/apidojo-skills --skill finding-ecommerce-brands-for-outreach -a claude-code
Open on GitHub

What finding-ecommerce-brands-for-outreach does

The skill searches product-category hashtags and keeps accounts whose bios look commercial: a shop link, words like shop, founder, official, or product keywords. You get a table with handle, platform, follower count, category, bio excerpt, website and engagement rate. Ranking runs on engagement within the follower range you set.

It runs on apidojo scrapers hosted on Apify: apidojo/instagram-scraper and apidojo/tiktok-scraper. Three ways to fire it off — the Apify MCP server, plain REST calls with curl, or the bundled scripts/run_actor.js, which waits for the run to finish and saves results as CSV or JSON. Set APIFY_TOKEN in your environment or a .env file before the first run.

The skill asks for parameters first: product category, platform, brand signals, follower bounds, and how many brands you want. It suggests starting at 1,000 followers to filter out personal accounts. If the results come back full of personal profiles, it tells you to swap in brand-oriented hashtags such as #[category]brand instead of #[category]. No Apify token means nothing runs, so check that first.

What it helps with

  • build a DTC brand list on Instagram for outreach
  • find TikTok shops selling in one product category
  • filter out personal accounts and keep commercial profiles
  • rank discovered brands by engagement rate
  • export the result as CSV or JSON for follow-up work

Example prompts for the agent

  • Find DTC skincare brands on Instagram with at least 1000 followers, 50 of them
  • Build a list of TikTok Shop brands in dog accessories
  • Compile an e-commerce brand table from Instagram and TikTok with websites and engagement

How to install finding-ecommerce-brands-for-outreach

1Skills CLI (Vercel)

npx skills add apidojo-io/apidojo-skills --skill finding-ecommerce-brands-for-outreach -a claude-code

2Manually: put the files in place

~/.claude/skills/finding-ecommerce-brands-for-outreach/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/finding-ecommerce-brands-for-outreach/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about finding-ecommerce-brands-for-outreach

How do I install finding-ecommerce-brands-for-outreach in Claude?

Run npx skills add apidojo-io/apidojo-skills --skill finding-ecommerce-brands-for-outreach -a claude-code. The skill lands in ~/.claude/skills/finding-ecommerce-brands-for-outreach/SKILL.md.

What does finding-ecommerce-brands-for-outreach do?

It finds e-commerce and DTC brands on Instagram and TikTok through product-category hashtags, filters profiles by commercial signals in the bio, and returns a table with handle, followers, category, website and engagement rate.

What do I need to run the skill?

An APIFY_TOKEN environment variable. From there you can run it through the Apify MCP server, REST calls, or the scripts/run_actor.js script.

Source text

SKILL.md · Apache-2.0
---
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.

© apidojo · Apache-2.0 · apidojo-io/apidojo-skills

Similar skills

Everything for Marketing and content →

From the same set22

tracking-twitter-thought-leaders Finds Twitter/X accounts whose posts on a topic actually get shared, then hands back a ranked list for PR and partnerships. CX Codex +1 786installs monitoring-twitter-for-competitor-job-posts Tracks competitor hiring tweets on X and turns them into growth signals: who is hiring, for what role, and when. CX Codex +1 786installs analyzing-competitor-twitter-profile-content This skill pulls a competitor's or brand's tweet history through Apify and ranks posts by engagement. Useful when you need to see what a rival actually posts. CX Codex +1 784installs building-journalist-outreach-list-from-twitter Builds journalist and media contact lists for a given beat by scraping Twitter/X through Apify. Useful when you need names before a press pitch. CX Codex +1 780installs tracking-competitor-social-media-growth Pulls follower counts and engagement for competitor accounts on Twitter/X, TikTok and Instagram, then lines them up side by side. Useful when you need to compare how accounts grow. CX Codex +1 771installs discovering-tiktok-shop-sellers-by-niche Maps TikTok Shop sellers and products in a niche: who promotes what, which items move, where the gaps are. CX Codex +1 770installs tracking-brand-sentiment-across-platforms Pulls brand mentions from Twitter, Reddit and TikTok, scores sentiment per platform, and returns one brand health number from 0 to 100. CX Codex +1 767installs finding-tiktok-creators-by-location Finds TikTok creators and their videos by geographic location through apidojo's scraper on Apify. Useful for local campaigns and regional research. CX Codex +1 766installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor