Lemmy Scraper - Posts, Comments, Votes from Any Instance
Pricing
from $0.34 / 1,000 post delivereds
Lemmy Scraper - Posts, Comments, Votes from Any Instance
Scrape Lemmy posts and comments from any instance without login: by community, keyword search, post link or front page, with any sort (Hot, New, Top...). Get title, body, link, upvotes, downvotes, score, comment count, author, community and dates. Error rows are free.
Pricing
from $0.34 / 1,000 post delivereds
Rating
0.0
(0)
Developer
Scrapewise Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Lemmy Scraper: posts and comments from any Lemmy instance, with votes, authors and communities
Lemmy Scraper collects posts and comments from Lemmy, the open, federated alternative to Reddit, without an account, a login or an API key. Point it at any instance (lemmy.world by default, or lemmy.ml, sh.itjust.works, programming.dev and hundreds more), then pick communities, search terms, post links or simply the front page, in any sort Lemmy offers: Hot, Active, New, Top of the day, week, month or all time, Most comments and more. Each post comes back as one clean row with title, body, link, upvotes, downvotes, score, comment count, author, community and dates. Turn on comments to get each post's discussion as separate rows, with depth and parent comment.
It is used to build text datasets for AI training and RAG, to monitor what open-source, privacy and tech communities say about a product or a topic, to research trends across the fediverse, and to archive communities over time.
At a glance
| What | Price |
|---|---|
| Post delivered | US$ 0.40 per 1,000 posts on the Free plan (US$ 0.0004 each) |
| Comment delivered (only with comments on) | US$ 0.40 per 1,000 comments |
| Paid Apify plans | Bronze US$ 0.38, Silver US$ 0.36, Gold and above US$ 0.34 per 1,000 |
| Run start | US$ 0.005 per run |
- 5 communities with 30 posts each = 150 posts = US$ 0.07 on the Free plan, run start included.
- The same 150 posts with 20 comments each = 3,150 items = US$ 1.27.
- Error rows and duplicates are never charged.
maxItemsis a hard cap, and a spending limit set on the run stops it cleanly with everything delivered so far.
Quick start
Hot posts of one community:
{"communities": ["technology"],"maxPostsPerSource": 30}
Top posts of the week from communities on two instances, with the 20 best comments of each post:
{"communities": ["linux@lemmy.ml", "https://lemmy.world/c/selfhosted"],"sort": "TopWeek","includeComments": true,"maxCommentsPerPost": 20}
Search posts on another instance:
{"instance": "programming.dev","searchQueries": ["rust async", "python packaging"],"sort": "TopMonth","maxPostsPerSource": 50}
Leave communities, searches and links empty to get the instance front page in the chosen sort.
Input
| Field | What it does |
|---|---|
communities | Community names on the chosen instance (technology), federated names (linux@lemmy.ml) or community links. |
searchQueries | Keywords to search in posts. With exactly one community, the search runs inside it. |
startUrls | Post (/post/123), comment (/comment/456) or community (/c/name) links from any instance. |
instance | The Lemmy server to read from (default lemmy.world). |
sort | Hot (default), Active, New, Old, Scaled, Controversial, MostComments, NewComments, TopHour to TopAll. |
listingType | For front page and search: All (federated, default) or Local (this instance only). |
maxPostsPerSource | Posts per community, search term or front page (default 30; 0 = as many as the instance returns). |
maxItems | Cap for the whole run, posts and comments together (0 = no cap). |
skipNsfw | Leave out posts marked NSFW (default off). |
includeComments | Add each post's comments as rows (default off). |
maxCommentsPerPost | Comments per post when comments are on (default 20; 0 = all). |
commentSort | Top (default), Hot, New, Old or Controversial. |
proxyConfiguration | Apify Proxy by default. |
community, query, keyword, searchQuery, urls, sortBy, maxResults and limit are accepted too, so
inputs written for other Lemmy tools keep working.
Output
Every row has type (post, comment or error).
Post row (type: post):
| Field | What it is |
|---|---|
id, postUrl | Post id and link on the instance you read from |
originalUrl | Link on the instance where the post was written (federation) |
title, body | Post title and text (Markdown) |
link, linkTitle, linkDescription, thumbnailUrl | Shared link and its preview |
upvotes, downvotes, score, comments | Vote counts and number of comments |
publishedAt, updatedAt, newestCommentAt | Dates in UTC |
nsfw, locked, featured, isLocal | Post flags; isLocal is true when the post was written on this instance |
author, authorDisplayName, authorHandle, authorUrl, authorIsBot | Author's public username, display name, name@instance handle, profile link and bot flag |
community, communityTitle, communityHandle, communityUrl | Community name, title, name@instance handle and link |
instance, position, sourceUrl, scrapedAt | Where it was read, order in the source, what you sent and when |
Comment row (type: comment): id, commentUrl, originalUrl, text, upvotes, downvotes, score,
replies, depth (1 = direct reply to the post), parentId (the comment it answers), publishedAt, updatedAt,
distinguished, postId, postTitle, postUrl, plus the same author and community fields.
One real post row:
{"type": "post","id": 53214894,"postUrl": "https://lemmy.world/post/53214894","title": "Linus Torvalds shares his thoughts on Anti-AI coding rules","link": "https://media.piefed.social/posts/TS/lY/TSlYv9DvdaiTI2U.png","upvotes": 135,"downvotes": 14,"score": 121,"comments": 83,"publishedAt": "2026-10-16T17:36:33.541124Z","author": "Ek-Hou-Van-Braai","authorHandle": "Ek-Hou-Van-Braai@piefed.social","community": "linux","communityHandle": "linux@lemmy.ml","instance": "lemmy.world"}
And one of its comments:
{"type": "comment","id": 26368467,"text": "I don't think he thinks about you at all","upvotes": 32,"downvotes": 3,"score": 29,"replies": 1,"depth": 2,"parentId": 26367731,"postId": 53214894,"community": "linux"}
How it works
Every Lemmy server publishes the same open API. The Actor reads it and turns the answers into flat rows, so runs are fast: 30 posts usually take one or two seconds. Communities hosted on other servers are read through the instance you choose, exactly as its web page shows them; links keep their own instance.
Errors you may see
Every error is a row with errorCode and is never charged:
| errorCode | Meaning |
|---|---|
INVALID_URL | Not a Lemmy community, post or comment link |
INVALID_INPUT | A field has a wrong value (for example an unknown sort) |
NOT_FOUND | The community, post or comment does not exist on that instance |
NO_RESULTS | The community or search returned no posts for this sort |
NOT_LEMMY | The server answered, but it is not a Lemmy instance |
BLOCKED | The instance kept refusing requests (rate limit); run it again in a few minutes |
UNREACHABLE | The instance did not answer |
NOT_REACHED | The run timeout or the cost guard arrived before this source |
Integrations, scheduling and AI agents
- Schedule a run every hour or day in Apify schedules with sort
Newto collect every new post of your communities. - Export as JSON, CSV, Excel or XML, or read the dataset from the Apify API.
- Connect it to Make, n8n, Zapier, Slack or Google Sheets through Apify integrations, for example to post brand mentions to a channel.
- AI agents: call it as a tool through the Apify MCP server in Claude, ChatGPT, Cursor or any MCP client, for example "get this week's top posts of linux@lemmy.ml with their comments and summarize the main complaints".
FAQ
Do I need a Lemmy account? No. The Lemmy API is public for reading; no login, cookie or key is used.
Which instance should I use? The default, lemmy.world, is the largest and sees most federated communities. Use another instance when the community you want lives there or is not federated with lemmy.world.
How do I get communities from other servers? Write them as name@server (for example linux@lemmy.ml) or paste
their link. Counts can differ slightly between instances, because each server counts the votes it received.
Can I get every comment of a post? Yes: turn on includeComments and set maxCommentsPerPost to 0.
Is it legal? The Actor reads public data only and returns public usernames, never emails or phone numbers. You are responsible for how you use the data under the laws that apply to you.
Something broke or a field is missing? Open an issue on the Actor page; issues are answered within a day.
Limitations
- Lemmy search matches words loosely; very generic terms bring unrelated posts.
- Some instances limit how deep you can page into old posts or rate-limit busy periods.
- Deleted and removed posts and comments are skipped.
- User profiles and private messages are not collected.
Changelog
- 16 Oct 2026: first version: communities, search, post, comment and community links, front page, all Lemmy sorts, comments with depth and parent, any instance.