{
  "data": {
    "id": "QbQwalBHoBaZSPIN2",
    "userId": "CVKfpnmVSJLPUeGkT",
    "name": "tiktok-scraper",
    "username": "dami_studio",
    "description": "Scrape TikTok videos and profiles by handle, hashtag, keyword or link. Video rows carry plays, likes, comments, shares, saves, caption, sound and author. A profile gives its own row plus its 10 or so newest videos; hashtags and search go deeper. $0.25 per 1,000 rows.",
    "isPublic": true,
    "createdAt": "2026-06-23T14:45:36.627Z",
    "modifiedAt": "2026-10-24T06:25:36.294Z",
    "taggedBuilds": {
      "latest": {
        "buildId": "t9Fzs9CMpaOv3T4TZ",
        "finishedAt": "2026-10-17T00:21:02.260Z",
        "buildNumberInt": 100053,
        "buildNumber": "0.1.53"
      },
      "paid-option": {
        "buildId": "U7FxfW7alAlcv9RaQ",
        "finishedAt": "2026-10-01T03:18:00.984Z",
        "buildNumberInt": 100040,
        "buildNumber": "0.1.40"
      }
    },
    "stats": {
      "totalBuilds": 53,
      "totalRuns": 16147,
      "totalUsers": 81,
      "totalUsers7Days": 20,
      "totalUsers30Days": 34,
      "totalUsers90Days": 39,
      "lastRunStartedAt": "2026-10-24T08:51:17.846Z",
      "actorReviewCount": 0,
      "actorReviewRating": 0,
      "bookmarkCount": 0,
      "publicActorRunStats30Days": {
        "ABORTED": 5,
        "FAILED": 0,
        "SUCCEEDED": 15559,
        "TIMED-OUT": 0,
        "TOTAL": 15564
      }
    },
    "versions": [
      {
        "versionNumber": "0.1",
        "sourceType": "SOURCE_FILES",
        "buildTag": "latest"
      }
    ],
    "defaultRunOptions": {
      "build": "latest",
      "timeoutSecs": 3600,
      "memoryMbytes": 256
    },
    "exampleRunInput": {
      "body": "{ \"helloWorld\": 123 }",
      "contentType": "application/json; charset=utf-8"
    },
    "categories": [
      "SOCIAL_MEDIA"
    ],
    "isDeprecated": false,
    "title": "TikTok Scraper - Videos, Profiles and Hashtags",
    "pictureUrl": "https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/CVKfpnmVSJLPUeGkT-actor-g46ISbJ9Mw0sB4hEO-pOsNdo3ndI-tiktok-scraper.jpg",
    "seoTitle": "TikTok Scraper API - Videos, Profiles and Hashtags",
    "seoDescription": "Scrape TikTok profiles, videos, hashtags and search. Play, like, comment and share counts. $0.25 per 1,000.",
    "pricingInfos": [
      {
        "pricingModel": "PAY_PER_EVENT",
        "pricingPerEvent": {
          "actorChargeEvents": {
            "item": {
              "eventPriceUsd": 0.00025,
              "eventTitle": "Result returned",
              "eventDescription": "Charged once per profile or video returned in the dataset. Failed or empty runs are not charged.",
              "isPrimaryEvent": true
            }
          }
        },
        "apifyMarginPercentage": 0.2,
        "createdAt": "2026-06-23T15:48:25.998Z",
        "startedAt": "2026-06-23T15:48:25.998Z"
      },
      {
        "pricingModel": "PAY_PER_EVENT",
        "pricingPerEvent": {
          "actorChargeEvents": {
            "item": {
              "eventPriceUsd": 0.00025,
              "eventTitle": "Result returned",
              "eventDescription": "Charged once per profile or video returned in the dataset. Failed or empty runs are not charged.",
              "isPrimaryEvent": true
            },
            "apify-actor-start": {
              "eventTitle": "Actor Start",
              "eventDescription": "Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).",
              "eventPriceUsd": 0.001
            }
          }
        },
        "apifyMarginPercentage": 0.2,
        "createdAt": "2026-08-04T00:24:35.712Z",
        "startedAt": "2026-08-19T00:24:34.642Z",
        "notifiedAboutFutureChangeAt": "2026-08-04T00:24:55.868Z",
        "notifiedAboutChangeAt": "2026-08-19T08:06:32.517Z"
      },
      {
        "pricingModel": "PAY_PER_EVENT",
        "pricingPerEvent": {
          "actorChargeEvents": {
            "item": {
              "eventPriceUsd": 0.00025,
              "eventTitle": "Result returned",
              "eventDescription": "Charged once per profile or video returned in the dataset. Failed or empty runs are not charged.",
              "isPrimaryEvent": true
            },
            "apify-actor-start": {
              "eventTitle": "Actor Start",
              "eventDescription": "Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).",
              "eventPriceUsd": 0.001
            },
            "video-checked": {
              "eventTitle": "Pinned video left out",
              "eventDescription": "Charged for each pinned video the exclude pinned option leaves out. Only applies when that option is on.",
              "eventPriceUsd": 0.00012
            }
          }
        },
        "apifyMarginPercentage": 0.2,
        "startedAt": "2026-10-16T00:00:00.000Z",
        "reasonForChange": "Adds an optional setting to leave out a profile's pinned videos. Each pinned video it leaves out is charged a small fee. If you don't use it, nothing changes for you.",
        "createdAt": "2026-10-01T03:06:28.453Z",
        "notifiedAboutFutureChangeAt": "2026-10-01T03:06:48.777Z",
        "notifiedAboutChangeAt": "2026-10-16T00:30:26.929Z"
      },
      {
        "pricingModel": "PAY_PER_EVENT",
        "pricingPerEvent": {
          "actorChargeEvents": {
            "item": {
              "eventTitle": "Result",
              "eventDescription": "Charged once per profile or video returned in the dataset. Failed or empty runs are not charged.",
              "isPrimaryEvent": true,
              "eventTieredPricingUsd": {
                "FREE": {
                  "tieredEventPriceUsd": 0.00025
                },
                "BRONZE": {
                  "tieredEventPriceUsd": 0.000248
                },
                "SILVER": {
                  "tieredEventPriceUsd": 0.000246
                },
                "GOLD": {
                  "tieredEventPriceUsd": 0.000244
                },
                "PLATINUM": {
                  "tieredEventPriceUsd": 0.000244
                },
                "DIAMOND": {
                  "tieredEventPriceUsd": 0.000244
                }
              }
            },
            "apify-actor-start": {
              "eventTitle": "Actor Start",
              "eventDescription": "Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).",
              "eventPriceUsd": 0.001
            },
            "video-checked": {
              "eventTitle": "Pinned video left out",
              "eventDescription": "Charged for each pinned video the exclude pinned option leaves out. Only applies when that option is on.",
              "eventTieredPricingUsd": {
                "FREE": {
                  "tieredEventPriceUsd": 0.00012
                },
                "BRONZE": {
                  "tieredEventPriceUsd": 0.000118
                },
                "SILVER": {
                  "tieredEventPriceUsd": 0.000116
                },
                "GOLD": {
                  "tieredEventPriceUsd": 0.000114
                },
                "PLATINUM": {
                  "tieredEventPriceUsd": 0.000114
                },
                "DIAMOND": {
                  "tieredEventPriceUsd": 0.000114
                }
              }
            }
          }
        },
        "apifyMarginPercentage": 0.2,
        "reasonForChange": "Paid plans now pay a little less: Starter, Scale and Business each get a small discount, and the Free plan price stays the same.",
        "createdAt": "2026-10-16T19:10:03.753Z",
        "startedAt": "2026-10-16T19:10:03.753Z",
        "notifiedAboutChangeAt": "2026-10-16T19:30:26.837Z"
      },
      {
        "pricingModel": "PAY_PER_EVENT",
        "pricingPerEvent": {
          "actorChargeEvents": {
            "item": {
              "eventTitle": "Result",
              "eventDescription": "Charged once per profile or video returned in the dataset. Failed or empty runs are not charged.",
              "isPrimaryEvent": true,
              "eventTieredPricingUsd": {
                "FREE": {
                  "tieredEventPriceUsd": 0.00025
                },
                "BRONZE": {
                  "tieredEventPriceUsd": 0.000248
                },
                "SILVER": {
                  "tieredEventPriceUsd": 0.000246
                },
                "GOLD": {
                  "tieredEventPriceUsd": 0.000244
                },
                "PLATINUM": {
                  "tieredEventPriceUsd": 0.000244
                },
                "DIAMOND": {
                  "tieredEventPriceUsd": 0.000244
                }
              }
            },
            "apify-actor-start": {
              "eventTitle": "Actor Start",
              "eventDescription": "Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).",
              "eventPriceUsd": 0.001
            },
            "video-checked": {
              "eventTitle": "Pinned video left out",
              "eventDescription": "Charged for each pinned video the exclude pinned option leaves out. Only applies when that option is on.",
              "eventTieredPricingUsd": {
                "FREE": {
                  "tieredEventPriceUsd": 0.00001
                },
                "BRONZE": {
                  "tieredEventPriceUsd": 0.00001
                },
                "SILVER": {
                  "tieredEventPriceUsd": 0.00001
                },
                "GOLD": {
                  "tieredEventPriceUsd": 0.00001
                },
                "PLATINUM": {
                  "tieredEventPriceUsd": 0.00001
                },
                "DIAMOND": {
                  "tieredEventPriceUsd": 0.00001
                }
              }
            }
          }
        },
        "apifyMarginPercentage": 0.2,
        "reasonForChange": "Lowers the price of a pinned video left out to $0.01 per 1,000 videos on every plan.",
        "createdAt": "2026-10-18T02:20:28.437Z",
        "startedAt": "2026-10-18T02:20:28.437Z",
        "notifiedAboutChangeAt": "2026-10-18T02:30:36.928Z"
      },
      {
        "pricingModel": "PAY_PER_EVENT",
        "pricingPerEvent": {
          "actorChargeEvents": {
            "item": {
              "eventTitle": "Result",
              "eventDescription": "Charged once per profile or video returned in the dataset.",
              "isPrimaryEvent": true,
              "eventTieredPricingUsd": {
                "FREE": {
                  "tieredEventPriceUsd": 0.00025
                },
                "BRONZE": {
                  "tieredEventPriceUsd": 0.000248
                },
                "SILVER": {
                  "tieredEventPriceUsd": 0.000246
                },
                "GOLD": {
                  "tieredEventPriceUsd": 0.000244
                },
                "PLATINUM": {
                  "tieredEventPriceUsd": 0.000244
                },
                "DIAMOND": {
                  "tieredEventPriceUsd": 0.000244
                }
              }
            },
            "apify-actor-start": {
              "eventTitle": "Actor Start",
              "eventDescription": "Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).",
              "eventPriceUsd": 0.001
            },
            "video-checked": {
              "eventTitle": "Pinned video left out",
              "eventDescription": "Charged for each pinned video the exclude pinned option leaves out. Only applies when that option is on.",
              "eventTieredPricingUsd": {
                "FREE": {
                  "tieredEventPriceUsd": 0.00001
                },
                "BRONZE": {
                  "tieredEventPriceUsd": 0.00001
                },
                "SILVER": {
                  "tieredEventPriceUsd": 0.00001
                },
                "GOLD": {
                  "tieredEventPriceUsd": 0.00001
                },
                "PLATINUM": {
                  "tieredEventPriceUsd": 0.00001
                },
                "DIAMOND": {
                  "tieredEventPriceUsd": 0.00001
                }
              }
            }
          }
        },
        "apifyMarginPercentage": 0.2,
        "createdAt": "2026-10-18T08:27:13.549Z",
        "startedAt": "2026-10-18T08:27:13.549Z"
      }
    ],
    "notice": "NONE",
    "isCritical": false,
    "isGeneric": false,
    "hasNoDataset": false,
    "isSourceCodeHidden": true,
    "standbyUrl": null,
    "actorPermissionLevel": "LIMITED_PERMISSIONS",
    "readmeSummary": "## TikTok Scraper\n\nTikTok Scraper extracts public TikTok videos and profile data without requiring a login, accepting handles, hashtags, keyword searches, or direct TikTok URLs as entry points; it crawls TikTok as a signed-out visitor, pages feeds (with deeper pagination for hashtags and keyword searches), deduplicates matches found across multiple inputs, and returns one record per video or profile containing engagement metrics (views, likes, comments, shares, saves, downloads), caption text, hashtags and mentions, TikTok-published subtitles (optional), sound metadata (title/artist/original/length), author and profile metadata (follower and lifetime-like counts, bio, verification flag, persistent profile id), timestamps and region, ad flag, and signed media file links that expire. The Actor produces structured rows suitable for trend analysis, campaign monitoring, keyword discovery, and building creator datasets; it can use optional session cookies and proxy configuration for customized sessions and high-volume runs.\n\n## Use cases\n\n- Monitor a set of creators and compare engagement on their newest videos over time.  \n- Collect videos under a campaign hashtag and analyze captions, hashtags, and mentions to study audience conversations.  \n- Perform keyword research by scraping the videos TikTok surfaces for a given phrase.  \n- Quickly inspect a single video from a direct link to retrieve its metrics, text, sound, author and media links.  \n- Build creator or content lists from hashtag or search results for outreach, influencer evaluation, or campaign analysis.",
    "deploymentKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCNpRvWwvP0xtopxKGnw12NC3BNbMYsdRXd1sLJdCwGxOh62+4WSwrAMTFhfM6e/6JGcd7dLRat0YkxJZGu3huvXGvz5mTbPl2bM9d49CSIZTWBNZWU416mbPnuYzLhkTdA0UeQ1KYGxaKjTHYUMtzNViyOHgnARjJNiFJG19u/z2xflvoNl7yXYSUQM1v7ytzi9GcVAD52HlQcAHwprb46QK0gq0P5LvfXOXxeVuDH02ljwgLUUVt871CyY28LNrnMqmjOZqN19zKiPROlpG80zL+XVNpOebnn7nkmMzZrhAMzJEpetPqToccFN6sx253PVo1NKaCJV69pTnK6edsx \n"
  }
}