The short answer
The Clockworks Actor gives Apify a run-and-dataset workflow for scheduled collection. Virlo's raw endpoints return directly and its research endpoints have their own background jobs. Decide whether the application needs a reusable export or a live read, then compare completion time rather than only the time to create a job.
| Provider | A good reason to choose it | Important caveat |
|---|---|---|
| Apify | Scheduled TikTok collection where run history, exportable datasets and a bounded number of returned records matter more than a single profile-read response. | Apify is a marketplace, not one universal TikTok API. This comparison uses clockworks/tiktok-scraper. Another Actor can have different inputs, pricing and maintenance; starting a run does not mean the dataset is complete. |
| Virlo | A content-research workflow that needs both simple public reads and deeper creator or trend analysis in one service. | Raw reads and research jobs are different products. A live page does not include a completed deep-dive report, and audience estimates should not be treated as first-party account analytics. |
Side-by-side differences
| Requirement | Apify | Virlo |
|---|---|---|
| Integration model | Specific Clockworks Actor within the Apify platform | Direct public reads plus research and tracking APIs |
| TikTok coverage | Profile, hashtag, search and URL-driven video collection | Profiles, videos, search, comments, transcripts and research |
| Response lifecycle | Asynchronous runs and datasets; synchronous convenience route also exists | Raw reads return directly; research lookups run in the background |
| Pagination and identifiers | Bound resultsPerPage and export dataset items; preserve source IDs | Page-based live reads; preserve stable IDs and collection time |
| Billing unit | Selected Actor's result/events schedule and feature charges | Per raw call/page; separate lookup and optional analysis charges |
| Operational boundary | Actor version, run state and selected input options determine the actual output | Research scope and inferred audience fields differ from account-owned analytics |
Pricing: make the units comparable
| Provider | Billing model | What to check |
|---|---|---|
| Apify | Actor-specific result pricing and optional charges | The reviewed Clockworks listing advertises pricing from $1.70 per 1,000 results. Confirm the Actor's current pricing, selected features and applicable account costs. Do not substitute a different Actor's price or treat one run as one record. |
| Virlo | Prepaid per-request and per-research-job charges | The reviewed schedule lists raw TikTok reads at $0.01 per call or page, including empty successful pages. A base creator lookup is $0.50 before add-ons. Compare the raw-read workload separately from research and recurring tracking charges. |
For a workload of 1,000 public profiles and 10,000 recent videos, count profile calls, all video pages, duplicates, empty pages and optional comments separately. A prepaid request credit, an endpoint-weighted daily unit and a delivered-record charge are different units. Keep cached reads separate from fresh collection.
For a buying decision, calculate total spend divided by accepted outputs at your expected volume. Keep free evaluation access, paid production access, annual commitments and overages separate. We have not measured a cost or speed winner for this pair.
What changes in the integration?
| Apify | Virlo | |
|---|---|---|
| Method and URL | POST https://api.apify.com/v2/actors/clockworks~tiktok-scraper/runs | GET https://api.virlo.ai/v1/raw/tiktok/creator/{handle} |
| Authentication | Apify API token; keep it server-side and out of logged query strings | Authorization: Bearer YOUR_API_KEY |
| Inputs | Actor JSON inputs such as hashtags, profiles, searchQueries and resultsPerPage; verify the current input schema | TikTok creator handle in the path; separate routes for search, videos, comments and transcripts |
| Output | Actor run metadata; use its dataset ID to retrieve collected items after successful completion. | Normalized public creator profile and observed counts in the same request; deep-dive endpoints have a separate job lifecycle. |
Apify: migration check
Persist the run and default dataset IDs, wait for a terminal state and fetch dataset items before reporting success. Rework job orchestration when migrating from a direct REST read; do not count a created run as a delivered profile.
Virlo: migration check
Choose raw reads or research first. Map asynchronous job status separately from a direct profile response, and do not turn free status polling into an assumed free collection job. Keep TikTok IDs as text.
How to test them fairly
- Choose a small fixture of public profiles, video URLs and keywords that you have a legitimate reason to process. Do not request private accounts or use account cookies without the owner's authorization.
- Collect the same inputs within a narrow time window. Record region, language, cache settings and collection time; changing engagement counts do not establish which response was more accurate.
- Keep video IDs and creator IDs as strings. Test handle changes, duplicates across pages, empty results, removed videos and missing comments. A successful HTTP response is not evidence of complete coverage.
- Measure direct-request latency separately from end-to-end job completion. For an asynchronous provider, include queueing, status checks and dataset retrieval rather than timing only job creation.
- Record accepted unique rows, pages, billed credits or units, optional enrichments and retries. Calculate cost per accepted profile or video; do not equate one HTTP call with one returned record.
- Confirm the intended use, retention and redistribution rights before production. Public availability and an API subscription do not by themselves grant permission to republish videos, music or personal data.
Record the plan, request settings, time window and acceptance rules with every run. That makes a later result interpretable when a vendor changes a model, source set or pricing tier.
Prefer a common request format?
POST /api/v1/tiktok/searchReview the request contract and tell us the coverage you need. Access requires enablement; this endpoint does not execute or bill requests yet.
View endpoint and request accessSources and review dates
Documentation reviewed October 28, 2026. These are integration and plan comparisons, not measured speed or accuracy rankings. Availability, licensing and prices should be confirmed for the chosen plan.
- Clockworks TikTok Scraper API
- Clockworks TikTok Scraper inputs
- Clockworks TikTok Scraper pricing
- Virlo raw-data API
- Virlo authentication
- Virlo billing schedule
Corrections: email faizank@docsalot.dev with an official source.