Crevideo TikTok Shop Creator Analytics Scraper
Pricing
Pay per event
Crevideo TikTok Shop Creator Analytics Scraper
Extract public TikTok Shop creator sales, content, engagement, and GMV analytics from Crevideo profiles by handle or URL.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Share
Extract public TikTok Shop creator commerce and content analytics from Crevideo profile pages.
Provide TikTok handles or Crevideo profile URLs and receive one normalized dataset row per creator. The Actor captures profile identity, followers, public 30-day sales ranges, content performance, engagement, and GMV splits.
It is designed for brands, affiliate agencies, creator-discovery products, and analysts who refresh creator shortlists or campaign dashboards repeatedly.
What this Actor does
The Actor requests public pages such as:
https://crevideo.com/tiktok/dealswithty
It reads Crevideo's server-rendered profile payload without opening a browser. It then validates and normalizes the creator record into stable JSON.
The Actor does not sign into Crevideo or TikTok. It does not expose gated audience details. It does not turn displayed ranges into invented exact numbers.
Who should use it
- TikTok Shop brands comparing creators before outreach
- Affiliate agencies refreshing creator shortlists
- Campaign teams monitoring public commerce-performance changes
- Creator-discovery platforms enriching profiles by handle
- Analysts building scheduled TikTok Shop creator dashboards
- Data teams joining public sales signals with internal campaign results
Why use this Actor
- Handle and URL inputs: use the identifier already present in your workflow.
- Commerce-focused output: collect GMV, units, GPM, commission, and category signals.
- Content context: compare videos, likes, average views, and engagement.
- Honest ranges: preserve source values such as
$150K+instead of guessing. - Efficient HTTP extraction: avoid unnecessary browser runtime and transfer.
- Automation-ready errors: receive an explicit row for an invalid or missing creator.
- Safe retries: retry only transient network, rate-limit, and server failures.
Data extracted
| Group | Fields |
|---|---|
| Identity | handle, username, nickname, avatar URL, verified status |
| Profile | region, follower count, bio, product categories |
| Source freshness | source URL, source updatedAt, scrape timestamp |
| Sales | products per sale (PPS), 30-day GMV range, units range |
| Economics | 30-day GPM range, average commission-rate range |
| Content | video count, total likes, average views, engagement rate |
| Channel mix | video, live, and showcase GMV percentages |
| Category mix | category names and GMV percentages |
| Diagnostics | status, error type, and error message |
Field availability follows the public Crevideo payload.
A missing optional value is returned as null or an empty array.
Pricing
This Actor uses pay-per-event pricing.
- Start fee: $0.005 per run
- Successful creator extraction: $0.00001 per creator on every Apify tier
- Invalid, missing, or failed creators are not charged as creator results
Example FREE-tier estimates:
| Workflow | Estimated Actor charge |
|---|---|
| 1 creator | $0.00501 |
| 100 creators | $0.006 |
| 1,000 creators | $0.015 |
Apify platform usage and proxy usage, if enabled, are separate from Actor event charges. The default direct HTTP route normally does not need a proxy.
Getting started
- Open the Actor in Apify Console.
- Add one or more values under TikTok creator handles.
- Alternatively, add public Crevideo profile URLs.
- Leave concurrency at
3for ordinary runs. - Set the maximum creators you want processed.
- Click Start.
- Open the default dataset when the run finishes.
- Filter rows by
statusto separate successful records from diagnostics.
A minimal input is:
{"handles": ["dealswithty"]}
Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
handles | string array | example handle | TikTok handles, with or without @ |
startUrls | request list | example profile | Crevideo /tiktok/{handle} profile URLs |
maxItems | integer | 100 | Maximum unique valid creators requested |
maxConcurrency | integer | 3 | Simultaneous requests, from 1 to 10 |
proxyConfiguration | object | disabled | Optional Apify Proxy configuration |
Provide at least one value in handles or startUrls.
Duplicates are removed case-insensitively.
The maximum applies after validation and deduplication.
Output example
The default dataset contains success and error rows. This abbreviated example reflects a real public profile while omitting bio and signed image parameters:
{"status": "ok","handle": "dealswithty","sourceUrl": "https://crevideo.com/tiktok/dealswithty","scrapedAt": "2026-07-25T07:00:00.000Z","updatedAt": "2026-07-06","profile": {"nickname": "Ty","username": "dealswithty","avatarUrl": null,"region": "US","followerCount": 148403,"bio": null,"verified": false,"productCategories": ["Kitchenware", "Household Appliances"]},"salesMetrics": {"productsPerSale": 4,"gmv30Days": { "range": "$150K+" },"unitsSold30Days": { "range": "1K+" },"gpm30Days": { "range": "$0-$5k" },"averageCommissionRate": { "range": "5%-10%" }},"contentMetrics": {"videoCount": 2143,"totalLikes": 5226543,"averageViews": 261474.8,"engagementRate": 1.1},"gmvChannelSplit": {"video": 100,"live": 0,"showcase": 0},"gmvCategorySplit": [{ "name": "Household Appliances", "percentage": 60.7 }]}
Error records and run failures
Invalid input entries produce status: "error" rows with errorType: "invalid_input".
A nonexistent public profile produces errorType: "not_found".
These rows are not charged as extracted creators.
Transient network, HTTP 429, and selected 5xx responses receive bounded retries with backoff. If every creator fails because the source or parser is unavailable, the Actor preserves diagnostic rows and fails the run with a non-zero status. An empty top-level input also fails immediately.
Tips for reliable results
- Start with the default concurrency of 3.
- Deduplicate your source list before scheduling very large jobs.
- Use the source
updatedAtfield to judge snapshot freshness. - Treat range fields as categorical public estimates, not exact transactions.
- Enable a proxy only after direct requests show repeatable access problems.
- Schedule refreshes at a cadence appropriate for your campaign decisions.
- Join records by lowercase
handlein downstream systems.
Limitations
Crevideo controls the public profile data and can change field names or availability. Some creators may not have a public Crevideo profile. Public snapshots may lag activity on TikTok Shop. Sales figures are often ranges rather than exact values. Audience-demographic details that require signup are intentionally excluded. The Actor does not search for creators; it enriches supplied handles or URLs.
Workflow ideas
Creator shortlist refresh
Run a saved task every week with agency shortlist handles. Compare follower, average-view, engagement, and public GMV range changes. Send accepted rows to a spreadsheet or warehouse.
Campaign dashboard enrichment
Call the Actor from your pipeline after a creator is added.
Store updatedAt with the campaign record.
Refresh only creators whose source snapshot changed.
Category-fit analysis
Expand gmvCategorySplit into one warehouse row per category.
Compare creator category shares with campaign product categories.
Use the percentages as public directional signals.
API with cURL
Start a synchronous run and return dataset items:
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~crevideo-tiktok-shop-creator-analytics-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"handles":["dealswithty"],"maxItems":1}'
Keep your Apify token in an environment variable. Do not commit it to source control.
API with JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/crevideo-tiktok-shop-creator-analytics-scraper').call({ handles: ['dealswithty'], maxItems: 1 });const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
API with Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/crevideo-tiktok-shop-creator-analytics-scraper').call(run_input={'handles': ['dealswithty'], 'maxItems': 1})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
Use with Apify MCP
Add the Apify MCP server to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/crevideo-tiktok-shop-creator-analytics-scraper"
Claude Desktop setup
Claude Desktop can use the JSON configuration below.
Cursor setup
Add the same remote MCP URL in Cursor under Settings → Tools & MCP.
VS Code setup
Add the same remote MCP server URL to your VS Code MCP configuration.
Desktop and editor clients can use:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/crevideo-tiktok-shop-creator-analytics-scraper"}}}
Example prompts:
- “Extract public commerce analytics for these TikTok creator handles.”
- “Compare GMV ranges and engagement rates for my creator shortlist.”
- “Return error rows separately and summarize the successful creator category mix.”
Responsible use
Use this Actor only for lawful purposes and public data you are entitled to process. Respect applicable privacy, marketing, intellectual-property, and data-protection rules. Do not use output for harassment, discrimination, or invasive profiling. Review Crevideo and TikTok terms relevant to your use case. You are responsible for retention, sharing, and downstream decisions.
Troubleshooting
Why did I get not_found?
The handle may not have a public Crevideo profile, or it may be misspelled.
Open the generated sourceUrl to verify it.
Why is a sales value a string range?
Crevideo publicly presents many commerce metrics as ranges. The Actor preserves that representation to avoid false precision.
Why did the whole run fail?
If all valid profiles encounter upstream or parser failures, the Actor fails instead of reporting a misleading successful empty run. Inspect dataset error rows and the run log.
Should I enable a proxy?
Not normally. The tested public profile route works with direct HTTP. Enable an Apify Proxy configuration only if direct access repeatedly degrades in your environment.
FAQ
Can I provide @handle values?
Yes.
The leading @ is removed before the public Crevideo URL is built.
Are duplicate handles charged twice?
No. Duplicates are removed before requests and successful-result charging.
Does the Actor return exact TikTok Shop revenue?
No. It returns the values publicly displayed by Crevideo, including ranges.
Does it scrape gated audience demographics?
No. The product scope is public anonymous profile analytics only.
Can I run it on a schedule?
Yes. Save the input as an Apify task and attach a schedule or invoke it from your own orchestrator.
Related Actors
Combine this Actor with other public automation-lab tools when your workflow needs broader TikTok data:
- TikTok Shop Scraper for product-oriented TikTok Shop data
- TikTok Search Scraper for TikTok discovery workflows
These products have different outputs; choose them only when those additional workflows are needed.
Support
When reporting an issue, include a sanitized input, run URL, expected behavior, and the affected handle. Do not post Apify tokens or private campaign data.