Lemon8 Scraper avatar

Lemon8 Scraper

Pricing

from $1.25 / 1,000 posts

Go to Apify Store
Lemon8 Scraper

Lemon8 Scraper

Collect public Lemon8 posts, creator profiles, and follower or following profiles. Choose one surface per run and save post text, authors, engagement, media links, and source details in an Apify dataset. Leave the item limit empty to collect all available results until the source is exhausted.

Pricing

from $1.25 / 1,000 posts

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

🍋 Find public Lemon8 posts and profiles

For social media researchers, marketers, and creator teams, Lemon8 Scraper collects public Lemon8 posts, creator profiles, and follower or following profiles. It saves post text, authors, engagement counts, media links, profile details, and source context in a structured Apify dataset, so you can review Lemon8 data in one place.

📦 Lemon8 rows in your dataset

Each row is a public result from the retrieval surface you choose. The dataset has three row types:

  • post rows with post identity, text, author data, engagement, media links, hashtags, optional details, and source context.
  • creatorProfile rows with public profile details, links, images, counts, and source context.
  • profileRelationship rows with a public profile, its follower or following relationship, the source profile, and source context.

Optional values stay absent when Lemon8 does not expose them. Media is returned as direct source URLs.

▶️ Choose one Lemon8 collection surface

Set Target to one surface for each run: keyword discovery, category feed, creator profiles, creator posts, individual post details, followers, or following. Only inputs for the selected surface are read. Use a separate run for each keyword or surface you need.

The Actor saves the first eligible occurrence of each source item as it finds it. If the same source item appears again from another keyword, URL, handle, ID, or similar submitted value, later matches are ignored. The saved row describes only the first match.

Use public Lemon8 pages only. Private or login-only pages are outside this Actor's scope. Set Maximum items when you want a smaller run. Leave it empty to return all available results until the source is exhausted. Maximum items only stops collection. It does not filter by date or engagement.

Turn on Add post details and comments when you need slower post details plus comments and replies for keyword discovery, category feeds, creator posts, or individual post details. Leave it off when you do not need those fields.

⚙️ Input

Input fields

FieldTypeWhat it does
targetstringChooses one retrieval surface: keyword, category, creator_profiles, creator_posts, post_details, followers, or following.
keywordstringOne keyword for public Lemon8 post discovery. Use a separate run for another keyword.
categorystringOne supported Lemon8 category, such as For You, for a public category feed.
postUrlsarray of objectsPublic post URL entries for the post_details target.
postUrls[].urlstringOne public Lemon8 post URL.
creatorProfilesarray of stringsPublic creator handles or profile URLs for creator_profiles or creator_posts. Use one kind of identifier in a run.
creatorProfiles[]stringOne public creator handle or profile URL.
sourceProfilesarray of stringsPublic creator handles or profile URLs used as sources for followers or following.
sourceProfiles[]stringOne public source profile handle or profile URL.
regionstringOptional supported Lemon8 region for the selected surface. Leave it empty to use the source's default region.
maxItemsintegerOptional work limit. Stops after this many records. Leave it empty to return all available results until the source is exhausted. It does not filter by date or engagement.
includePostEnrichmentbooleanFor keyword discovery, category feed, creator posts, or individual post details, requests slower post details with comments and replies. Extra fields appear when the source provides them.

Example input

This public input came from a successful run using the default input values:

{
"target": "keyword",
"keyword": "travel",
"maxItems": 20,
"includePostEnrichment": false
}

🧾 Output

Dataset link

FieldTypeWhat it does
datasetstringLink to the successful Lemon8 results saved from this run.

Each dataset row follows one of the three shapes below. Fields can be absent when the selected Lemon8 source does not provide them.

Post rows

FieldTypeWhat it does
recordTypestringAlways post for a post row.
postIdstringStable Lemon8 post ID.
postUrlstringDirect link to the Lemon8 post.
titlestringTitle shown on the post.
captionstringText or caption published with the post.
authorobjectPublic details for the post author.
author.idstringStable author ID.
author.handlestringPublic author handle.
author.namestringPublic author display name.
author.profileUrlstringDirect link to the author's public profile.
author.avatarUrlstringDirect link to the author's avatar image.
author.followerCountintegerAuthor follower count shown by the source.
author.followingCountintegerNumber of accounts followed by the author when shown.
engagementobjectEngagement counts shown for the post.
engagement.likeCountintegerPost like count.
engagement.saveCountintegerPost save count.
engagement.commentCountintegerPost comment count.
mediaobjectDirect source links for post media.
media.mediaTypestringMedia kind: image, video, or mixed.
media.imageUrlsarray of stringsDirect image URLs in source order.
media.videoUrlsarray of stringsDirect video URLs in source order.
hashtagsarray of stringsHashtags attached to the post.
relatedTopicsarray of stringsRelated topics shown by the source.
editobjectEdit details shown by the source.
edit.isEditedbooleanWhether the source marks the post as edited.
edit.editedAtdate-time stringTime when the source says the post was edited.
commentsarray of objectsComments and replies from optional post enrichment.
comments[].commentIdstringStable comment or reply ID.
comments[].authorobjectPublic author details for the comment or reply.
comments[].author.idstringStable comment author ID.
comments[].author.handlestringPublic comment author handle.
comments[].author.namestringPublic comment author display name.
comments[].author.profileUrlstringDirect link to the comment author's public profile.
comments[].author.avatarUrlstringDirect link to the comment author's avatar image.
comments[].textstringText of the comment or reply.
comments[].createdAtdate-time stringTime when the comment or reply was published.
comments[].likeCountintegerLike count shown for the comment or reply.
comments[].parentCommentIdstringID of the comment that this reply belongs to.
sourceobjectRetrieval surface and submitted value that led to the row.
source.retrievalSurfacestringSurface used to find the row.
source.keywordstringKeyword that caused the post row to be saved, when used.
source.categorystringCategory feed that caused the post row to be saved, when used.
source.regionstringLemon8 region used for the result, when selected.
changeTypestringMonitoring state when recurring monitoring is used: new, updated, unchanged, reappeared, or expired.

Example post row

This complete row came from a successful individual post details run:

{
"recordType": "post",
"postId": "7582911139047080465",
"postUrl": "https://www.lemon8-app.com/@thetravelintern/7582911139047080465",
"title": "Save this guide before heading to Hanoi, Vietnam!🇻🇳",
"caption": "Heading to Hanoi for the first time? Here are some travel tips for you to keep in mind! ✈️ 1) Check the weather before you go Unlike most of Southeast Asia, Hanoi (and Vietnam in general), experiences distinct seasons, ranging from cool winters to humid summers. So make sure to check the forecast before your trip and pack accordingly! 🌦️🧥 2) Get around like a local The most common and convenient way to travel is by motorbike. Download ride-hailing apps like Grab to make getting around easier. It’s affordable, quick, and the best way to experience the city like a local 🛵💨 3) Don't panic when crossing the street! Hanoi’s traffic can look chaotic, but there’s a rhythm to it. Follow locals when crossing, walk at a steady pace, and keep an eye on oncoming bikes. Most drivers will slow down or weave around you, so just remain calm and go! 🚶‍♀️🚦 Follow @thetravelintern for more travel inspiration! #sgtravel #hanoiitinerary #hanoitravel #hanoi #vietnam",
"author": {
"id": "6664509095087030273",
"handle": "thetravelintern",
"name": "thetravelintern",
"profileUrl": "https://www.lemon8-app.com/@thetravelintern",
"avatarUrl": "https://p16-lemon8-cross-sign.tiktokcdn-us.com/user-avatar-alisg/326c4e92188a71abfa4c1110482dca93~tplv-sdweummd6v-shrinkf:120:0:q75.webp?lk3s=66c60501&source=feed_user&x-expires=1788458400&x-signature=LfC%2FAHuryKXwjqREyZW6bIhupUk%3D",
"followerCount": 5565
},
"engagement": {
"likeCount": 69,
"saveCount": 86,
"commentCount": 0
},
"media": {
"mediaType": "image",
"imageUrls": [
"https://p16-lemon8-sg-sign.tiktokcdn-us.com/tos-alisg-v-a3e477-sg/oAEa7T6AivNiv6BIB0WpAbPAqY3OAXAZcliAl~tplv-sdweummd6v-wap-logo-v1:QHRoZXRyYXZlbGludGVybg==:1080:0.webp?lk3s=66c60501&source=wap_large_logo_image&x-expires=1790445600&x-signature=MAcH%2Fgs2OVlnfBD9ocrCpBPp6fw%3D",
"https://p16-lemon8-sg-sign.tiktokcdn-us.com/tos-alisg-v-a3e477-sg/oAOWYAliav4bABZiAXqlnBI370TAEAvdP6iqp~tplv-sdweummd6v-wap-logo-v1:QHRoZXRyYXZlbGludGVybg==:1080:0.webp?lk3s=66c60501&source=wap_large_logo_image&x-expires=1790445600&x-signature=3%2BjFjUQ3dkBho2smByjNBIMSqL4%3D"
],
"videoUrls": []
},
"hashtags": [
"#hanoi",
"#sgtravel",
"#hanoiitinerary",
"#hanoitravel",
"#vietnam"
],
"relatedTopics": [
"best time to visit hanoi"
],
"source": {
"retrievalSurface": "post_details",
"region": "sg"
},
"edit": {
"isEdited": false,
"editedAt": "2025-12-12T10:13:05.000Z"
},
"comments": []
}

Creator profile rows

FieldTypeWhat it does
recordTypestringAlways creatorProfile for a creator profile row.
profileobjectPublic creator profile details.
profile.idstringStable creator profile ID.
profile.handlestringPublic creator handle.
profile.namestringPublic creator display name.
profile.biographystringBiography shown on the creator profile.
profile.profileUrlstringDirect link to the public creator profile.
profile.avatarUrlstringDirect link to the profile avatar image.
profile.coverImageUrlstringDirect link to the profile cover image.
profile.linksarray of stringsLinks shown on the creator profile.
profile.postCountintegerNumber of posts shown for the profile.
profile.followerCountintegerNumber of followers shown for the profile.
profile.followingCountintegerNumber of accounts followed by the profile when shown.
sourceobjectRetrieval surface and submitted value that led to the row.
source.retrievalSurfacestringSurface used to find the profile.
source.keywordstringKeyword that led to the row, when relevant.
source.categorystringCategory feed that led to the row, when relevant.
source.regionstringLemon8 region used for the result, when selected.
changeTypestringMonitoring state when recurring monitoring is used: new, updated, unchanged, reappeared, or expired.

Example creator profile row

This genuine row came from a successful creator profile run:

{
"recordType": "creatorProfile",
"profile": {
"id": "6664509095087030273",
"handle": "thetravelintern",
"name": "thetravelintern",
"biography": "Travel inspo | guides | itineraries | hacks 🇸🇬✈️🌍",
"profileUrl": "https://www.lemon8-app.com/@thetravelintern",
"avatarUrl": "https://p16-lemon8-cross-sign.tiktokcdn-us.com/user-avatar-alisg/326c4e92188a71abfa4c1110482dca93~tplv-sdweummd6v-shrinkf:1200:0:q75.webp?lk3s=d32e6450&source=ui_avatar&x-expires=1788458400&x-signature=VNpaX%2FlpWFLU29WZvra28b56c98%3D",
"links": [
"https://www.instagram.com/thetravelintern/",
"https://thetravelintern.com"
],
"postCount": 74,
"followerCount": 5565,
"followingCount": 1
},
"source": {
"retrievalSurface": "creator_profiles"
}
}

Profile relationship rows

FieldTypeWhat it does
recordTypestringAlways profileRelationship for a follower or following row.
profileobjectPublic profile details for the listed account.
profile.idstringStable listed profile ID.
profile.handlestringPublic listed profile handle.
profile.namestringPublic listed profile display name.
profile.biographystringBiography shown for the listed profile.
profile.profileUrlstringDirect link to the listed public profile.
profile.avatarUrlstringDirect link to the listed profile avatar.
profile.coverImageUrlstringDirect link to the listed profile cover image.
profile.linksarray of stringsLinks shown on the listed profile.
profile.postCountintegerNumber of posts shown for the listed profile.
profile.followerCountintegerNumber of followers shown for the listed profile.
profile.followingCountintegerNumber of accounts followed by the listed profile when shown.
relationshipstringRelationship to the source profile: follower or following.
sourceProfileobjectPublic profile used as the follower or following source.
sourceProfile.idstringStable source profile ID.
sourceProfile.handlestringPublic source profile handle.
sourceProfile.namestringPublic source profile display name.
sourceProfile.profileUrlstringDirect link to the source profile.
sourceobjectRetrieval surface and submitted value that led to the row.
source.retrievalSurfacestringSurface used to find the relationship.
source.keywordstringKeyword that led to the row, when relevant.
source.categorystringCategory feed that led to the row, when relevant.
source.regionstringLemon8 region used for the result, when selected.
changeTypestringMonitoring state when recurring monitoring is used: new, updated, unchanged, reappeared, or expired.

Example profile relationship row

This genuine row came from a successful followers run:

{
"recordType": "profileRelationship",
"profile": {
"id": "7064457970561909762",
"handle": "msbald_10ismyuser",
"name": "🎵adiah",
"biography": "",
"profileUrl": "https://www.lemon8-app.com/@msbald_10ismyuser",
"avatarUrl": "https://p19-lemon8-cross-sign.tiktokcdn-us.com/tos-alisg-i-0000/4e33379e42d2474999b05b263ade0dfb~tplv-sdweummd6v-shrinkf:1200:0:q75.webp?lk3s=d32e6450&source=ui_avatar&x-expires=1788458400&x-signature=rT08mvwV9iYf%2FvQKdE8I%2B82HniA%3D",
"links": [],
"followerCount": 0
},
"relationship": "follower",
"sourceProfile": {
"id": "6778452273708188673",
"handle": "dailyvanity",
"name": "Daily Vanity",
"profileUrl": "https://www.lemon8-app.com/@dailyvanity"
},
"source": {
"retrievalSurface": "followers",
"region": "sg"
}
}

💳 Pricing

This Actor uses pay-per-event pricing. The buyer-facing event is Post. One successfully retrieved post saved to your dataset creates one event. Check the pricing panel for the current tier price.

🔌 Integrations

Open the dataset link after a run, or use the Apify API to read the same rows. Media stays at Lemon8 and is returned through direct source URLs.

For a walkthrough, watch this video:

❓ FAQ

Can I search more than one keyword in one run?

No. Choose the keyword target and enter one keyword. Start another run for another keyword.

Can I mix post URLs with creator profiles?

No. Choose one target for a run. Only the fields used by that target are read, so use separate runs for post URLs and creator profiles.

How do I get comments and replies?

Turn on Add post details and comments for keyword discovery, category feed, creator posts, or individual post details. This path can take longer, and the extra fields appear when Lemon8 provides them.

Can I collect followers and following in one run?

No. Choose either Followers or Following as the target. Add the source profile handles or URLs in Source profiles.

Why is an optional field missing?

Lemon8 does not show every field for every post or profile. The Actor keeps source omissions instead of making up values.

What happens when the same post appears twice?

The first eligible match is saved as soon as it is found. A later match for the same source item is ignored, and the saved row keeps the first match.

What does leaving Maximum items empty do?

It returns all available results until the source is exhausted. Maximum items only stops collection. It does not filter by date or engagement.

Does the Actor access private Lemon8 pages?

No. It works with publicly reachable Lemon8 pages and does not use source-account setup to open private or login-only pages.

Does the Actor store media files?

No. It returns direct source URLs for available media. It does not archive or transform those files.

📝 Changelog

0.0: Initial release

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré