Lemon8 Feeds Scraper
Pricing
from $1.40 / 1,000 results
Lemon8 Feeds Scraper
This actor extracts posts, images, videos, comments, and analytics from Lemon8 feeds across 22 categories and 10+ regions. Supports infinite scrolling, full media downloads, post-level analytics, and detailed comment extraction—perfect for research, analysis, or content monitoring.
Pricing
from $1.40 / 1,000 results
Rating
0.0
(0)
Developer
Abot API
Maintained by CommunityActor stats
0
Bookmarked
15
Total users
0
Monthly active users
8 hours ago
Last modified
Categories
Share

This actor extracts posts, images, videos, comments, and analytics from Lemon8 feeds across 22 categories and 10+ regions. Supports infinite scrolling, full media downloads, post-level analytics, and detailed comment extraction—perfect for research, analysis, or content monitoring.
Features
- 22 Feed Categories - Scrape from For You, Beauty, Food, Fashion, and more
- 10+ Regions - Support for US, Australia, Japan, and more
- Full Post Data - Titles, content, statistics, hashtags
- Comment Extraction - All comments including replies
- Media Downloads - Save images and videos to Key-Value Store
- Reliable Access - Smart proxy rotation with automatic fallback
Input Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
category | int | required | Feed category (0-21) |
region | string | "us" | Region code |
limit | int | 100 | Max posts to extract |
getDetails | bool | true | Extract full post details |
detailsLimit | int | 10 | Max posts for detail extraction |
saveImages | bool | false | Download images to KVS |
saveVideos | bool | false | Download videos to KVS |
proxy | object | null | Proxy configuration |
resumeFromRunId | string | "" | Continue one interrupted run/dataset without re-collecting or re-charging its posts |
incrementalMode | bool | false | Turn on for recurring monitoring — classifies each post as NEW/UPDATED/UNCHANGED/REAPPEARED/EXPIRED against the previous run |
stateKey | string | "" | Name a monitoring campaign explicitly; otherwise the state key is derived from category/startUrls + region + getDetails |
emitUnchanged | bool | false | Also return (and bill) UNCHANGED posts every run |
emitExpired | bool | false | Also return (and bill) posts no longer found, once a run fully scans every feed |
Example Input
{"category": 2,"region": "us","limit": 50,"getDetails": true,"detailsLimit": 10,"saveImages": false,"saveVideos": false}
🔁 Resume & recurring updates
Two different features, both opt-in:
- Resume (
resumeFromRunId) continues ONE specific interrupted run: paste a previous run ID or dataset ID and this run skips posts it already collected. - Incremental mode (
incrementalMode) is for scheduling this actor on a recurring basis against the same feed. The actor remembers what it saw last time (keyed bystateKey, or an automatic key derived from category/startUrls + region + getDetails) and adds four fields to every dataset row:
{"changeType": "NEW","changedFields": [],"firstSeenAt": "2026-07-30T03:00:00Z","lastSeenAt": "2026-07-30T03:00:00Z"}
changeType is one of NEW, UPDATED, UNCHANGED, REAPPEARED, EXPIRED. UNCHANGED and EXPIRED posts are suppressed (not returned or billed) unless you turn on emitUnchanged / emitExpired. EXPIRED posts are only produced once a run has scanned every tracked category/Start URL to its natural end — a Post Limit cap, a block, or resumeFromRunId all skip EXPIRED detection for that run rather than risk a false tombstone. These fields never appear when incrementalMode is off.
Categories
| ID | Name | ID | Name |
|---|---|---|---|
| 0 | For You | 11 | Travel |
| 1 | Beauty | 12 | Money |
| 2 | Food | 13 | Career |
| 3 | Fashion | 14 | Art |
| 4 | Home | 15 | Pets |
| 5 | Wellness | 16 | Photography |
| 6 | Fitness | 17 | Gaming |
| 7 | Entertainment | 18 | Reading |
| 8 | Relationship | 19 | Cars |
| 9 | Tech | 20 | Outdoors |
| 10 | Parenting | 21 | Education |
Regions
us, au, nz, jp, th, id, vn, my, sg, ca
Send results into your apps (MCP connectors)
Optionally pipe the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. This is an extra delivery step after the scrape — the Apify dataset is never changed.
What gets written to the connector: a condensed, human-readable summary of each record — not the full JSON. Each item becomes one entry with a title and its key fields flattened to plain text. The complete record always stays in the Apify dataset.
- Authorize a connector once under Apify → Settings → Integrations (Notion, Linear, Airtable, or Apify).
- Select it in the "Pipe results into your apps" input field. (If the picker is empty, you haven't authorized a connector yet.)
- For Notion, also set
notionParentPageUrlto the page where items should be created.
The connection is mediated by Apify's MCP proxy, so this actor never sees your third-party credentials. Leave the field empty to skip.
Output Format
Each dataset record has the following structure:
{"posts": [{"id": "7412987407534162437","author": {"name": "Author Name","profileUrl": "https://...","profileImageUrl": "https://..."},"title": "Post Title","content": "Content preview...","postUrl": "https://...","statistics": {"savedCount": "0","likesCount": "6437","commentsCount": "0"},"images": [...],"isVideo": false,"category": "Food","categoryId": 2,"details": {...},"allComments": [...],"commentStats": {...}}],"metadata": {"feedsUrl": "https://...","category": "Food","categoryId": 2,"region": "us","totalScraped": 50,"scrollsPerformed": 15,"videoPostsFound": 5,"detailedPostsScraped": 10}}