# TikTok Shop Tech Product Monitor (`josimartech2026/tiktok-shop-tech-product-monitor`) Actor

Monitor up to five US TikTok Shop tech products per run. Extract product titles, sellers, ratings, review and sold counts, selected variants, and visible prices. Export JSON or CSV snapshots. Hidden prices return null with a clear status. No login required; exact prices are not guaranteed.

- **URL**: https://apify.com/josimartech2026/tiktok-shop-tech-product-monitor.md
- **Developed by:** [Josimar](https://apify.com/josimartech2026) (community)
- **Stats:** 2 total users, 1 monthly users, 87.5% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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 Tech Product Monitor

Check up to five public US TikTok Shop technology product pages and export a clean snapshot for product research, competitor review, and e-commerce monitoring. The Actor reads information visible in an unauthenticated cloud browser; it never logs in, purchases products, or imports your browser session.

#### What it collects

- Product title, product ID, seller, and normalized product URL.
- Public rating, displayed review count, sold count, and selected variant labels when available.
- A single unambiguous visible USD price, or a clear status when TikTok masks or does not expose one.
- A UTC timestamp and a short product-section excerpt for verification.

Displayed counts such as 1.4K sold are kept exactly as shown. Missing values remain null. Ratings, counts, stock, delivery, and availability are page observations rather than independently verified claims.

#### Quick start

1. Open Input and use the prefilled example or paste your own full product links.
2. Choose Maximum products from 1 to 5.
3. Start the Actor and open Output, then Product snapshots.
4. Export the dataset as JSON or CSV.

Use full links beginning with https://shop.tiktok.com/us/pdp/. Short links, search pages, videos, other countries, and URL-list files are not supported. Duplicate product IDs are checked once. Tracking parameters and fragments are removed.

#### Example input

```
{
  "startUrls": [{ "url": "https://shop.tiktok.com/us/pdp/jlab-rewind2-wireless-bluetooth-headphones-with-20-hours-playtime/1729397279789519521" }],
  "maxRequestsPerCrawl": 5
}
```

#### Output fields

| Field | Meaning |
| --- | --- |
| status | ok means an exact visible price; partial means product data without an exact price; error means the page could not be verified. |
| price, currency | Visible USD price, or null. Unknown prices are never recorded as zero. |
| priceStatus | visible, masked, or unavailable. Read note for context. |
| rating, reviewCountText, soldCountText | Public values exactly as displayed when present. |
| selectedVariantText | Selected Platform or Color labels when identifiable. Variants are not cycled. |
| priceEvidence | Short excerpt from the verified product section. |
| url, checkedAt | Normalized link and UTC snapshot time. |

#### Price coverage and limits

TikTok Shop may show Unlock price or masked amounts in cloud browsers. In recent five-product tests, all five prices were masked. The Actor returns price: null with priceStatus: masked; it never guesses from recommendations, sale banners, coupons, or other products. More memory does not guarantee access to account-only prices.

Each run checks at most five product pages, with up to two pages open at once. Recommended run settings are 2 GB memory, a 180-second timeout, and a $0.10 maximum run cost. Check these settings before starting: Console presets, saved tasks, and API callers can override them. There are no automatic retries, historical comparisons, price-drop alerts, or profitability rankings. A run can succeed with partial rows; any page-check error marks the run failed while preserving collected rows.

#### Repeated runs and support

Save the input as an Apify task before scheduling repeated checks. Each run produces a fresh snapshot and usage depends on page load time and your Apify plan. For support, include the run ID, product URL, and observed result. Never share passwords, cookies, or access tokens. This independent tool is not affiliated with TikTok; follow the source site's terms.

# Actor input Schema

## `startUrls` (type: `array`):

Full URLs beginning https://shop.tiktok.com/us/pdp/.

## `maxRequestsPerCrawl` (type: `integer`):

Check between 1 and 5 unique products.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://shop.tiktok.com/us/pdp/jlab-rewind2-wireless-bluetooth-headphones-with-20-hours-playtime/1729397279789519521"
    }
  ],
  "maxRequestsPerCrawl": 5
}
```

# Actor output Schema

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

No description

## `summary` (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 = {
    "startUrls": [
        {
            "url": "https://shop.tiktok.com/us/pdp/jlab-rewind2-wireless-bluetooth-headphones-with-20-hours-playtime/1729397279789519521"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("josimartech2026/tiktok-shop-tech-product-monitor").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 = { "startUrls": [{ "url": "https://shop.tiktok.com/us/pdp/jlab-rewind2-wireless-bluetooth-headphones-with-20-hours-playtime/1729397279789519521" }] }

# Run the Actor and wait for it to finish
run = client.actor("josimartech2026/tiktok-shop-tech-product-monitor").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 '{
  "startUrls": [
    {
      "url": "https://shop.tiktok.com/us/pdp/jlab-rewind2-wireless-bluetooth-headphones-with-20-hours-playtime/1729397279789519521"
    }
  ]
}' |
apify call josimartech2026/tiktok-shop-tech-product-monitor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,josimartech2026/tiktok-shop-tech-product-monitor"
        }
    }
}
```

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/US8E9y6ZTrwCleoMP/builds/1dv5SMi4dxaBm0q9M/openapi.json
