# Likee Scraper - Videos (`maximedupre/likee-scraper`) Actor

Collect public Likee videos, featured creators, and recommended hashtags. Get captions, available counts, creator details, and media links, or review summaries of creator video histories.

- **URL**: https://apify.com/maximedupre/likee-scraper.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** Social media, Marketing, Videos
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.05 / 1,000 videos

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### 🎬 Likee videos and creator histories for research

Likee Scraper is for social media analysts, creator teams, and researchers. Get public video captions, available views, likes, comments and shares, creator details, and media links. Use the data to compare posts, review creator histories, or plan content from public recommendations.

- Compare public video counts from Likee share links.
- Review a creator’s public videos by handle, profile URL, or numeric ID.
- Compare typical views and interactions across the creator histories read.
- Find featured creators from Likee’s country recommendations.
- Review recommended hashtags and their available popularity counts.

#### 📦 Video, creator, and hashtag data

Choose videos, creator history analysis, featured creators, or trending hashtags. Video rows include source counts and media details when available. Creator analysis shows the history read, view ranges, typical interactions, posting gaps, and strongest observed videos.

Missing source values are left out. Counts can be exact or rounded, as shown in `statisticsPrecision`. Public share links can return a downloadable video URL. Profile feeds may not expose a video file.

Each source item is saved at its first eligible match. Later matches from another submitted URL, handle, ID, or other value are ignored.

#### ▶️ Collect public Likee data

1. Choose **Result type**.
2. For videos or creator analysis, add video links or creator targets. For featured creators or hashtags, choose country codes.
3. Add filters if needed. Set **Max results** for a smaller run, or leave it empty for all available results until the source is exhausted.
4. Start the run and open **Collected data** in the Output panel.

You do not need a Likee login or API key. Only supported public content is collected. Individual unreadable targets can be skipped while successful data is kept.

#### ⚙️ Input

Fields stay visible. Only fields for the chosen result type are used. Dates use UTC. A missing source count does not pass a count filter.

**Input fields**

| Field | Type | What it does |
| --- | --- | --- |
| `resultType` | string | Required. Choose `videos`, `creatorAnalysis`, `featuredCreators`, or `trendingHashtags`. |
| `onlyNewVideos` | boolean | For Videos, save successful observations for the same target scope and return only videos not seen in earlier successful runs. The first run returns all matching videos. Failed lookups do not mean a video was deleted. |
| `creatorHistoryFromVideoLinks` | boolean | For Videos, collect the creator’s public video history behind each Video URL instead of just that video. Creator history analysis always reads creator histories. |
| `hashtags` | array of strings | For Trending hashtags, look up these names in the recommended lists for the chosen countries. Leave blank for the full recommended lists. This does not collect hashtag video feeds. |
| `videoUrls` | array of objects | For Videos, collect each linked video. Turn on Creator history from video links to collect its creator’s videos instead. For Creator history analysis, analyze the creator behind each link. |
| `videoUrls[].url` | string | A complete Likee URL starting with http:// or https://. |
| `creatorProfileUrls` | array of objects | For Videos and Creator history analysis, add complete Likee creator profile URLs. |
| `creatorProfileUrls[].url` | string | A complete Likee URL starting with http:// or https://. |
| `creatorIds` | array of strings | For Videos and Creator history analysis, add numeric creator IDs as text to preserve every digit. |
| `creatorHandles` | array of strings | For Videos and Creator history analysis, add Likee handles, with or without @. |
| `posts` | array of objects | For Videos, add a creator ID and a post ID to collect a specific video. For Creator history analysis, use each pair to find the creator to analyze. |
| `posts[].creatorId` | string | The numeric ID of the video’s creator. |
| `posts[].postId` | string | The source ID of the video. |
| `creatorFeedOrder` | string | For Videos and Creator history analysis, choose `newest` or `mostViewed`. Individual video lookups do not use this choice. |
| `countryCodes` | array of strings | For Featured creators and Trending hashtags, add two-letter country codes such as US or IN. Likee may return its default recommendations when a country list is not available. |
| `captionText` | string | For Videos and Creator history analysis, keep videos whose captions contain this text within the submitted creators’ histories. This is not a search across all Likee videos. |
| `publishedAfter` | string | For Videos and Creator history analysis. Keep videos published on or after this date, in UTC. |
| `publishedBefore` | string | For Videos and Creator history analysis. Keep videos published on or before this date, in UTC. |
| `minViews` | integer | For Videos and Creator history analysis, keep videos with at least this many views. A missing source count does not pass this filter. |
| `minLikes` | integer | For Videos and Creator history analysis, keep videos with at least this many likes. A missing source count does not pass this filter. |
| `minComments` | integer | For Videos and Creator history analysis, keep videos with at least this many comments. A missing source count does not pass this filter. |
| `minShares` | integer | For Videos and Creator history analysis, keep videos with at least this many shares. A missing source count does not pass this filter. |
| `minEngagementRate` | number | For Videos and Creator history analysis, keep videos where (likes + comments + shares) / views × 100 meets this value. Missing counts or zero views do not pass this filter. |
| `minFollowers` | integer | For Videos, Creator history analysis and Featured creators, keep creators with at least this many source followers. A missing count does not pass this filter. |
| `maxItems` | integer | Optional stop after this many result rows across the run. Leave blank for all available results until the source is exhausted. For Creator history analysis, each row is one creator summary that reports the history successfully read. |

**Example input**

This is the public input from a successful current-beta default-input run.

```json
{
  "resultType": "videos",
  "creatorHistoryFromVideoLinks": false,
  "videoUrls": [
    {
      "url": "https://l.likee.video/v/oaoej1"
    }
  ],
  "creatorFeedOrder": "newest",
  "maxItems": 1
}
```

#### 🧾 Output

The output panel’s `dataset` link opens the collected rows. The four row shapes below share creator fields where those fields apply. Optional source fields are left out when unavailable.

**Video fields**

| Field | Type | What it does |
| --- | --- | --- |
| `rowType` | string | The kind of successful result in this row. |
| `videoId` | string | Likee's ID for this video, useful for identifying and joining video records. |
| `caption` | string | The caption published with the video. |
| `publishedAt` | string | The date and time Likee says the video was published. |
| `viewsCount` | integer | The video view count reported by Likee. |
| `likesCount` | integer | The video like count reported by Likee. |
| `commentsCount` | integer | The video comment count reported by Likee. |
| `sharesCount` | integer | The video share count reported by Likee. |
| `videoDownloadUrl` | string | The URL for downloading the video file. |
| `previewImageUrl` | string | Likee's URL for the video's preview image. |
| `music` | object | Music details Likee publishes for the video. |
| `music.title` | string | The title Likee gives the music. |
| `music.artist` | string | The artist name Likee gives for the music. |
| `hashtags` | array of strings | Hashtags Likee publishes in the video caption. |
| `mentionedAccounts` | array of strings | Accounts Likee identifies as mentioned in the video caption. |
| `dimensions` | object | The video width and height published by Likee, in pixels. |
| `dimensions.width` | integer | The video width in pixels. |
| `dimensions.height` | integer | The video height in pixels. |
| `sourceCountryCode` | string | The country code Likee publishes for the video. |
| `sourceLanguage` | string | The language Likee reports for the video. |
| `durationSeconds` | number | The video duration reported by Likee, in seconds. |
| `statisticsPrecision` | object | Whether each source count is exact or rounded. Missing counts are left out. |
| `statisticsPrecision.viewsCount` | string | Whether the view count is exact or rounded in the source. |
| `statisticsPrecision.likesCount` | string | Whether the like count is exact or rounded in the source. |
| `statisticsPrecision.commentsCount` | string | Whether the comment count is exact or rounded in the source. |
| `statisticsPrecision.sharesCount` | string | Whether the share count is exact or rounded in the source. |
| `firstObservedAt` | string | When this Actor first found the video in a successful collection. |
| `lastObservedAt` | string | When this Actor most recently found the video in a successful collection. |
| `creatorId` | string | Likee's ID for the creator of a video or featured profile. |
| `creatorName` | string | The public name Likee shows for the creator. |
| `creatorHandle` | string | The public account handle Likee gives the creator. |
| `creatorProfileUrl` | string | The profile link published by Likee for opening the creator’s page. |
| `profileImageUrl` | string | Likee's URL for the creator's public profile image. |
| `followerCount` | integer | The creator's follower total reported by Likee. |
| `followingCount` | integer | The creator's following total reported by Likee. |
| `totalLikes` | integer | The total likes Likee reports for the creator's videos. |
| `isVerified` | boolean | Whether Likee marks the creator's profile as verified. |
| `creatorBadges` | array of strings | Public badges Likee gives the creator. |
| `creatorLevel` | integer | The creator level reported by Likee. |

**Example video row**

This complete row comes from a successful current-beta run.

```json
{
  "rowType": "video",
  "videoId": "7627102444256621106",
  "creatorId": "1332605490",
  "creatorName": "Марьяна Локель🤓",
  "creatorHandle": "mari_llokel",
  "creatorProfileUrl": "https://likee.video/@mari_llokel",
  "profileImageUrl": "https://img.like.video/eu_live/9uz/1x8B5K00m2IH3Aw1aTNUQ_4.jpg?type=20&auth-token=u2W9qM-V2gMkwVXAGoejgwk2Vx85FUu5bzscUdKfrtM:eyJleHBpcmUiOjE3OTE3NjEyNDAsImFwcGlkIjo0OCwic2VydmljZS1uYW1lIjoibGlrZWUtYWN0aXZpdHktZmxvdy1taWNybyJ9",
  "caption": "«У неё лучше» - 17.04 \\nМарьяна Локель х @ɪ’ᴍ ᴋᴀʀᴀᴍᴇʟᴋᴀ👑 х @Соня Сафарова  ",
  "publishedAt": "2026-04-10T12:12:51.000Z",
  "viewsCount": 2430000,
  "likesCount": 168300,
  "commentsCount": 14240,
  "sharesCount": 8510,
  "statisticsPrecision": {
    "viewsCount": "rounded",
    "likesCount": "rounded",
    "commentsCount": "rounded",
    "sharesCount": "rounded"
  },
  "videoDownloadUrl": "https://video.like.video/eu_live/9uL/11wBAgqWLNHu_4.mp4?crc=1047294121&type=5",
  "previewImageUrl": "https://videosnap.like.video/eu_live/9uz/1wBAjC00m4Xlsjq1Qe01k_1.jpg?type=8&resize=1&dw=480",
  "music": {
    "title": "У нее лучше",
    "artist": "Марьяна Локель, МСКАРАМЕЛЬКА, Соня Сафарова"
  },
  "dimensions": {
    "width": 1080,
    "height": 1920
  },
  "sourceCountryCode": "RU",
  "sourceLanguage": "en",
  "durationSeconds": 17,
  "followerCount": 8659932,
  "followingCount": 7337,
  "totalLikes": 154320404,
  "isVerified": true,
  "creatorBadges": [
    "Verified Creator"
  ],
  "creatorLevel": 25,
  "firstObservedAt": "2026-10-09T23:30:01.370Z",
  "lastObservedAt": "2026-10-09T23:30:01.370Z"
}
```

**Featured creator fields**

| Field | Type | What it does |
| --- | --- | --- |
| `rowType` | string | The kind of successful result in this row. |
| `creatorId` | string | Likee's ID for the creator of a video or featured profile. |
| `creatorName` | string | The public name Likee shows for the creator. |
| `creatorHandle` | string | The public account handle Likee gives the creator. |
| `creatorProfileUrl` | string | The profile link published by Likee for opening the creator’s page. |
| `profileImageUrl` | string | Likee's URL for the creator's public profile image. |
| `followerCount` | integer | The creator's follower total reported by Likee. |
| `followingCount` | integer | The creator's following total reported by Likee. |
| `totalLikes` | integer | The total likes Likee reports for the creator's videos. |
| `isVerified` | boolean | Whether Likee marks the creator's profile as verified. |
| `creatorBadges` | array of strings | Public badges Likee gives the creator. |
| `creatorLevel` | integer | The creator level reported by Likee. |
| `countryCode` | string | The list’s country code as reported by Likee. Left out when a default list has no country. |
| `recommendationScope` | string | `country` for a confirmed country list, or `default` for default recommendations. Left out when the scope is not confirmed. |

**Example featured creator row**

This complete row comes from a successful current-beta run.

```json
{
  "rowType": "featuredCreator",
  "creatorId": "1324736462",
  "creatorHandle": "HouseofB",
  "creatorName": "HouseofBrooklyn",
  "creatorProfileUrl": "https://likee.video/@HouseofB",
  "profileImageUrl": "https://img.like.video/na_live/3a5/11tsSpuJAWsl.jpg?auth-token=ZwUGIhejJniTYKjomQjSJ0MYpKCmW3sVhjCIUEHyklY:eyJleHBpcmUiOjE3OTE3NjA2ODcsImFwcGlkIjo0OCwic2VydmljZS1uYW1lIjoibGlrZWUtYWN0aXZpdHktZmxvdy1taWNybyJ9",
  "followerCount": 8756582,
  "followingCount": 159,
  "totalLikes": 37264487,
  "isVerified": true,
  "creatorBadges": [
    "Verified Creator"
  ],
  "creatorLevel": 25,
  "countryCode": "US",
  "recommendationScope": "default"
}
```

**Hashtag fields**

| Field | Type | What it does |
| --- | --- | --- |
| `rowType` | string | The kind of successful result in this row. |
| `hashtag` | string | The hashtag Likee lists as trending or recommended for the country. |
| `hashtagId` | string | Likee’s hashtag ID, useful for joining hashtag records. |
| `countryCode` | string | The confirmed country for this list, not the hashtag itself. Left out when the country is not confirmed. |
| `listType` | string | Whether Likee includes the hashtag in its trending or recommended list. |
| `hashtagViewCount` | integer | The hashtag view total reported by Likee. |
| `hashtagVideoCount` | integer | The hashtag video total reported by Likee. |
| `hashtagFollowerCount` | integer | The hashtag follower total reported by Likee. |
| `recommendationPosition` | integer | The hashtag’s position in the recommendation order returned by Likee. |
| `recommendationScope` | string | `country` for a confirmed country list, or `default` for default recommendations. Left out when the scope is not confirmed. |

**Example hashtag row**

This complete row comes from a successful current-beta run.

```json
{
  "rowType": "hashtag",
  "hashtag": "DailyNews",
  "hashtagId": "6518419983265548359",
  "listType": "recommended",
  "hashtagViewCount": 2147483647,
  "hashtagVideoCount": 1293931,
  "hashtagFollowerCount": 234593,
  "recommendationPosition": 1,
  "countryCode": "IN",
  "recommendationScope": "country"
}
```

**Creator history analysis fields**

| Field | Type | What it does |
| --- | --- | --- |
| `rowType` | string | The kind of successful result in this row. |
| `creatorId` | string | Likee's ID for the creator of a video or featured profile. |
| `creatorName` | string | The public name Likee shows for the creator. |
| `creatorHandle` | string | The public account handle Likee gives the creator. |
| `creatorProfileUrl` | string | The profile link published by Likee for opening the creator’s page. |
| `profileImageUrl` | string | Likee's URL for the creator's public profile image. |
| `followerCount` | integer | The creator's follower total reported by Likee. |
| `followingCount` | integer | The creator's following total reported by Likee. |
| `totalLikes` | integer | The total likes Likee reports for the creator's videos. |
| `isVerified` | boolean | Whether Likee marks the creator's profile as verified. |
| `creatorBadges` | array of strings | Public badges Likee gives the creator. |
| `creatorLevel` | integer | The creator level reported by Likee. |
| `analysisCoverage` | object | The history used for this analysis. Results describe these successfully read videos, not unseen videos. |
| `analysisCoverage.observedVideoCount` | integer | The number of successfully read videos used in this analysis. |
| `analysisCoverage.earliestPublishedAt` | string | The earliest source publication date in the analyzed history. |
| `analysisCoverage.latestPublishedAt` | string | The latest source publication date in the analyzed history. |
| `analysisCoverage.isComplete` | boolean | Whether a successful read reached the end of the selected source history without a limit or unreadable page. |
| `analysisCoverage.videosWithViews` | integer | The number of analyzed videos with a source view count, showing the reach sample size. |
| `analysisCoverage.videosWithInteractions` | integer | The number of analyzed videos with all three source like, comment and share counts, showing the interaction sample size. |
| `analysisCoverage.videosWithPublicationDates` | integer | The number of analyzed videos with source publication dates, showing the posting sample size. |
| `reachDistribution` | object | View-count percentiles across successfully read videos with source view counts. |
| `reachDistribution.lowerQuartile` | number | The 25th percentile of source video views. |
| `reachDistribution.median` | number | The median source video views. |
| `reachDistribution.upperQuartile` | number | The 75th percentile of source video views. |
| `typicalInteractions` | object | Median likes, comments and shares across videos with all three source counts. |
| `typicalInteractions.likes` | number | The median source like count in the complete interaction sample. |
| `typicalInteractions.comments` | number | The median source comment count in the complete interaction sample. |
| `typicalInteractions.shares` | number | The median source share count in the complete interaction sample. |
| `postingCadence` | object | The typical gap between source publication dates in the analyzed history. At least two dated videos are needed. |
| `postingCadence.medianDaysBetweenPosts` | number | The median number of days between consecutive source publication dates. |
| `strongestVideos` | array of objects | The highest-viewed videos in the successfully read history, in descending order of source views. This ranking does not cover unseen videos. |
| `strongestVideos[].videoId` | string | Likee's ID for this video, useful for identifying and joining video records. |
| `strongestVideos[].caption` | string | The caption published with the video. |
| `strongestVideos[].publishedAt` | string | The date and time Likee says the video was published. |
| `strongestVideos[].viewsCount` | integer | The video view count reported by Likee. |
| `strongestVideos[].likesCount` | integer | The video like count reported by Likee. |
| `strongestVideos[].commentsCount` | integer | The video comment count reported by Likee. |
| `strongestVideos[].sharesCount` | integer | The video share count reported by Likee. |

**Example creator history analysis row**

This complete row comes from a successful current-beta run.

```json
{
  "rowType": "creatorAnalysis",
  "creatorId": "1332605490",
  "creatorHandle": "mari_llokel",
  "creatorName": "Марьяна Локель🤓",
  "creatorProfileUrl": "https://likee.video/@mari_llokel",
  "profileImageUrl": "https://img.like.video/eu_live/9uz/1x8B5K00m2IH3Aw1aTNUQ_4.jpg?type=20&auth-token=u2W9qM-V2gMkwVXAGoejgwk2Vx85FUu5bzscUdKfrtM:eyJleHBpcmUiOjE3OTE3NjEyNDAsImFwcGlkIjo0OCwic2VydmljZS1uYW1lIjoibGlrZWUtYWN0aXZpdHktZmxvdy1taWNybyJ9",
  "followerCount": 8659932,
  "followingCount": 7337,
  "totalLikes": 154320421,
  "isVerified": true,
  "creatorBadges": [
    "Verified Creator"
  ],
  "creatorLevel": 25,
  "analysisCoverage": {
    "observedVideoCount": 2081,
    "isComplete": true,
    "earliestPublishedAt": "2019-01-02T14:05:44.000Z",
    "latestPublishedAt": "2026-10-09T17:46:55.000Z",
    "videosWithViews": 2081,
    "videosWithInteractions": 2081,
    "videosWithPublicationDates": 2081
  },
  "reachDistribution": {
    "lowerQuartile": 552763,
    "median": 766970,
    "upperQuartile": 1201692
  },
  "typicalInteractions": {
    "likes": 74753,
    "comments": 2370,
    "shares": 917
  },
  "postingCadence": {
    "medianDaysBetweenPosts": 0.6715162037037037
  },
  "strongestVideos": [
    {
      "videoId": "7568432417899147826",
      "caption": "@НАНО ТУР  ‼️fake actions‼️ не повторять‼️",
      "publishedAt": "2025-11-03T09:43:11.000Z",
      "viewsCount": 5530425,
      "likesCount": 269764,
      "commentsCount": 9275,
      "sharesCount": 3038
    },
    {
      "videoId": "7575159466261082674",
      "caption": "@М&В @⚡️Вау Вероника🐾 ",
      "publishedAt": "2025-11-21T12:47:34.000Z",
      "viewsCount": 5236747,
      "likesCount": 448739,
      "commentsCount": 11383,
      "sharesCount": 10415
    },
    {
      "videoId": "7424830182062420530",
      "caption": "@DASHA DA ✯ ",
      "publishedAt": "2024-10-12T10:13:10.000Z",
      "viewsCount": 5060215,
      "likesCount": 316741,
      "commentsCount": 4771,
      "sharesCount": 1313
    },
    {
      "videoId": "7400687028430303794",
      "caption": "слушай мою новую песню «Нано краска топ!» на всех площадках🎨‼️",
      "publishedAt": "2024-08-08T08:45:24.000Z",
      "viewsCount": 4503657,
      "likesCount": 408511,
      "commentsCount": 7778,
      "sharesCount": 5121
    },
    {
      "videoId": "7586701224501441074",
      "caption": "@НАНО ТУР  ‼️FAKE ACTIONS‼️",
      "publishedAt": "2025-12-22T15:15:29.000Z",
      "viewsCount": 4404029,
      "likesCount": 253499,
      "commentsCount": 7914,
      "sharesCount": 2772
    }
  ]
}
```

#### 💳 Pricing

This Actor uses pay-per-event pricing. The Video event covers a public video collected with available source details and media. Featured creator and Hashtag events cover their own collected data.

| Event | What it covers |
| --- | --- |
| Video | One public video collected with its source details and available media. |
| Featured creator | One creator from the public featured list with available profile details. |
| Hashtag | One trending or recommended hashtag collected with available source data. |

See the Store pricing panel for the price for your Apify plan. Creator history analysis reads videos to build its summary, so the summary row count is not a count of the videos read. Failed lookups do not produce result rows.

#### 🔌 Integrations

Export the dataset as JSON, CSV, or Excel. Use the Apify API to start runs and read the collected data.

https://www.youtube.com/watch?v=bNACk1_S_6w\&list=PLObrtcm1Kw6MUrlLNDbK9QRg8VDJg0gOW\&index=4

#### ❓ FAQ

##### Can I collect comment text or search all Likee videos by keyword?

The Actor returns comment counts when available, but does not collect comment text. Caption filters apply within the submitted creators’ histories. Hashtag lookups read recommended lists, not hashtag video feeds.

##### Will every video have a download link?

Public share links can expose a video file. Profile-discovered videos may not have a file URL when Likee does not expose one.

##### Does a country code always return a country-specific list?

Likee may return default recommendations. Check `recommendationScope` when present. Country fields are left out when the source association cannot be confirmed.

##### Does creator analysis cover every video the creator has ever posted?

It covers the videos successfully read. Check `analysisCoverage` for the video count, date range, sample sizes, and whether the selected source history was read to its end. Unseen videos are outside the analysis.

##### What does Only newly observed videos do?

It compares successful observations for the same target scope and returns videos not seen in earlier successful runs. The first run returns all matching videos. A failed lookup does not prove that a video was deleted.

##### What happens when I leave Max results empty?

The Actor returns all available results until the source is exhausted. In Creator history analysis, the limit counts creator summaries, and each summary reports the history read.

##### Do I need a Likee account or API key?

No. The Actor collects supported public data without a customer Likee login or API key.

### 📝 Changelog

**v0.0** (09-10-2026)

- Initial release.

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~likee-scraper/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Related Actors

- [TikTok Creator Analytics Scraper](https://apify.com/maximedupre/tiktok-creator-analytics) compares public TikTok profiles and recent post metrics.
- [TikTok Profile Videos API Scraper](https://apify.com/maximedupre/tiktok-profile-videos-api) collects public uploads from known TikTok creators.
- [TikTok Video Downloader](https://apify.com/maximedupre/tiktok-video-downloader) gets media from public TikTok video links.
- [TikTok Hashtag Search Scraper](https://apify.com/maximedupre/tiktok-hashtag-search-scraper) finds public TikTok hashtag ideas and counts.
- [Snapchat User Spotlight Scraper](https://apify.com/maximedupre/snapchat-user-spotlight-scraper) collects public Spotlight videos from creator profiles.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

## `resultType` (type: `string`):

Choose the kind of results to collect.

## `onlyNewVideos` (type: `boolean`):

For Videos, save successful observations for the same target scope and return only videos not seen in earlier successful runs. The first run returns all matching videos. Failed lookups do not mean a video was deleted.

## `creatorHistoryFromVideoLinks` (type: `boolean`):

For Videos, collect the creator’s public video history behind each Video URL instead of just that video. Creator history analysis always reads creator histories.

## `hashtags` (type: `array`):

For Trending hashtags, look up these names in the recommended lists for the chosen countries. Leave blank for the full recommended lists. This does not collect hashtag video feeds.

## `videoUrls` (type: `array`):

For Videos, collect each linked video. Turn on Creator history from video links to collect its creator’s videos instead. For Creator history analysis, analyze the creator behind each link.

## `creatorProfileUrls` (type: `array`):

For Videos and Creator history analysis, add complete Likee creator profile URLs.

## `creatorIds` (type: `array`):

For Videos and Creator history analysis, add numeric creator IDs as text to preserve every digit.

## `creatorHandles` (type: `array`):

For Videos and Creator history analysis, add Likee handles, with or without @.

## `posts` (type: `array`):

For Videos, add a creator ID and a post ID to collect a specific video. For Creator history analysis, use each pair to find the creator to analyze.

## `creatorFeedOrder` (type: `string`):

For Videos and Creator history analysis, choose which profile videos to read first. Individual video lookups do not use this choice.

## `countryCodes` (type: `array`):

For Featured creators and Trending hashtags, add two-letter country codes such as US or IN. Likee may return its default recommendations when a country list is not available.

## `captionText` (type: `string`):

For Videos and Creator history analysis, keep videos whose captions contain this text within the submitted creators’ histories. This is not a search across all Likee videos.

## `publishedAfter` (type: `string`):

For Videos and Creator history analysis. Keep videos published on or after this date, in UTC.

## `publishedBefore` (type: `string`):

For Videos and Creator history analysis. Keep videos published on or before this date, in UTC.

## `minViews` (type: `integer`):

For Videos and Creator history analysis, keep videos with at least this many views. A missing source count does not pass this filter.

## `minLikes` (type: `integer`):

For Videos and Creator history analysis, keep videos with at least this many likes. A missing source count does not pass this filter.

## `minComments` (type: `integer`):

For Videos and Creator history analysis, keep videos with at least this many comments. A missing source count does not pass this filter.

## `minShares` (type: `integer`):

For Videos and Creator history analysis, keep videos with at least this many shares. A missing source count does not pass this filter.

## `minEngagementRate` (type: `number`):

For Videos and Creator history analysis, keep videos where (likes + comments + shares) / views × 100 meets this value. Missing counts or zero views do not pass this filter.

## `minFollowers` (type: `integer`):

For Videos, Creator history analysis and Featured creators, keep creators with at least this many source followers. A missing count does not pass this filter.

## `maxItems` (type: `integer`):

Optional stop after this many result rows across the run. Leave blank for all available results until the source is exhausted. For Creator history analysis, each row is one creator summary that reports the history successfully read.

## Actor input object example

```json
{
  "resultType": "videos",
  "creatorHistoryFromVideoLinks": false,
  "videoUrls": [
    {
      "url": "https://l.likee.video/v/oaoej1"
    }
  ],
  "creatorFeedOrder": "newest",
  "maxItems": 1
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "resultType": "videos",
    "videoUrls": [
        {
            "url": "https://l.likee.video/v/oaoej1"
        }
    ],
    "maxItems": 1
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/likee-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "resultType": "videos",
    "videoUrls": [{ "url": "https://l.likee.video/v/oaoej1" }],
    "maxItems": 1,
}

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/likee-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "resultType": "videos",
  "videoUrls": [
    {
      "url": "https://l.likee.video/v/oaoej1"
    }
  ],
  "maxItems": 1
}' |
apify call maximedupre/likee-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,maximedupre/likee-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/uwd9rjAwgZJsLidsN/builds/AxCzeJ6YBb4RnBz8j/openapi.json
