Arcadium Data Scrapers
Home / Switch / Tiktok Shop Scraper

Switching from Tiktok Shop Scraper to TikTok Shop Scraper

TikTok Shop Scraper (arcadium/tiktok-shop-products) reads input written for pratikdani/tiktok-shop-scraper: 2 of its 2 input fields work as they are. Field list from its public input schema (build 0.1.38, 2026-10-31); prices and run results from the public Apify API, 2026-11-02.

Their fields that work as they are

Their fieldTypeNote
urlstringAs is
regionstringUS or GB.

Side by side: their input, our rows

Input written for pratikdani/tiktok-shop-scraper, pasted unchanged:

{
  "url": "https://shop.tiktok.com/view/product/1732417183133045688",
  "region": "GB"
}

One row from arcadium/tiktok-shop-products (README example; long text shortened):

{
  "rowType": "product",
  "platform": "tiktok-shop",
  "productId": "1729397565453996295",
  "detailLevel": "full",
  "region": "US",
  "url": "https://shop.tiktok.com/us/pdp/tongue-scraper-2-pack-by-gurunanda-u-shaped-stainless-steel-with-case/1729397565453996295",
  "title": "GuruNanda Tongue Scraper (2 Pack) with Travel Case, 420 Medical-grade Stainless Steel Tongue Cleaner",
  "brand": "Gurunanda",
  "currency": "USD",
  "price": 19.49,
  "priceText": "$19.49",
  "soldCount": 54204,
  "rating": 4.6,
  "reviewCount": 3715,
  "ratingCounts": {
    "1": 134,
    "2": 56,
    "3": 175,
    "4": 503,
    "5": 2847
  },
  "categories": [
    "Beauty & Personal Care",
    "Nasal & Oral Care"
  ],
  "promotions": [
    "Free shipping"
  ],
  "variants": [
    {
      "skuId": "1729397565454061831",
      "options": {
        "Specifications": "Default"
      },
      "price": 19.49,
      "stock": 826,
      "purchaseLimit": 200,
      "available": true
    }
  ],
  "totalStock": 826,
  "shipping": {
    "freeShipping": true,
    "fee": 0,
    "originalFee": 5.99,
    "deliveryMinDays": 4,
    "deliveryMaxDays": 7,
    "fulfilledByTikTok": true,
    "shipFrom": "local"
  },
  "seller": {
    "sellerId": "7495134783373216007",
    "name": "GuruNanda LLC",
    "rating": 4.5,
    "soldCount": 6413926,
    "productCount": 129,
    "followers": 278606,
    "badge": "OFFICIAL SHOP",
    "businessName": "GuruNanda LLC"
  },
  "aiKeywords": [
    "tongue scraper",
    "stainless steel tongue cleaner"
  ],
  "topReviews": [
    {
      "rating": 5,
      "text": "It's really good; it removes all the dirt, I give it a 10/10.",
      "createdAt": "2026-07-24T21:15:52.471Z",
      "variant": "Default",
      "country": "US",
      "verifiedPurchase": true,
      "incentivized": false,
      "imageCount": 6
    }
  ],
  "source": "product",
  "scrapedAt": "2026-10-22T10:34:19.179Z"
}

Output fields: rowType, platform, productId, detailLevel, region, url, title, description, brand, currency, price, maxPrice, originalPrice, discountPercent, priceText, soldCount, rating, reviewCount, ratingCounts, categories, categoryId, promotions, images, hasVideo, videoDurationSec, specifications, variants, totalStock, inStock, shipping, seller, aiTitle, aiKeywords, topReviews, source, input, sourceRank, scrapedAt, code, message. The rows use these names, not the other actor’s.

Price

ActorPricing modelCharged perPer 1,000, Free planPer 1,000, lowest plan
arcadium/tiktok-shop-productsPay per eventProduct$22.50$13.50
pratikdani/tiktok-shop-scraperPay per eventresult$25.00$15.00

Live Apify prices on 2026-11-02, in USD, for each actor’s main charged event. Start fees and platform usage are not included. Units differ: compare what one charged row contains. The Store page of each actor is the current source.

Common issues: failed or timed-out runs

ActorRuns, last 30 daysFailedTimed out
arcadium/tiktok-shop-productsunder 50 runs--
pratikdani/tiktok-shop-scraper3,7900.0%0.0%

Apify’s public run statistics for each actor, last 30 days to 2026-11-02: FAILED and TIMED-OUT runs as a share of all runs. Shown from 50 runs. A failed run can also come from a bad input. Here an input that cannot be read comes back as a free error row with a code, and the other inputs still arrive.

How to switch

In the Apify Store

  1. Open arcadium/tiktok-shop-products and sign in to Apify.
  2. On the Input tab, switch the editor to JSON and paste the input you used for pratikdani/tiktok-shop-scraper.
  3. Start the run. Set a maximum cost per run in the run options if you want a hard cap.

Over the API

Change the actor ID in the URL from pratikdani~tiktok-shop-scraper to arcadium~tiktok-shop-products; the body stays the same.

curl -X POST "https://api.apify.com/v2/acts/arcadium~tiktok-shop-products/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://shop.tiktok.com/view/product/1732417183133045688","region":"GB"}'

In n8n

In the Apify node, change the actor to arcadium/tiktok-shop-products and keep the input JSON. With an HTTP Request node:

{
  "nodes": [
    {
      "name": "Run arcadium/tiktok-shop-products",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4,
      "position": [
        0,
        0
      ],
      "parameters": {
        "method": "POST",
        "url": "https://api.apify.com/v2/acts/arcadium~tiktok-shop-products/run-sync-get-dataset-items",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "{\"url\":\"https://shop.tiktok.com/view/product/1732417183133045688\",\"region\":\"GB\"}",
        "options": {
          "timeout": 300000
        }
      }
    }
  ],
  "connections": {}
}

From an AI assistant (MCP)

Add the actor as a tool on Apify’s MCP server; an agent can pass the same input fields.

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com/?tools=arcadium/tiktok-shop-products",
      "headers": {
        "Authorization": "Bearer <APIFY_TOKEN>"
      }
    }
  }
}

All switching guides