# TikTok Shop Affiliate Products (`sentry/tiktok-shop-affiliate-products`) Actor

Find TikTok Shop products worth promoting with affiliate opportunity scoring, product demand signals, price bands, ratings, reviews, seller context, and creator-commerce indicators when available.

- **URL**: https://apify.com/sentry/tiktok-shop-affiliate-products.md
- **Developed by:** [Sentry](https://apify.com/sentry) (community)
- **Categories:** E-commerce, Social media, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $25.00 / 1,000 affiliate product opportunities

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## TikTok Shop Affiliate Products

**TikTok Shop Affiliate Products** is a TikTok Shop affiliate product research scraper and TikTok Shop affiliate opportunity finder for brands, agencies, affiliate marketers, creators, ecommerce teams, product researchers, and enterprise social-commerce teams that need to discover which TikTok Shop products are worth promoting.

Use this Actor to search TikTok Shop by product keyword, niche, category, or buying intent, then receive a ranked dataset of TikTok Shop products with an **affiliate opportunity score**, affiliate opportunity tier, demand signals, rating signals, review counts, sales signals when available, seller details, price bands, product URLs, image URLs, promo indicators, and creator-commerce context when available.

This is built for one practical business question:

> Which TikTok Shop products should we promote, test, recruit creators for, run Spark Ads around, add to affiliate campaigns, or analyze for ecommerce opportunity?

If you are looking for a TikTok Shop affiliate scraper, TikTok Shop product finder, TikTok Shop product research tool, TikTok Shop affiliate product discovery tool, TikTok Shop creator campaign research tool, TikTok Shop product opportunity scraper, TikTok Shop ecommerce research scraper, TikTok Shop ads research workflow, or TikTok Shop affiliate marketing dataset, this Actor is designed for that exact workflow.

### Why This Actor Exists

TikTok Shop is no longer just a normal ecommerce marketplace. It is a creator-commerce marketplace where products can win because they are easy to demonstrate, visually obvious, priced for impulse buying, supported by reviews, validated by demand, and suitable for affiliate creators.

Normal product scraping answers a simple question:

> What products show up for this TikTok Shop search?

This Actor is designed to answer a more valuable question:

> Which products in this TikTok Shop search are most likely to be useful for affiliate promotion, creator outreach, product testing, campaign planning, ecommerce research, or agency research?

The Actor does more than return raw TikTok Shop search results. It enriches every product with practical opportunity signals so teams can prioritize products instead of manually scanning thousands of listings.

### What This Actor Does

TikTok Shop Affiliate Products searches TikTok Shop product results and outputs a sorted list of affiliate product opportunities.

For each product, the Actor can return:

- TikTok Shop product name
- TikTok Shop product ID
- TikTok Shop product URL
- TikTok Shop product image URL
- Product query keyword
- Global search rank
- Brand name
- Seller name
- Minimum price
- Maximum price
- Average price
- Currency symbol
- Product rating
- Review count
- Sold count when available
- Affiliate opportunity score from `0` to `100`
- Affiliate opportunity tier: `A`, `B`, `C`, or `D`
- Opportunity reasons explaining why the product scored well
- Opportunity cautions explaining risk signals
- Price band classification
- Rating strength classification
- Demand signal classification
- Competition signal classification
- Content-fit signal classification
- Category-fit signal
- Promo or discount signal
- Public affiliate data availability flag
- Commission signal when available
- Creator signal count if available
- Video signal count if available
- Live signal count if available
- Source URL
- Scrape timestamp
- Optional raw product data for advanced users

The dataset is sorted by affiliate opportunity score from highest to lowest, so the best-scoring product opportunities appear first.

### Built For Serious TikTok Shop Affiliate Research

This Actor is especially useful for teams spending money, time, or operational resources on TikTok Shop affiliate marketing.

It is designed for:

- TikTok Shop affiliate teams looking for products to promote
- TikTok Shop brands searching for products and competitors in their niche
- Agencies managing TikTok Shop creator campaigns
- Ecommerce operators researching TikTok Shop product opportunities
- UGC teams looking for products that are easy to demonstrate on video
- Influencer marketing teams building creator briefs
- Affiliate managers deciding which products to push
- Marketplace teams tracking product-market signals
- Product researchers comparing TikTok Shop niches
- Growth teams looking for TikTok Shop trend opportunities
- Media buyers planning TikTok Shop ad tests
- Enterprise ecommerce teams evaluating TikTok Shop categories
- Social-commerce teams monitoring product demand
- DTC brands watching TikTok Shop competitors
- Amazon sellers researching TikTok Shop expansion
- Shopify brands researching TikTok Shop affiliate opportunities
- Content teams finding products suitable for short-form videos
- TikTok Shop sellers trying to identify products with promotion potential
- Affiliate networks evaluating product-market demand
- Data teams building TikTok Shop product datasets
- Lead generation teams finding sellers and products for outreach

### Main Use Cases

#### TikTok Shop Affiliate Product Research

Use the Actor as a TikTok Shop affiliate product research tool to discover product ideas by keyword. Search niches like `neck fan`, `walking pad`, `ergo chair`, `kitchen organizer`, `beauty gadget`, `pet hair remover`, `car vacuum`, `ice roller`, `led mask`, `portable blender`, `desk lamp`, `mini printer`, or any other TikTok Shop product niche.

The Actor ranks the products so your team can focus on the products with the strongest mix of price, rating, reviews, demand, and short-form content fit.

#### TikTok Shop Affiliate Product Finder

Use it as a TikTok Shop affiliate product finder when you need a shortlist of products worth promoting. Instead of exporting a basic search result list, you get an affiliate opportunity dataset that can be filtered by score, rating, review count, price, seller, category fit, and demand signal.

#### TikTok Shop Creator Campaign Planning

Agencies and brands can use the Actor to plan TikTok Shop creator campaigns. The output helps identify products that appear easier to demonstrate, have a good price band for impulse purchasing, show enough buyer validation, and have meaningful product URLs and seller information for campaign planning.

#### TikTok Shop Influencer Marketing Research

Influencer marketing teams can use the dataset to find products that fit creator content. Products with strong content-fit signals may be easier to turn into hooks, demonstrations, comparisons, unboxings, tutorials, problem-solution videos, before-and-after content, or product review videos.

#### TikTok Shop UGC Product Discovery

UGC agencies and content teams can use this as a TikTok Shop UGC product discovery scraper. The score helps identify items that may work for product demos, product review content, creator samples, paid social creative, and TikTok Shop shoppable videos.

#### TikTok Shop Product Opportunity Scoring

The Actor creates an affiliate opportunity score for each product. This helps analysts compare products across keywords and niches without manually interpreting raw search results one by one.

#### TikTok Shop Competitor Research

Use it to see which products and sellers appear in TikTok Shop search results for important niche keywords. For each keyword, you can export product names, sellers, brands, prices, ratings, reviews, sold counts, URLs, and opportunity scores.

#### TikTok Shop Product Trend Research

Search product niches that are trending on TikTok, TikTok Shop, Amazon, YouTube Shorts, Instagram Reels, Google Trends, or ecommerce newsletters, then use this Actor to evaluate whether TikTok Shop has products with public demand and affiliate suitability.

#### TikTok Shop Niche Research

Use many keywords across niches to find stronger product categories. For example, compare `neck fan`, `walking pad`, `dog grooming vacuum`, `ice maker`, `korean skincare`, `travel backpack`, `car accessories`, `office chair`, `hair curler`, `mini chainsaw`, and `portable sauna`.

#### Enterprise TikTok Shop Market Intelligence

Enterprise teams can use the Actor as part of a larger TikTok Shop market intelligence pipeline. The dataset can feed dashboards, internal BI systems, product research workflows, sales enablement, competitive intelligence reports, affiliate team planning, and creator campaign operations.

#### TikTok Shop Agency Research

Agencies can use the Actor to build product shortlists for clients. This is useful for TikTok Shop agencies, influencer agencies, creator-commerce agencies, performance marketing agencies, affiliate marketing agencies, ecommerce agencies, and paid social teams.

#### TikTok Shop Seller Research

Sellers can use the Actor to evaluate which competing products appear for search keywords, how much they cost, how many reviews they have, what sellers appear repeatedly, and which products have stronger affiliate opportunity scores.

#### TikTok Shop Product Sourcing Research

Product sourcers can search TikTok Shop niches and export product datasets for sourcing analysis. The Actor helps surface public demand, price positioning, seller names, product URLs, and potential product opportunities.

### Enterprise Positioning: Why Teams With Real Spend Use This

For companies with real TikTok Shop affiliate budgets, the expensive part is usually not scraping the page. The expensive part is bad prioritization.

Bad prioritization means:

- Recruiting creators for products that do not convert
- Sending samples to products with weak demand
- Running campaigns around products that are hard to demonstrate
- Spending ad budget on poor product-market fit
- Missing products that competitors are already validating
- Wasting analyst time reviewing raw search results manually
- Building dashboards from incomplete product data
- Making campaign decisions without enough product context

This Actor helps reduce that waste by giving teams a repeatable TikTok Shop affiliate research dataset.

Enterprise and serious customers may use the Actor for:

- Weekly TikTok Shop category scans
- Daily affiliate product discovery
- Competitor product exports
- Product shortlist creation for creator campaigns
- Creator recruitment planning
- Affiliate manager research
- Paid social product testing pipelines
- UGC product selection
- TikTok Shop niche comparison
- Seller and brand discovery
- Product-market validation
- Ecommerce market intelligence
- Internal product research dashboards
- Data warehouse ingestion
- TikTok Shop affiliate trend analysis

### What Makes A Good TikTok Shop Affiliate Product?

A product can rank well in TikTok Shop search and still be a weak affiliate product. A strong TikTok Shop affiliate product usually has a combination of:

- Clear visual demonstration potential
- Problem-solution angle
- Impulse-friendly price
- Enough reviews or sales to show demand
- Strong rating quality
- Easy-to-understand product benefits
- Useful hooks for creators
- Low friction purchase decision
- Shareable or surprising functionality
- Giftable, seasonal, or trend-driven appeal
- Enough margin or perceived value to justify promotion
- Not so saturated that every creator is already promoting it

This Actor does not magically know your margins, inventory, brand strategy, or actual private commission rate. It does provide structured public signals to help you decide what to inspect first.

### Affiliate Opportunity Score

The `affiliate_opportunity_score` is a `0` to `100` ranking signal designed to help prioritize TikTok Shop products for affiliate marketing and creator-commerce workflows.

The score summarizes multiple public product signals into a simple ranking so buyers can quickly separate stronger candidates from weaker ones.

#### Score Tiers

| Tier | Score Range | Meaning |
|---|---:|---|
| `A` | `85-100` | Strong affiliate opportunity candidate. Worth closer review. |
| `B` | `70-84` | Good affiliate opportunity candidate. Likely useful for shortlist building. |
| `C` | `55-69` | Moderate candidate. May be useful depending on niche, price, or campaign angle. |
| `D` | `0-54` | Weak or uncertain candidate. Usually needs manual review before promotion. |

#### What A High Score Usually Means

A high-scoring product often has:

- Good TikTok Shop product rating
- Meaningful review count
- Useful sold count if available
- Impulse or mid-ticket price band
- Clear short-form video demonstration potential
- Strong product title fit for creator content
- Public demand signal
- Limited obvious caution signals

#### What A Low Score Usually Means

A low-scoring product may have:

- No reviews
- No rating
- Very weak buyer validation
- Very high price for impulse purchase
- Low content demonstration potential
- Weak product-market signal
- Poor or missing public product signals
- Possible saturation or poor affiliate fit

### Important Note About TikTok Shop Commission Data

This Actor does **not** claim to expose private TikTok Shop affiliate marketplace commission data.

Most public TikTok Shop search results do not include reliable raw affiliate commission rates. When commission-like or creator-commerce fields are available, the Actor can include them as public signals.

The most important fields for this limitation are:

- `public_affiliate_data_available`
- `commission_signal`
- `creator_signal_count`
- `video_signal_count`
- `live_signal_count`
- `raw_product` when advanced raw output is enabled

The core value of this Actor is **TikTok Shop affiliate opportunity discovery from public product data**, not guaranteed private commission extraction.

### Recommended Keywords To Search

Good TikTok Shop affiliate product keywords often describe product categories that work well on short-form video.

Examples:

- `neck fan`
- `walking pad`
- `ergo chair`
- `office chair`
- `gaming chair`
- `car vacuum`
- `portable vacuum`
- `pet hair remover`
- `dog grooming vacuum`
- `kitchen organizer`
- `sink organizer`
- `air fryer accessories`
- `vegetable chopper`
- `portable blender`
- `ice roller`
- `led face mask`
- `red light therapy`
- `hair curler`
- `heatless curls`
- `makeup organizer`
- `skincare fridge`
- `mini printer`
- `label maker`
- `desk lamp`
- `sunset lamp`
- `star projector`
- `travel backpack`
- `packing cubes`
- `luggage organizer`
- `cleaning brush`
- `electric scrubber`
- `shower filter`
- `water flosser`
- `portable charger`
- `phone stand`
- `tablet stand`
- `massage gun`
- `foot massager`
- `posture corrector`
- `weighted vest`
- `pilates bar`
- `home gym equipment`
- `mini chainsaw`
- `garden tool`
- `cat water fountain`
- `dog water bottle`
- `baby monitor`
- `toddler toy`
- `educational toy`
- `holiday gift`
- `mothers day gift`
- `summer essentials`
- `camping gear`
- `beach bag`
- `cooling towel`

### High-Intent Search Phrases This Actor Supports

This Actor is relevant for users searching for:

- TikTok Shop affiliate product scraper
- TikTok Shop affiliate products scraper
- TikTok Shop affiliate product finder
- TikTok Shop affiliate finder
- TikTok Shop affiliate opportunity finder
- TikTok Shop affiliate research tool
- TikTok Shop affiliate marketing scraper
- TikTok Shop products to promote
- best TikTok Shop products to promote
- TikTok Shop product research scraper
- TikTok Shop product research tool
- TikTok Shop product discovery scraper
- TikTok Shop product opportunity scraper
- TikTok Shop product finder API
- TikTok Shop product search API
- TikTok Shop product data scraper
- TikTok Shop ecommerce scraper
- TikTok Shop ecommerce research tool
- TikTok Shop creator product research
- TikTok Shop creator campaign tool
- TikTok Shop influencer product research
- TikTok Shop UGC product finder
- TikTok Shop seller product research
- TikTok Shop competitor product scraper
- TikTok Shop category research tool
- TikTok Shop niche research scraper
- TikTok Shop product trend scraper
- TikTok Shop viral product finder
- TikTok Shop product analytics scraper
- TikTok Shop product intelligence
- TikTok Shop affiliate analytics
- TikTok Shop creator commerce research
- TikTok Shop social commerce research
- TikTok Shop marketplace research
- TikTok Shop demand signal scraper
- TikTok Shop review count scraper
- TikTok Shop sales signal scraper
- TikTok Shop product rating scraper
- TikTok Shop product price scraper
- TikTok Shop product URL scraper
- TikTok Shop seller scraper
- TikTok Shop brand scraper
- TikTok Shop product image scraper

### Input Options

| Input | Description |
|---|---|
| `queries` | Product keywords, product categories, niches, or buying-intent searches to scan on TikTok Shop. |
| `searchRegion` | Region code for TikTok Shop search, such as `US` or `GB`. |
| `maxPagesPerQuery` | Maximum TikTok Shop search pages to scan per keyword. |
| `maxResultsPerQuery` | Maximum emitted affiliate opportunities per keyword. |
| `minAffiliateScore` | Optional minimum `0-100` affiliate opportunity score. Use this to keep only stronger product candidates. |
| `minRating` | Optional minimum public product rating. |
| `minReviewCount` | Optional minimum public review count. |
| `maxPrice` | Optional maximum product price. Useful for impulse-buy affiliate product discovery. |
| `requireReviews` | Exclude products with zero public reviews. |
| `includeRawProduct` | Include advanced raw product data for deeper analysis. |
| `compactNullFields` | Remove null or undefined fields from output records. |
| `maxConcurrency` | Advanced performance control for larger runs. |
| `requestTimeoutSec` | Advanced reliability control for page requests. |
| `maxFetchRetries` | Advanced reliability control for temporary page failures. |
| `queryRetryAttempts` | Advanced reliability control for full keyword retries. |
| `failOnZeroAfterRetries` | Fail the run if all keywords return zero products after recovery attempts. |
| `forceMaxPages` | Continue scanning pages up to the configured page limit when possible. |
| `requireAllQueryTokens` | Keep results closely matched to the input keyword. |
| `minimumQueryTokenMatches` | Advanced relevance control when strict keyword matching is disabled. |

### Recommended Input Examples

#### Broad TikTok Shop Affiliate Discovery

Use this when you want a wide product research scan.

```json
{
  "queries": ["neck fan", "walking pad", "ergo chair"],
  "searchRegion": "US",
  "maxPagesPerQuery": 3,
  "maxResultsPerQuery": 200,
  "minAffiliateScore": 0,
  "includeRawProduct": false
}
````

#### Strict Affiliate Product Shortlist

Use this when you only want stronger affiliate product candidates.

```json
{
  "queries": ["beauty gadget", "pet hair remover", "kitchen organizer"],
  "searchRegion": "US",
  "maxPagesPerQuery": 5,
  "maxResultsPerQuery": 100,
  "minAffiliateScore": 70,
  "minReviewCount": 20,
  "maxPrice": 75,
  "requireReviews": true,
  "includeRawProduct": false
}
```

#### Enterprise Category Research

Use this when comparing multiple TikTok Shop product categories.

```json
{
  "queries": [
    "neck fan",
    "walking pad",
    "car vacuum",
    "dog grooming vacuum",
    "led face mask",
    "office chair",
    "kitchen organizer",
    "travel backpack"
  ],
  "searchRegion": "US",
  "maxPagesPerQuery": 5,
  "maxResultsPerQuery": 250,
  "minAffiliateScore": 55,
  "requireReviews": false,
  "includeRawProduct": true,
  "compactNullFields": true
}
```

#### Impulse-Buy Product Research

Use this when looking for lower-priced products that may work well for TikTok affiliate videos.

```json
{
  "queries": ["mini printer", "ice roller", "phone stand", "cleaning brush"],
  "searchRegion": "US",
  "maxPagesPerQuery": 4,
  "maxResultsPerQuery": 150,
  "minAffiliateScore": 60,
  "maxPrice": 35,
  "requireReviews": false
}
```

### Output Fields

#### Affiliate Opportunity Fields

| Field | Description |
|---|---|
| `affiliate_opportunity_score` | `0-100` score ranking the product for TikTok Shop affiliate promotion potential. |
| `affiliate_opportunity_tier` | Tier label: `A`, `B`, `C`, or `D`. |
| `opportunity_reasons` | Human-readable reasons why the product may be useful for affiliate promotion. |
| `opportunity_cautions` | Human-readable warnings or weak signals. |
| `price_band` | Price classification such as impulse, affordable-mid, mid-ticket, high-ticket, or very-low. |
| `rating_strength` | Rating classification based on public rating and review context. |
| `demand_signal` | Demand strength derived from reviews, sold count, and public product signals. |
| `competition_signal` | Competitive saturation or validation signal when inferable from public data. |
| `content_fit_signal` | Estimate of whether the product appears suitable for short-form creator content. |
| `category_fit` | Product category-style fit signal derived from public title/category hints. |
| `promo_or_discount_signal` | Indicates whether promo, discount, deal, hot, or latest-like signals were detected. |
| `public_affiliate_data_available` | Indicates whether public affiliate or creator-commerce fields were available. |
| `commission_signal` | Public commission-like signal when available. Not guaranteed. |
| `creator_signal_count` | Public creator signal count if available. |
| `video_signal_count` | Public video signal count if available. |
| `live_signal_count` | Public live commerce signal count if available. |

#### Product Fields

| Field | Description |
|---|---|
| `query` | Search keyword that produced the product. |
| `rank_global` | Product rank in search result extraction context. |
| `product_id` | TikTok Shop product ID. |
| `product_name` | Product listing title. |
| `product_url` | TikTok Shop product detail page URL. |
| `product_image_url` | Product image URL. |
| `brand_name` | Brand name when available. |
| `seller` | TikTok Shop seller name when available. |
| `min_price` | Minimum product price found in public product data. |
| `max_price` | Maximum product price found in public product data. |
| `avg_price` | Average or representative product price derived from public price data. |
| `currency_symbol` | Currency symbol from product data. |
| `product_rating` | Public product rating. |
| `review_count` | Public review count. |
| `sold_count` | Public sold count when available. |
| `source_url` | TikTok Shop search URL used as the source. |
| `scraped_at` | Timestamp when the record was scraped. |
| `raw_product` | Optional advanced raw product data when enabled. |

### Example Output

```json
{
  "product_image_url": "https://p16-oec-general-useast5.ttcdn-us.com/...webp",
  "query": "neck fan",
  "affiliate_opportunity_score": 87,
  "affiliate_opportunity_tier": "A",
  "opportunity_reasons": [
    "Strong impulse-buy price range for affiliate promotion.",
    "Strong rating with meaningful review proof.",
    "Solid review count suggests buyer demand.",
    "Product appears easy to demonstrate in short-form creator content."
  ],
  "opportunity_cautions": [],
  "price_band": "impulse",
  "rating_strength": "strong",
  "demand_signal": "high",
  "competition_signal": "validated-demand",
  "content_fit_signal": "strong",
  "category_fit": "general-commerce",
  "promo_or_discount_signal": true,
  "public_affiliate_data_available": false,
  "rank_global": 1,
  "product_id": "1729533302715617734",
  "product_name": "Neck Fan, USB Rechargeable Personal Fan with 3 Speeds Adjustable",
  "brand_name": "Cotsoco Store",
  "seller": "Cotsoco Store",
  "avg_price": 14.71,
  "currency_symbol": "$",
  "product_rating": 4.5,
  "review_count": 75,
  "sold_count": 641,
  "product_url": "https://www.tiktok.com/shop/pdp/...",
  "source_url": "https://www.tiktok.com/shop/s?q=neck+fan&region=US&page=1",
  "scraped_at": "2026-04-30T19:16:10.000Z"
}
```

### How The Scoring Works

The score is intentionally simple to use: higher-scoring products are usually better candidates for manual review, creator outreach, affiliate testing, UGC planning, or product research.

The Actor uses public product and marketplace context to produce a practical product-research ranking. The score should not be treated as a guarantee of profit, conversion rate, or actual affiliate commission.

Use the score as a prioritization layer:

- Start with the highest-scoring products.
- Review the opportunity reasons and cautions.
- Validate the product page manually.
- Check the actual affiliate terms inside your own TikTok Shop workflow.
- Decide whether the product fits your brand, creator roster, budget, and campaign strategy.

### How To Interpret The Dataset

#### Start With Score, Then Read Reasons

Sort by `affiliate_opportunity_score` descending. Then inspect `opportunity_reasons` and `opportunity_cautions`.

A high score is not enough by itself. A serious buyer should also look at:

- Product margin
- Real TikTok Shop affiliate commission inside their own account
- Inventory and fulfillment reliability
- Return risk
- Brand fit
- Creator fit
- Product review quality
- Product page quality
- Paid media economics

#### Use Tiers For Workflow Routing

A common workflow:

- `A` tier: send to manual review immediately
- `B` tier: add to product testing shortlist
- `C` tier: review if niche is strategically important
- `D` tier: ignore unless you have a specific reason

#### Use Filters To Match Your Business Model

Different users should filter differently:

- Affiliate creators may prefer low-price impulse products
- Brands may prefer competitor products in their category
- Agencies may prefer products with strong review proof
- Enterprise teams may prefer broad category exports
- Paid social teams may prefer mid-ticket products with high demand
- UGC teams may prefer products with strong content-fit signals

### Suggested Workflows

#### Workflow 1: Affiliate Product Shortlist

1. Run 10-30 product keywords.
2. Set `minAffiliateScore` to `70`.
3. Export the dataset.
4. Review `A` and `B` tier products.
5. Check actual affiliate commission in TikTok Shop.
6. Add products to creator outreach or content testing.

#### Workflow 2: Agency Client Research

1. Add client category keywords.
2. Use `maxPagesPerQuery` of `3-5`.
3. Export product, seller, price, review, and score fields.
4. Build a client-facing shortlist of product opportunities.
5. Use product URLs for manual validation.
6. Build creator briefs around the strongest candidates.

#### Workflow 3: Enterprise Market Scan

1. Run broad category keyword lists weekly.
2. Store results in a database or BI workflow.
3. Track high-scoring products over time.
4. Compare sellers, price bands, reviews, and demand signals.
5. Use results for category intelligence and campaign planning.

#### Workflow 4: Product Sourcing Research

1. Search product types from Amazon, TikTok, social media, or competitor research.
2. Compare TikTok Shop demand and pricing.
3. Identify sellers and product variants.
4. Check which products have strong buyer validation.
5. Use the dataset to prioritize sourcing or supplier research.

#### Workflow 5: Creator Campaign Planning

1. Search products suitable for short-form demos.
2. Filter for score, price, rating, and review count.
3. Group candidates by content angle.
4. Assign products to creators by niche.
5. Use product URLs and seller info for manual campaign setup.

### Buyer Personas

#### For Affiliate Marketers

Find TikTok Shop products to promote before wasting time on weak products. Use score, reviews, price, and demand signals to build a shortlist.

#### For TikTok Shop Sellers

Research competing products, category demand, seller positioning, and product examples that may work for affiliate campaigns.

#### For Brands

Understand the TikTok Shop product landscape around your category. Find products that creators may already be able to promote effectively.

#### For Agencies

Build product opportunity reports for clients. Export structured datasets instead of manually copying TikTok Shop product links.

#### For Influencer Marketing Teams

Find products that look suitable for creator content, product seeding, affiliate campaigns, and UGC briefs.

#### For Enterprise Ecommerce Teams

Use TikTok Shop product data as part of broader marketplace intelligence, social-commerce reporting, competitor research, and campaign planning.

#### For Data Teams

Collect structured TikTok Shop product data with scores and signals that can be loaded into dashboards, databases, spreadsheets, or internal tools.

### Why This Is More Useful Than A Basic Search Scraper

A basic TikTok Shop search scraper returns product rows.

This Actor returns product rows plus affiliate decision context.

Instead of manually asking:

- Is this product good for affiliates?
- Is the price good?
- Does it have reviews?
- Does it have demand?
- Is it easy to demonstrate?
- Is it worth testing?
- Should we recruit creators for it?
- Should we include it in a campaign report?

The Actor gives you structured fields to sort, filter, and prioritize.

### TikTok Shop Affiliate Research Ideas

You can use this Actor to research:

- TikTok Shop viral products
- TikTok Shop trending products
- TikTok Shop affiliate products
- TikTok Shop creator products
- TikTok Shop impulse-buy products
- TikTok Shop low competition products
- TikTok Shop high demand products
- TikTok Shop products with reviews
- TikTok Shop products with sales signals
- TikTok Shop beauty products
- TikTok Shop home products
- TikTok Shop pet products
- TikTok Shop kitchen products
- TikTok Shop office products
- TikTok Shop fitness products
- TikTok Shop gadget products
- TikTok Shop gift products
- TikTok Shop seasonal products
- TikTok Shop competitor products
- TikTok Shop seller catalogs by keyword
- TikTok Shop products for UGC
- TikTok Shop products for Spark Ads
- TikTok Shop products for creator seeding
- TikTok Shop products for affiliate outreach
- TikTok Shop products for paid social testing

### TikTok Shop Niches Often Worth Testing

The best niche depends on region, timing, commission, supply, and creative execution, but these categories often produce TikTok-friendly product research opportunities:

- Beauty tools
- Skincare tools
- Hair tools
- Personal care gadgets
- Fitness accessories
- Home organization
- Kitchen gadgets
- Cleaning products
- Pet accessories
- Car accessories
- Office furniture
- Desk accessories
- LED lighting
- Phone accessories
- Travel accessories
- Baby products
- Gift products
- Seasonal products
- Outdoor products
- Health and wellness products
- Small electronics
- Problem-solution gadgets
- Demonstrable household products

### SEO Use Cases By Search Intent

#### If You Search For A TikTok Shop Affiliate Scraper

This Actor scrapes TikTok Shop product search results and enriches them for affiliate opportunity discovery.

#### If You Search For A TikTok Shop Product Finder

This Actor finds TikTok Shop products by keyword and ranks them by opportunity score.

#### If You Search For A TikTok Shop Product Research Tool

This Actor provides structured TikTok Shop product research data, including price, seller, reviews, ratings, product URL, and demand-related signals.

#### If You Search For A TikTok Shop Affiliate Product Finder

This Actor is specifically built to find and rank products for TikTok Shop affiliate workflows.

#### If You Search For TikTok Shop Products To Promote

This Actor helps find products that may be worth promoting based on public product signals.

#### If You Search For TikTok Shop Creator Campaign Research

This Actor helps teams shortlist products that may fit creator videos, UGC campaigns, affiliate campaigns, and influencer marketing.

#### If You Search For TikTok Shop Enterprise Data

This Actor can produce structured TikTok Shop product datasets for market intelligence, BI workflows, and category research.

### Data Quality Notes

TikTok Shop data can vary by:

- Region
- Product category
- Search keyword
- Current platform behavior
- TikTok Shop experiments
- Product availability
- Seller availability

For serious workflows, run multiple related keywords and validate final product selections manually.

### Reliability Notes

TikTok Shop availability and returned fields can vary by region, category, keyword, product availability, and current platform behavior. No TikTok Shop scraper can guarantee identical output on every run.

Recommended reliability settings:

- Keep `maxPagesPerQuery` realistic
- Use multiple related keywords
- Use advanced raw output only when needed
- Do not rely on one run for enterprise decisions
- Validate final products manually before spending campaign budget

### Limitations

This Actor does not:

- Guarantee private TikTok Shop affiliate commission rates
- Guarantee real profit or conversion performance
- Replace manual product validation
- Replace actual TikTok Shop affiliate account data
- Guarantee every product field is available for every product
- Tell you your actual margins, stock level, or fulfillment risk
- Decide whether a product fits your brand strategy

This Actor does:

- Search TikTok Shop by keyword
- Extract public product data
- Rank products by affiliate opportunity score
- Provide explainable reasons and cautions
- Output structured product research data
- Help teams prioritize TikTok Shop affiliate product research

### Best Practices

For better TikTok Shop affiliate research results:

- Search product-specific keywords, not only broad categories
- Compare multiple related keywords
- Use `minAffiliateScore` to remove weak products
- Use `minReviewCount` when you need buyer validation
- Use `maxPrice` for impulse-buy products
- Use advanced raw output only for deeper research
- Export CSV for manual review
- Send `A` and `B` tier products to human validation
- Check actual TikTok Shop affiliate commission inside your account
- Review product pages manually before campaign spend
- Combine this Actor with review scraping for deeper customer insight
- Combine this Actor with seller catalog scraping for seller-level analysis
- Combine this Actor with keyword trend research for product ideation

### Related Actor Workflows

Use this Actor when you need ranked TikTok Shop affiliate product opportunities.

Use a TikTok Shop Search actor when you only need raw TikTok Shop search results.

Use a TikTok Shop Reviews actor when you need customer review text, sentiment, complaints, benefits, objections, or review mining for product pages.

Use a TikTok Shop Seller Catalog actor when you want to scrape a specific seller/store and analyze their product catalog.

Use a TikTok Shop Store Monitor actor when you want recurring tracking of a specific store or product catalog over time.

### Example Business Questions This Actor Helps Answer

- What TikTok Shop products should our creators promote?
- Which TikTok Shop products are worth affiliate testing?
- Which TikTok Shop products have strong review proof?
- Which TikTok Shop products have buyer demand?
- Which TikTok Shop products are priced well for impulse buying?
- Which TikTok Shop sellers dominate this keyword?
- Which products in this niche look easiest to demonstrate?
- Which product categories should our agency pitch to clients?
- Which products should we send to UGC creators?
- Which products should we inspect for TikTok Shop affiliate commission?
- Which products are interesting enough for paid social testing?
- Which TikTok Shop niches look strongest this week?
- Which products have good ratings but lower visible saturation?
- Which products should our ecommerce team monitor?
- Which TikTok Shop product opportunities should go into our BI dashboard?

### Frequently Asked Questions

#### Is this a TikTok Shop affiliate scraper?

Yes. It is a TikTok Shop scraper focused on affiliate product discovery and affiliate opportunity scoring from public TikTok Shop product data.

#### Does it return actual TikTok Shop affiliate commission rates?

Only if commission-like data is publicly available. Most public TikTok Shop search results do not expose guaranteed private commission data. The Actor is primarily an opportunity scoring and product research tool.

#### Is this useful for TikTok Shop agencies?

Yes. Agencies can use it to build product shortlists, client reports, creator campaign plans, UGC product lists, category scans, and TikTok Shop affiliate research datasets.

#### Is this useful for enterprise teams?

Yes. Enterprise teams can use it as a repeatable TikTok Shop product intelligence source for affiliate research, ecommerce intelligence, creator campaign planning, product research, competitor research, and internal dashboards.

#### Can I use this for product sourcing?

Yes. You can search TikTok Shop product niches and use the output to find product ideas, seller examples, price ranges, review proof, and demand signals.

#### Can I use this for competitor research?

Yes. Search your category keywords and inspect the products, sellers, brands, prices, reviews, and opportunity scores that appear.

#### Can I export the data?

Yes. Apify datasets can be exported as JSON, CSV, Excel, XML, RSS, or accessed via API.

#### Does the Actor work for every TikTok Shop region?

It supports region input, but TikTok Shop availability varies by region. Some products, sellers, and public fields may only appear in certain regions.

#### Why do some products have no commission signal?

Because public TikTok Shop search data often does not include commission information. Enable advanced raw output only if you need deeper manual inspection.

#### Why do some products have no sold count?

TikTok Shop does not always expose sold count for every product, region, or product type.

#### Why did my run return fewer products than expected?

TikTok Shop may show fewer fields, fewer products, duplicate products, or fewer relevant products depending on region, keyword, product availability, and current platform behavior.

#### Should I promote every high-scoring product?

No. Use the score as a prioritization tool. Always validate product quality, actual commission, inventory, fulfillment, reviews, compliance, and brand fit before spending money.

### Keyword Coverage

This Actor is relevant to TikTok Shop affiliate marketing, TikTok Shop affiliate research, TikTok Shop creator commerce, TikTok Shop product discovery, TikTok Shop product research, TikTok Shop product scraping, TikTok Shop ecommerce intelligence, TikTok Shop marketplace data, TikTok Shop seller research, TikTok Shop product analytics, TikTok Shop product opportunity scoring, TikTok Shop trend research, TikTok Shop niche research, TikTok Shop competitor analysis, TikTok Shop UGC research, TikTok Shop influencer marketing, TikTok Shop creator campaigns, TikTok Shop affiliate campaigns, TikTok Shop social commerce, TikTok Shop data extraction, TikTok Shop product URLs, TikTok Shop product prices, TikTok Shop product ratings, TikTok Shop product reviews, TikTok Shop sold count, TikTok Shop brand data, TikTok Shop seller data, TikTok Shop product images, TikTok Shop product IDs, and TikTok Shop product datasets.

### Long-Tail SEO Search Coverage

People looking for this Actor may search for:

- scrape TikTok Shop affiliate products
- scrape TikTok Shop products to promote
- find TikTok Shop products for affiliate marketing
- find TikTok Shop products for creators
- find TikTok Shop products for UGC
- find TikTok Shop products by keyword
- find viral products on TikTok Shop
- TikTok Shop affiliate product research software
- TikTok Shop affiliate product research API
- TikTok Shop affiliate product research dataset
- TikTok Shop product opportunity API
- TikTok Shop product opportunity data
- TikTok Shop affiliate product ranking
- TikTok Shop product score
- TikTok Shop product scoring tool
- TikTok Shop affiliate score
- TikTok Shop opportunity score
- TikTok Shop affiliate opportunity score
- TikTok Shop product demand scraper
- TikTok Shop review count scraper
- TikTok Shop sold count scraper
- TikTok Shop seller name scraper
- TikTok Shop brand name scraper
- TikTok Shop price scraper
- TikTok Shop product URL extractor
- TikTok Shop product image extractor
- TikTok Shop product ID scraper
- TikTok Shop search result scraper
- TikTok Shop keyword scraper
- TikTok Shop category scraper
- TikTok Shop social commerce scraper
- TikTok Shop creator commerce scraper
- TikTok Shop ecommerce intelligence scraper
- TikTok Shop market research scraper
- TikTok Shop competitor product scraper
- TikTok Shop agency tool
- TikTok Shop enterprise scraper
- TikTok Shop data for agencies
- TikTok Shop data for brands
- TikTok Shop data for affiliate managers
- TikTok Shop products for influencer campaigns
- TikTok Shop products for creator outreach
- TikTok Shop products for Spark Ads
- TikTok Shop products for paid social
- TikTok Shop products for performance marketing
- TikTok Shop products for ecommerce research
- TikTok Shop product shortlist generator
- TikTok Shop product discovery automation
- TikTok Shop product research automation
- TikTok Shop affiliate research automation

### Final Notes

TikTok Shop Affiliate Products is built for high-intent commercial research. It is not just a general TikTok Shop scraper. It is a TikTok Shop affiliate product research actor that helps prioritize product opportunities for creator commerce, affiliate marketing, influencer marketing, UGC campaigns, ecommerce intelligence, product sourcing, competitor research, and enterprise TikTok Shop market analysis.

Use it when you need a practical, exportable, ranked TikTok Shop product dataset that helps answer what to promote next.

# Actor input Schema

## `queries` (type: `array`):

Keywords or product niches to search on TikTok Shop. The actor ranks discovered products by affiliate promotion opportunity.

## `searchRegion` (type: `string`):

Region parameter sent to TikTok Shop search page, for example US or GB.

## `maxPagesPerQuery` (type: `integer`):

Maximum number of TikTok Shop search-result pages to scan per keyword.

## `maxResultsPerQuery` (type: `integer`):

Maximum affiliate opportunity records emitted per keyword after filtering and scoring.

## `minAffiliateScore` (type: `integer`):

Only emit products at or above this 0-100 affiliate opportunity score. Use 0 to keep all scored products.

## `minRating` (type: `number`):

Optional minimum product rating. Products without a public rating are still allowed unless Require Reviews is enabled.

## `minReviewCount` (type: `integer`):

Only emit products with at least this many public reviews.

## `maxPrice` (type: `number`):

Optional maximum product price. Useful for finding impulse-buy affiliate products.

## `requireReviews` (type: `boolean`):

If enabled, products with zero public reviews are excluded.

## `includeRawProduct` (type: `boolean`):

Include the full raw TikTok Shop product object in each dataset item. Disable this for smaller output payloads.

## `compactNullFields` (type: `boolean`):

If true, omit fields that are null/undefined from output records to keep datasets cleaner.

## `maxConcurrency` (type: `integer`):

Maximum number of parallel HTTP requests.

## `requestTimeoutSec` (type: `integer`):

HTTP request timeout for each page request.

## `maxFetchRetries` (type: `integer`):

How many HTTP fetch attempts to try per page before giving up.

## `queryRetryAttempts` (type: `integer`):

How many full retries to run for a keyword when blocked/failure signals produce zero results.

## `failOnZeroAfterRetries` (type: `boolean`):

If true, fail the run when all keywords still return zero products after retry logic.

## `forceMaxPages` (type: `boolean`):

If true, continue scanning until Max Pages Per Keyword even when a page appears exhausted.

## `requireAllQueryTokens` (type: `boolean`):

If true, each kept product must match all meaningful query tokens after normalization.

## `minimumQueryTokenMatches` (type: `integer`):

Minimum number of query tokens that must appear in product title/slug fields when Require All Query Tokens is false.

## `proxyConfiguration` (type: `object`):

Choose proxy type and settings. Residential proxies are recommended for TikTok Shop.

## Actor input object example

```json
{
  "queries": [
    "neck fan",
    "walking pad",
    "ergo chair"
  ],
  "searchRegion": "US",
  "maxPagesPerQuery": 3,
  "maxResultsPerQuery": 200,
  "minAffiliateScore": 0,
  "minReviewCount": 0,
  "requireReviews": false,
  "includeRawProduct": false,
  "compactNullFields": true,
  "maxConcurrency": 5,
  "requestTimeoutSec": 30,
  "maxFetchRetries": 3,
  "queryRetryAttempts": 5,
  "failOnZeroAfterRetries": false,
  "forceMaxPages": true,
  "requireAllQueryTokens": true,
  "minimumQueryTokenMatches": 2,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "queries": [
        "neck fan",
        "walking pad",
        "ergo chair"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("sentry/tiktok-shop-affiliate-products").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 = { "queries": [
        "neck fan",
        "walking pad",
        "ergo chair",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("sentry/tiktok-shop-affiliate-products").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "queries": [
    "neck fan",
    "walking pad",
    "ergo chair"
  ]
}' |
apify call sentry/tiktok-shop-affiliate-products --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=sentry/tiktok-shop-affiliate-products",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "TikTok Shop Affiliate Products",
        "description": "Find TikTok Shop products worth promoting with affiliate opportunity scoring, product demand signals, price bands, ratings, reviews, seller context, and creator-commerce indicators when available.",
        "version": "1.0",
        "x-build-id": "Je7ixYRSpisOfXB4M"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/sentry~tiktok-shop-affiliate-products/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-sentry-tiktok-shop-affiliate-products",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/sentry~tiktok-shop-affiliate-products/runs": {
            "post": {
                "operationId": "runs-sync-sentry-tiktok-shop-affiliate-products",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/sentry~tiktok-shop-affiliate-products/run-sync": {
            "post": {
                "operationId": "run-sync-sentry-tiktok-shop-affiliate-products",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "queries": {
                        "title": "Product Keywords",
                        "type": "array",
                        "description": "Keywords or product niches to search on TikTok Shop. The actor ranks discovered products by affiliate promotion opportunity.",
                        "default": [
                            "neck fan",
                            "walking pad",
                            "ergo chair"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchRegion": {
                        "title": "Search Region",
                        "type": "string",
                        "description": "Region parameter sent to TikTok Shop search page, for example US or GB.",
                        "default": "US"
                    },
                    "maxPagesPerQuery": {
                        "title": "Max Pages Per Keyword",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Maximum number of TikTok Shop search-result pages to scan per keyword.",
                        "default": 3
                    },
                    "maxResultsPerQuery": {
                        "title": "Max Opportunities Per Keyword",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum affiliate opportunity records emitted per keyword after filtering and scoring.",
                        "default": 200
                    },
                    "minAffiliateScore": {
                        "title": "Minimum Affiliate Opportunity Score",
                        "minimum": 0,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Only emit products at or above this 0-100 affiliate opportunity score. Use 0 to keep all scored products.",
                        "default": 0
                    },
                    "minRating": {
                        "title": "Minimum Rating",
                        "minimum": 0,
                        "maximum": 5,
                        "type": "number",
                        "description": "Optional minimum product rating. Products without a public rating are still allowed unless Require Reviews is enabled."
                    },
                    "minReviewCount": {
                        "title": "Minimum Review Count",
                        "minimum": 0,
                        "maximum": 10000000,
                        "type": "integer",
                        "description": "Only emit products with at least this many public reviews.",
                        "default": 0
                    },
                    "maxPrice": {
                        "title": "Maximum Price",
                        "minimum": 0,
                        "type": "number",
                        "description": "Optional maximum product price. Useful for finding impulse-buy affiliate products."
                    },
                    "requireReviews": {
                        "title": "Require Reviews",
                        "type": "boolean",
                        "description": "If enabled, products with zero public reviews are excluded.",
                        "default": false
                    },
                    "includeRawProduct": {
                        "title": "Include Raw Product Payload",
                        "type": "boolean",
                        "description": "Include the full raw TikTok Shop product object in each dataset item. Disable this for smaller output payloads.",
                        "default": false
                    },
                    "compactNullFields": {
                        "title": "Compact Null Fields",
                        "type": "boolean",
                        "description": "If true, omit fields that are null/undefined from output records to keep datasets cleaner.",
                        "default": true
                    },
                    "maxConcurrency": {
                        "title": "Max Concurrency",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Maximum number of parallel HTTP requests.",
                        "default": 5
                    },
                    "requestTimeoutSec": {
                        "title": "Request Timeout (seconds)",
                        "minimum": 5,
                        "maximum": 120,
                        "type": "integer",
                        "description": "HTTP request timeout for each page request.",
                        "default": 30
                    },
                    "maxFetchRetries": {
                        "title": "Max Fetch Retries",
                        "minimum": 1,
                        "maximum": 8,
                        "type": "integer",
                        "description": "How many HTTP fetch attempts to try per page before giving up.",
                        "default": 3
                    },
                    "queryRetryAttempts": {
                        "title": "Full Query Retry Attempts",
                        "minimum": 1,
                        "maximum": 8,
                        "type": "integer",
                        "description": "How many full retries to run for a keyword when blocked/failure signals produce zero results.",
                        "default": 5
                    },
                    "failOnZeroAfterRetries": {
                        "title": "Fail Run If Zero After Retries",
                        "type": "boolean",
                        "description": "If true, fail the run when all keywords still return zero products after retry logic.",
                        "default": false
                    },
                    "forceMaxPages": {
                        "title": "Force Max Pages",
                        "type": "boolean",
                        "description": "If true, continue scanning until Max Pages Per Keyword even when a page appears exhausted.",
                        "default": true
                    },
                    "requireAllQueryTokens": {
                        "title": "Require All Query Tokens",
                        "type": "boolean",
                        "description": "If true, each kept product must match all meaningful query tokens after normalization.",
                        "default": true
                    },
                    "minimumQueryTokenMatches": {
                        "title": "Minimum Query Token Matches",
                        "minimum": 1,
                        "maximum": 5,
                        "type": "integer",
                        "description": "Minimum number of query tokens that must appear in product title/slug fields when Require All Query Tokens is false.",
                        "default": 2
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Choose proxy type and settings. Residential proxies are recommended for TikTok Shop.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
