# Creator Commerce Competitor Finder — LTK & ShopMy (`latentlark/creator-commerce-competitor-finder`) Actor

Find the creators who promote a brand (yours or a competitor's) on LTK and ShopMy. Enter brand names or domains, get one row per creator with profile link, products linked, clicks, last post date, bio, Instagram and other public links. Schedule with 'only new' to catch new affiliates.

- **URL**: https://apify.com/latentlark/creator-commerce-competitor-finder.md
- **Developed by:** [LatentLark](https://apify.com/latentlark) (community)
- **Categories:** Social media, Lead generation, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.50 / 1,000 creators

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Creator Commerce Competitor Finder — LTK & ShopMy

Find out **which creators promote a brand** on **LTK (LIKEtoKNOW.it)** and **ShopMy**. Give it your competitors' brand names (or your own) and get one row per creator: handle, profile link, how many of the brand's products they link, ShopMy monthly clicks, the date of their latest LTK post with the brand, plus their bio and public Instagram, TikTok, YouTube and website links.

Use it to build an outreach list of creators who already sell your category, or to see who a competitor works with. Schedule it with **Only new creators** to find out when a rival signs a new affiliate.

*No login and no cookies: it uses only public data.*

![Creator Commerce Competitor Finder results: one row per creator with platform, handle, LTK followers, brand products linked, ShopMy monthly clicks, last brand post and social links](https://api.apify.com/v2/key-value-stores/Tv899H9p8Kim9T8M2/records/creator-commerce-results-table.png?signature=EkhwSlEc4ULW24nstO1F)

*Real output from a test run for `Glossier` (ShopMy and LTK). Built and maintained by LatentLark.* Want it in a spreadsheet? Send every run to Google Sheets with [Google Sheets Export & Import (No OAuth)](https://apify.com/latentlark/sheets-export).

### Quick start (first run in about 30 seconds)

1. Click **Try for free** (or **Start** in Console). The form is prefilled with `Glossier`, both platforms, 3 creators per platform and 1 product link each.
2. Click **Start**. You get 6 Glossier creators (3 from ShopMy, 3 from LTK) in the **Output** tab for about $0.05.
3. Replace `Glossier` with your competitors (one per line), for example `Rhode Skin`, `Summer Fridays` or `tower28beauty.com`. Raise **Max creators** when you want more.
4. For alerts, turn on **Only new creators since last run**, set a **Monitor key** like `skincare-competitors`, **Save as task** and add a weekly **Schedule**.

**How the first run looks** (fill the form, click Start, get results):

![Walkthrough: the prefilled form with Glossier, click Start, then the creators table in the Output tab](https://api.apify.com/v2/key-value-stores/Tv899H9p8Kim9T8M2/records/creator-commerce-walkthrough.gif?signature=16o7aBFezhpp2Z6tcuCuM)

### What you can do with it

- **Influencer outreach list:** creators who already link a competitor's products convert well for you too. Every row has the profile link, the bio and the public social links.
- **Competitor affiliate tracking:** see who a rival brand pays or seeds, and how much traffic they drive (ShopMy clicks, LTK product count and latest post).
- **New-affiliate alerts:** a weekly run with `onlyNew` shows only creators who started promoting the brand since the last run.
- **Pair it with ads:** run [Google Ads Transparency & LinkedIn Ad Library Scraper](https://apify.com/latentlark/competitor-ads-monitor) on the same competitors to see their paid ads (Google, LinkedIn) next to their creator and affiliate program. That gives you the paid side and the creator side of their marketing in one place.
- **Agency pitching:** show a brand the creators who drive sales for its competitors.

### Input

| Field | What it does |
|---|---|
| `brands` | Brand names (`Rhode Skin`, `Glossier`) or brand domains (`glossier.com`), one per line |
| `platforms` | `shopmy`, `ltk` or both (default both) |
| `maxCreatorsPerBrand` | Top creators per brand and platform (ShopMy by clicks on the brand, LTK by number of brand products linked). Keeps cost predictable. 0 = no limit |
| `maxProductsPerCreator` | Brand product links listed in each row (title, link, price, image). 0 = counts only |
| `includeProfileDetails` | Name, bio, social links, emails written in the public bio and the LTK latest-post date (on by default) |
| `includeLtkFollowers` | LTK follower count from the public profile page (off by default; slower, no extra charge) |
| `onlyNew` + `monitorKey` | Output only creators not seen in earlier runs with the same key |

```json
{
  "brands": ["Glossier", "Rhode Skin"],
  "platforms": ["shopmy", "ltk"],
  "maxCreatorsPerBrand": 25,
  "maxProductsPerCreator": 3,
  "includeProfileDetails": true
}
```

### Output

One item per creator, brand and platform. Example (LTK, shortened):

```json
{
  "platform": "ltk",
  "brand": "Rhode Skin",
  "brandMatched": "rhode skin",
  "handle": "interiordesignerella",
  "creatorName": "Jennifer Adams",
  "profileUrl": "https://www.shopltk.com/explore/interiordesignerella",
  "followers": 1967987,
  "brandProductsCount": 25,
  "brandMonthlyClicks": null,
  "lastSeenAt": "2026-10-18T05:30:52+00:00",
  "products": [
    {"title": "the glam on + off set", "url": "https://on.ltk.com/...", "price": 58, "currency": "USD",
     "retailer": "rhode skin", "postUrl": "https://www.shopltk.com/explore/interiordesignerella/posts/..."}
  ],
  "socials": {"instagram": "https://www.instagram.com/..."},
  "bioEmails": [],
  "isNew": true,
  "scrapedAt": "2026-10-25T12:37:37Z"
}
```

ShopMy rows have `brandMonthlyClicks` (the creator's monthly clicks on the brand's products) and `joinedPlatformAt`. `followers` and `lastSeenAt` are `null` on ShopMy because it doesn't show them publicly. The `SUMMARY` record in the key-value store lists counts per brand and platform, and for ShopMy the brand names that match your query (useful when names collide).

### Pricing (pay per event)

| Event | Free plan | Bronze | Silver | Gold+ |
|---|---|---|---|---|
| Actor start (at the default 256 MB memory) | $0.01 | $0.01 | $0.01 | $0.01 |
| Creator (one dataset row) | $0.005 ($5 per 1,000) | $0.0045 | $0.004 | $0.0035 |
| Product link inside a row | $0.002 ($2 per 1,000) | $0.0018 | $0.0016 | $0.0014 |

Paid Apify plans pay 10% (Bronze), 20% (Silver) or 30% (Gold and up) less per creator and product link.

Example (free plan): 50 creators with 3 product links each cost $0.01 + $0.25 + $0.30 = $0.56. Set **Max product links per creator** to 0 to pay for creators only. The run stops cleanly when it reaches your maximum charge.

### Limitations

- **Platforms:** LTK and ShopMy only. Amazon Influencer storefronts are not supported: Amazon has no public way to list the influencers of a brand.
- **ShopMy** shows the top promoters of each product, so the list favors the most active creators of a brand, not every creator who ever linked it.
- **LTK** search returns at most 400 products per query. Very big brands show their most relevant creators, not all of them.
- **Brand names that collide:** `Rhode` matches both the fashion label *Rhode* and *Rhode Skin*. Use the exact brand name (`Rhode Skin`); `brandMatched` shows which label each row matched.
- Followers come from LTK only (opt-in). Emails appear only when a creator wrote one in their public bio.

### FAQ

**I got 0 results.** Check the brand spelling the way shoppers see it on the platform (e.g. `Rhode Skin`, not `rhode beauty`). Look at `SUMMARY` → `platformBrandsForQuery` for the names ShopMy knows. Some small brands are on only one platform.

**Only new creators returned nothing.** On scheduled runs that is normal: nobody new started promoting the brand since the last run with that Monitor key.

**Can I get emails?** Only the ones creators put in their public bio, plus links to their public profiles. The Actor does not guess or enrich emails.

### Data and privacy

This Actor collects only data that creators chose to publish on public LTK and ShopMy profiles. It doesn't log in or collect private data. Creator profiles are personal data under GDPR and similar laws. Use the results for legitimate business purposes such as partnership outreach. Keep your outreach relevant and let people opt out, and don't store more than you need.

### Other LatentLark Actors

- [Google Ads Transparency & LinkedIn Ad Library Scraper](https://apify.com/latentlark/competitor-ads-monitor): track competitor ads from Google Ads Transparency Center and LinkedIn Ad Library, with new-ad alerts.
- [Google Sheets Export & Import (No OAuth)](https://apify.com/latentlark/sheets-export): send any Actor's results to a Google Sheet on a schedule.
- [Career Page Jobs API](https://apify.com/latentlark/ats-career-jobs): jobs from Workday, Greenhouse, Lever, Ashby and more in one schema.
- [Telegram Channel Monitor](https://apify.com/latentlark/telegram-channel-monitor): scrape and monitor public Telegram channels with no login and only-new mode.
- [Google Maps No-Website Leads (Audit & Pitch)](https://apify.com/latentlark/local-lead-audit): audit local business websites and get a one-line cold-email pitch.
- [Facebook Reels Scraper + Transcripts](https://apify.com/latentlark/facebook-reels-scraper): public Facebook Reels with plays, reactions, shares and a spoken-word transcript (captions or Whisper), no login.

# Actor input Schema

## `brands` (type: `array`):

One per line. A brand name as shoppers know it (Rhode, Summer Fridays) or the brand's website (glossier.com). Competitors or your own brand.

## `platforms` (type: `array`):

Where to look for creators promoting the brand.

## `maxCreatorsPerBrand` (type: `integer`):

Top creators first (ShopMy: by monthly clicks on the brand's products; LTK: by number of brand products linked). Keeps cost predictable. 0 = no limit.

## `maxProductsPerCreator` (type: `integer`):

Brand products listed in each creator row (title, link, price, image). Each returned link is a 'product-link' event. 0 = counts only, no links.

## `includeProfileDetails` (type: `boolean`):

Adds name, bio, Instagram/TikTok/YouTube/website links, emails written in the public bio and (LTK) the date of the latest brand post. One light extra request per creator (LTK: batched).

## `includeLtkFollowers` (type: `boolean`):

Reads the LTK follower count from each creator's public LTK page. Slower (one page per creator) but no extra charge.

## `onlyNew` (type: `boolean`):

Outputs (and charges for) only creators not seen in earlier runs with the same Monitor key. The first run saves a baseline.

## `monitorKey` (type: `string`):

Name for this watch list, e.g. skincare-competitors. Runs with the same key share the 'seen' list.

## Actor input object example

```json
{
  "brands": [
    "Glossier"
  ],
  "platforms": [
    "shopmy",
    "ltk"
  ],
  "maxCreatorsPerBrand": 3,
  "maxProductsPerCreator": 1,
  "includeProfileDetails": true,
  "includeLtkFollowers": false,
  "onlyNew": false,
  "monitorKey": "default"
}
```

# Actor output Schema

## `overview` (type: `string`):

Creators promoting each brand: platform, handle, profile, products linked, clicks, last seen, socials.

## `summary` (type: `string`):

Per-brand and per-platform counts and errors.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "brands": [
        "Glossier"
    ],
    "platforms": [
        "shopmy",
        "ltk"
    ],
    "maxCreatorsPerBrand": 3,
    "maxProductsPerCreator": 1
};

// Run the Actor and wait for it to finish
const run = await client.actor("latentlark/creator-commerce-competitor-finder").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "brands": ["Glossier"],
    "platforms": [
        "shopmy",
        "ltk",
    ],
    "maxCreatorsPerBrand": 3,
    "maxProductsPerCreator": 1,
}

# Run the Actor and wait for it to finish
run = client.actor("latentlark/creator-commerce-competitor-finder").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "brands": [
    "Glossier"
  ],
  "platforms": [
    "shopmy",
    "ltk"
  ],
  "maxCreatorsPerBrand": 3,
  "maxProductsPerCreator": 1
}' |
apify call latentlark/creator-commerce-competitor-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,latentlark/creator-commerce-competitor-finder"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/5oWVi402VgD09vwKl/builds/nvHk4IdIQy9cjXqCw/openapi.json
