Likee Scraper — @Handle Profiles & Video Stats
Pricing
from $5.00 / 1,000 results
Likee Scraper — @Handle Profiles & Video Stats
$5 per 1,000 results. Scrape any Likee creator by @handle, profile URL, user ID or share link: views, likes, comments, shares, engagement rate and creator analytics. Monitor accounts for new posts, filter by views or date, and score standout videos. Share links also return a playable MP4. No login.
Pricing
from $5.00 / 1,000 results
Rating
4.9
(3)
Developer
Scrapelab Max
Maintained by CommunityActor stats
0
Bookmarked
19
Total users
7
Monthly active users
2 days ago
Last modified
Categories
Share
Likee Scraper
Your feedback shapes this actor. I'd love to hear what you think: missing fields, inputs you wish existed, confusing output, anything that slowed you down. Open an issue on the actor's Issues tab in the Apify Store and I'll make improvements to better suit how you use it.
Scrape any Likee creator by @handle or profile URL: the account record (followers, bio, total likes, verified badge), their newest videos with exact stats, and computed creator analytics. Or paste a video share link for its stats and a playable mp4. Discover creators by country, filter by engagement, score standout videos, and monitor accounts for new posts. Export everything as JSON, CSV or Excel.
Fast and cheap: plain HTTP, no browser. A typical run finishes in under 30 seconds.
What you get
- Any creator by @handle. Paste
https://likee.video/@handle,@handleor a bare handle. You get the profile (followers, following, bio, total likes, verified, socials, total posts), their newest videos (up tomaxVideosPerProfile, exact counts) and one analytics record. - Video data from a share link. Paste a
https://l.likee.video/v/…link (in the app: video → Share → Copy link) for views, likes, comments, shares, engagement rate, caption, hashtags, music, publish date, cover image and a direct mp4 URL you can play or download. By default the creator behind the link is scraped too; turn that off for a one-record lookup. - One specific video without a share link.
handle/postIdor alikee.video/@handle/video/<postId>page returns just that video; or search an account by caption and/or date withfindInProfile. - Creator analytics. Per account: posts per week, posts in the last 7 and 30 days, average and median views, average likes, comments, shares and engagement rate, and the best-performing recent video.
- Engagement score. Turn on
engagementScoreand every profile video is scored against its author's own median:viewsVsAuthorMedian: 3.2means 3.2× the creator's usual reach. - Creator discovery by country. Pull Likee's recommended creators for a country, filter by minimum followers, and optionally hydrate each one's videos and analytics.
- Trending hashtag metadata. Post count, play count and follower count for hashtags on Likee's trending list.
- Engagement and date filters. Minimum views, likes, comments, shares, engagement rate, and a publish-date window. Filtered-out videos never count against your result budget.
- Monitoring mode.
onlyNewResultsreturns only videos you haven't seen on a previous run with the same targets. Schedule it and get a feed of new posts. - Clean, flat output. The Overview table shows Author, Views, Likes, Comments, Shares, Engagement % and MP4 as columns. No nested JSON to expand.
Quick start
- Paste one or more
@handlesor profile URLs into Profile URLs or @handles — or share links into Video share URLs. - Run. Results land in the dataset within seconds.
Minimal input:
{"profileUrls": ["https://likee.video/@baby.miaa"]}
With defaults, one handle returns about 100 records: the profile, the creator's newest videos and one creator-analytics record. A share link with Also scrape the creator off returns one record.
What a run costs
Pricing is per result, so you only pay for records that land in your dataset. Filtered-out videos are free. Reference points at the list price of $5 per 1,000 results:
| Run | Records | Cost |
|---|---|---|
| One share link, creator scraping off | 1 | half a cent |
| One share link, defaults | about 100 | about $0.50 |
| One @handle, defaults | about 100 | about $0.50 |
| One handle/postId lookup | 1 | half a cent |
Compute is negligible: a run uses 256 MB of memory for under a minute.
Output
Every record carries a type field: video, profile, creator, creatorAnalytics or
hashtag. Fields Likee doesn't expose are null, never guessed.
Video (from a share link, so media.videoUrl is populated):
{"type": "video","videoId": "7641427886757765070","description": "#dance #fyp","author": {"uid": "71622063","username": "HouseofB","nickname": "HouseofBrooklyn","avatar": "https://img.like.video/...","profileUrl": "https://likee.video/@HouseofB","isPrivate": false,"videoCount": 1248},"stats": { "views": 2430000, "likes": 168070, "comments": 14230, "shares": 8470, "downloads": 43 },"engagementRate": 7.85,"media": {"videoUrl": "https://video.like.video/.../....mp4","coverUrl": "https://videosnap.like.video/...","width": 1080,"height": 1920,"download": null,"durationSec": 37},"hashtags": ["dance", "fyp"],"mentions": [],"music": { "id": "123456", "name": "Original sound", "owner": "HouseofBrooklyn", "track": null },"country": "US","publishedAt": "2026-05-11T12:22:53.000Z","matchedQueries": [],"matchedHashtags": [],"scrapedAt": "2026-09-26T00:00:00.000Z","videoPageUrl": "https://likee.video/@HouseofB/video/7641427886757765070"}
Videos collected from a creator's profile have the same shape with exact counts from Likee's API.
Their media.videoUrl is null; the mp4 is only available through the share page, which is why
share links are the recommended entry point. Profile and hashtag videos also have
media.durationSec, stats.downloads and author.videoCount set to null; those come only from
the share page. When the same video arrives from both paths, the mp4 and the share-page-only
fields are kept.
music.track is { id, name, coverUrl } when the payload included a licensed track, otherwise
null. On profile/hashtag videos null means an original sound. On share-link videos it is always
null, including licensed songs (the share page doesn't expose the track).
Changelog
- Oct 2026: added
videoPageUrl,media.durationSec,stats.downloads,author.videoCount,music.owner,music.track. No fields were removed or renamed.music.idis now filled on original-sound profile videos (wasnull). - Oct 2026 (0.3): profiles gain
bio,totalLikes,verified,socials,postCount(account total;videoCountis still the number of videos in this run) andfollowers/followingare now filled whenever Likee's profile lookup succeeds. Videos gainauthorMedianViews,viewsVsAuthorMedian,engagementVsAuthorMedian(null unlessengagementScoreis on). - Oct 2026 (0.3):
likee.video/@handle/video/<id>URLs invideoUrls, which used to fail, are now looked up. An input that contained one gets a new input hash on its first run after the upgrade, so theonlyNewResultsseen-set resets once.
Profile (one per scraped account):
{"type": "profile","uid": "1216719122","username": "baby.miaa","nickname": "BABY MIA💫","avatar": "https://img.like.video/...","followers": 1494234,"following": 205,"isPrivate": false,"videoCount": 100,"profileUrl": "https://likee.video/@baby.miaa","scrapedAt": "2026-10-18T00:00:00.000Z","bio": "Collabs: see pinned video","totalLikes": 26560796,"verified": true,"socials": {"instagram": "baby.miaa","youtube": null,"facebook": null,"twitter": null,"vk": null,"ok": null,"weibo": null},"postCount": 1389}
Creator (from discovery):
{"type": "creator","uid": "1324736462","likeid": "someLikeId","nickName": "Some Creator","fansCount": 52000,"followCount": 120,"avatar": "https://img.like.video/...","country": "US","scrapedAt": "2026-09-26T00:00:00.000Z"}
Creator analytics:
{"type": "creatorAnalytics","uid": "1324736462","videosAnalyzed": 30,"postsLast7d": 3,"postsLast30d": 12,"postsPerWeek": 2.8,"avgViews": 45210.5,"medianViews": 38000,"avgLikes": 3021.4,"avgComments": 88.2,"avgShares": 210.1,"avgEngagementRate": 7.35,"viewToFollowerRatio": 0.87,"bestRecentVideoId": "7641427886757765070","scrapedAt": "2026-09-26T00:00:00.000Z"}
Hashtag metadata (found: false with null stats when the tag isn't on the trending list):
{"type": "hashtag","tagName": "newmusicfriday","found": true,"postCnt": 15234,"playCnt": 9021332,"fansCnt": 525,"banners": [],"scrapedAt": "2026-09-26T00:00:00.000Z"}
Input reference
| Field | What it does |
|---|---|
profileUrls | https://likee.video/@handle, @handle, bare handle or numeric uid. The main entry point. |
videoUrls | Share links (l.likee.video/v/…), likee.video/@handle/video/<postId> pages, or handle/postId. |
findInProfile, findByCaption, findByDate, findAllMatches | Find a video in an account by caption and/or UTC day. Only matches are returned. |
videoSort | latest (default) or popular — the newest maxVideosPerProfile videos re-ordered by views. |
engagementScore | Score each profile, lookup and find video against its author's median views and engagement. Default off. |
hydrateVideoUrlAuthors | Also scrape each link's creator: profile, videos, analytics. Default on. |
discoverCreators, country, maxCreators, minFollowers | Creator discovery by country. |
hydrateCreatorVideos, videosPerCreatorForAnalytics | Fetch discovered creators' videos so analytics can be computed. |
hashtags | Hashtags to look up on the trending list (metadata only). |
maxResults | Global cap on records. Spent in order: share links and lookups → profile videos → discovery → hashtags. |
maxVideosPerProfile | Videos to fetch per account (newest first). |
minViews, minLikes, minComments, minShares, minEngagementRate | Drop videos below these thresholds. |
publishedAfter, publishedBefore | Keep only videos in this date window. |
includeProfileAnalytics | Emit a creatorAnalytics record per account. Default on. |
onlyNewResults | Skip videos seen on earlier runs with the same targets. |
uids (Advanced) | Numeric account ids, for example from a previous run's output. |
proxyConfiguration | Defaults to Apify residential proxy pinned to the US. |
A run needs at least one entry point: profileUrls, videoUrls, uids, findInProfile,
discoverCreators: true or hashtags.
Full example:
{"profileUrls": ["@baby.miaa"],"videoUrls": ["https://l.likee.video/v/oaoej1"],"uids": ["1324736462"],"discoverCreators": true,"country": "US","maxCreators": 50,"minFollowers": 1000,"hydrateCreatorVideos": true,"videosPerCreatorForAnalytics": 30,"hashtags": ["newmusicfriday", "dance"],"maxResults": 500,"maxVideosPerProfile": 100,"minViews": 0,"minEngagementRate": 0,"publishedAfter": "2026-01-01","includeProfileAnalytics": true,"onlyNewResults": true}
Good to know
- Share-page counts are display-rounded. Likee's share page shows "2.43M" rather than an exact
number, so a share-link video reports
views: 2430000. Videos fetched from a creator's profile carry exact counts. Analytics are computed from the exact ones only. - Empty columns on an @handle or uid run are expected.
media.videoUrl,media.durationSec,stats.downloadsandauthor.videoCountcome only from a video's share page, so they arenullfor videos read from a creator's profile; pass the video's share link invideoUrlsto fill them.authorMedianViews,viewsVsAuthorMedianandengagementVsAuthorMedianfill whenengagementScoreis on (off by default). Everything else on a profile video is exact and present. - Hashtag lookup covers Likee's trending list only. Tags not on it return
found: false, and you cannot list the videos under a hashtag. - Not available: keyword search, hashtag video listing, comments. These endpoints require
Likee's signed client requests, which this actor does not reverse-engineer. Passing
searchQueries,scrapeComments,maxCommentsPerVideoorhashtagVideoslogs a warning and is ignored. - Blocked regions. Likee is unavailable in some countries (India, for example). If a run reports
CONTENT_UNAVAILABLEwith a/notfoundURL, change the proxy country. The default pins the US. onlyNewResultstracks videos only. Profile, creator, analytics and hashtag records are emitted every run.popularsorts within the fetched window. Likee's API only lists newest-first, sovideoSort: "popular"re-orders the newestmaxVideosPerProfilevideos by views; it never looks further back. RaisemaxVideosPerProfilefor a wider window.handle/postIdand find lookups have no mp4. They come from the profile API (exact counts,media.videoUrlnull). Only share links carry a playable mp4.- Engagement-score keys stay
nullon share-link videos, even when the same video is read again through the creator's profile in the same run: the share record is written first and the duplicate is dropped.handle/postIdand find lookups also run before profile videos, so a video found both ways keeps the lookup copy (scored whenengagementScoreis on). - A handle and its numeric uid are different targets for
onlyNewResults. Keep using the same spelling on scheduled runs.
Run summary
Nothing fails silently. Every run writes a RUN_SUMMARY record to the key-value store with
per-type counts, a list of failed requests and notes (PROFILE_NOT_FOUND, PRIVATE_PROFILE,
CONTENT_UNAVAILABLE, dead or private share links), any ignored input fields, and whether
maxResults was hit before every workflow ran. Runs with failures also show the reason in the
run's status banner.
Development
npm installnpm test # unit tests on fixtures — never hits live Likeenpm run lintnpm run buildnpm run start:dev # tsx src/main.ts, reads local .actor/input_schema.json-shaped INPUT
Plain HTTP only (fetch + undici ProxyAgent). No browser, no Playwright/Puppeteer/Crawlee, no
reverse-engineered request signing. tests/**/*.live.test.ts files are excluded from npm test and
hit the real API; run them with LIVE=1 explicitly and sparingly.