Lemmy Scraper: Posts, Comments & Communities avatar

Lemmy Scraper: Posts, Comments & Communities

Pricing

from $0.30 / 1,000 posts

Go to Apify Store
Lemmy Scraper: Posts, Comments & Communities

Lemmy Scraper: Posts, Comments & Communities

Scrape Lemmy posts, comments and communities from any instance: titles, text, links, scores, authors, reply trees, federated links, subscriber and activity counts. Communities, posts, instance feeds and keyword search, no login. Export to JSON, CSV or Excel, or via API.

Pricing

from $0.30 / 1,000 posts

Rating

0.0

(0)

Developer

Steady Scrape

Steady Scrape

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Lemmy Scraper collects posts, comments and communities from any Lemmy instance — lemmy.world, lemmy.ml, sh.itjust.works, lemmy.ca, feddit.org or any other — through Lemmy's own public API. Paste a community, a post, an instance or an instance's community list, or search by keyword, and get clean rows with titles, text, links, scores (upvotes and downvotes), comment counts, authors, reply trees, dates and the federated link of every post and comment, plus subscriber and activity counts for communities. No login, no browser, no API key. Pay only for the rows you get.

Lemmy is the federated, open-source Reddit alternative: each community lives on one instance and is copied to the others. This Lemmy scraper reads any of them and gives every post and comment its federated link (apId) — the same on every instance — so copies read through two instances are recognised and delivered once.

What you can do with this Lemmy scraper

  • Brand and topic monitoring: schedule the newest posts and comments of the communities in your field, or a keyword search, and get what was said since the last run.
  • Research and datasets: posts with their full comment threads (parent, depth and score of every reply) for discourse analysis, sentiment, NLP or AI training sets.
  • Community discovery: every community of an instance with subscribers, posts, comments and daily, weekly, monthly and half-year active users — find the active communities of a topic before you post or advertise.
  • Fediverse analytics: compare instances, follow how a story federates, measure engagement over time.
  • Reddit alternative tracking: the same kind of data you would take from subreddits, from the communities that moved to Lemmy.

What it reads

You pasteYou get
A community link or handle: https://lemmy.world/c/technology, technology@lemmy.world, !asklemmy@lemmy.mlIts posts (and, if you ask, its comments)
A community of another instance, as one instance shows it: https://sh.itjust.works/c/technology@lemmy.worldThat community read through that instance
A post link: https://lemmy.world/post/53761662The post and, if you ask, all its comments
An instance: lemmy.mlIts front-page feed (Local: its own communities; All: everything it federates)
A community list: https://lemmy.world/communitiesEvery community with its counts
A search term, with the instance to searchThe posts (and comments) the instance's search finds

Comments come two ways:

  • Latest comments: the newest comments of a community, feed or search across all its posts, 50 per request — the fast way to collect comments — and all comments of each post link.
  • Comments of each post: the full thread of every post scraped, with each reply's parent and depth.

How it works, and how fast

The Actor calls each instance's public JSON API (/api/v3/post/list, /api/v3/comment/list, /api/v3/community/list, /api/v3/search, /api/v3/post), up to 50 items a request. It reads each instance's robots.txt first and obeys it: most Lemmy instances ask crawlers to wait 60 seconds between requests, and the Actor keeps that pace on each instance. So:

  • up to 50 posts, comments or communities a minute per instance — about 3,000 an hour;
  • different instances are read at the same time, each at its own pace;
  • comments of each post take one request per post with comments (posts without comments cost none): 20 posts on lemmy.world take about 20 minutes. Use Latest comments when you need volume.

Raise the run timeout for large jobs. Deleted and removed posts and comments are never delivered or charged.

Input example

{
"targets": [
"https://lemmy.world/c/technology",
"asklemmy@lemmy.ml",
"https://lemmy.world/communities"
],
"searchTerms": ["open source"],
"searchInstance": "lemmy.world",
"maxPostsPerTarget": 200,
"comments": "latest",
"maxComments": 500,
"sort": "New"
}

Output example

A post (comments and communities come in the same dataset, told apart by rowType):

{
"rowType": "post",
"input": "https://lemmy.world/c/technology",
"instance": "lemmy.world",
"id": 53759599,
"apId": "https://lemmy.ca/post/73104961",
"url": "https://lemmy.world/post/53759599",
"homeInstance": "lemmy.ca",
"title": "Attacker gets away with up to $3 billion from Binance",
"body": "Article is by Molly White, who you might recognize from Mastodon and web3isgoinggreat.com: ...",
"link": "https://www.citationneeded.news/binance-theft/",
"linkTitle": "Attacker gets away with up to $3 billion from Binance",
"thumbnailUrl": "https://lemmy.world/pictrs/image/94eb8ca1-eb93-4f97-baef-55e5bd32397d.jpeg",
"authorName": "otter",
"authorHandle": "otter@lemmy.ca",
"authorDisplayName": "Otter",
"communityHandle": "technology@lemmy.world",
"communityTitle": "Technology",
"score": 101,
"upvotes": 102,
"downvotes": 1,
"commentCount": 8,
"publishedAt": "2026-10-30T02:35:30.691Z",
"nsfw": false,
"locked": false,
"pinned": false,
"position": 3
}

Output fields

Posts (rowType: "post")

fieldwhat it is
id, urlthe post's number and page on the instance it was read from
apId, homeInstancethe post's federated link (the same on every instance) and the instance it was written on
title, bodytitle, and text in Markdown (null for a link or image post)
link, linkTitle, linkDescription, thumbnailUrlthe link or image shared, with its preview
authorName, authorHandle, authorDisplayName, authorUrl, authorIsBotthe author (name@instance)
communityName, communityHandle, communityTitle, communityUrlthe community
score, upvotes, downvotes, commentCountvotes and comments
publishedAt, updatedAt, newestCommentAtISO 8601 UTC
nsfw, locked, pinnedflags
positionthe place in the list it was read from

Comments (rowType: "comment"): id, url, apId, homeInstance, content (Markdown), postId, postApId, postTitle, postUrl, parentId (the comment it answers, null for a reply to the post), depth (0 for a reply to the post), the author and community fields, score, upvotes, downvotes, replyCount, publishedAt, updatedAt, distinguished, position.

Communities (rowType: "community"): id, name, handle (name@instance), title, description, apId, url, homeInstance, iconUrl, bannerUrl, nsfw, postingRestrictedToMods, subscribers, subscribersLocal, posts, comments, usersActiveDay, usersActiveWeek, usersActiveMonth, usersActiveHalfYear, publishedAt, position.

Every row also carries input (what you pasted), instance (where it was read) and scrapedAt.

Free status rows (rowType: "status") explain a target that gave nothing: not_found (no such community or post on that instance), invalid, unsupported (a user profile, a comment link, a Kbin/Mbin magazine, or a site that is not Lemmy), disallowed (closed by the instance's robots.txt), blocked (the instance refused or showed a challenge page), duplicate, no_results, site_error. They are never charged.

Pricing

Pay per event, no subscription:

eventprice
postUS$0.0003
commentUS$0.0003
community (with its counts)US$0.0005

1,000 posts cost US$0.30. Status rows are free, and the run stops at your maximum cost per run.

Tips and limits

  • A community of another instance is known to an instance only once one of its users subscribed; read it through its own instance (technology@lemmy.world reads lemmy.world) for its whole history.
  • Post numbers differ on each instance: lemmy.world/post/53761662 and sh.itjust.works/post/69140705 are the same post. Use apId to match them.
  • Sorts are Lemmy's own (New, Hot, Active, Top by time window…). Pages of a long thread are a minute apart on most instances: a comment written meanwhile can shift a page, and the repeated comment is delivered once.
  • Instances behind a challenge page (programming.dev answered one in October 2026) give a free blocked row: the Actor never solves or bypasses challenges.
  • User profiles are not read.

This Actor is unofficial: it is not affiliated with, endorsed by or sponsored by the Lemmy project, its developers or any Lemmy instance. It reads only public data that each instance publishes through its own public API, without logging in, and it obeys every instance's robots.txt, including its crawl delay. Posts and comments can contain personal data; you are responsible for using the results lawfully (GDPR and similar laws) and within each instance's terms. Do not use it to harass users or to republish content against its authors' wishes.