Lemmy Scraper avatar

Lemmy Scraper

Pricing

from $0.40 / 1,000 posts

Go to Apify Store
Lemmy Scraper

Lemmy Scraper

Scrape Lemmy communities, posts, comments, and search results from any instance without a login. Pull a community's posts, a single post with its comment thread, or keyword search results. Walks pagination up to your chosen limit.

Pricing

from $0.40 / 1,000 posts

Rating

0.0

(0)

Developer

Goutam Soni

Goutam Soni

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Scrape public Lemmy posts, comments, communities, and search results from any Lemmy instance. No login, no password, no API key required. Point it at a community, a post link, or a keyword and get clean structured data back, with pagination walked automatically up to the limit you set.

What it does

  • Community posts by name (technology@lemmy.world or a community link). Optionally emit a header row with the community's title, description, subscriber count, and active-user counts. Walks pages until your limit.
  • Post threads from a post URL. Returns the post plus its flattened comment thread, each comment carrying a depth field so you can reconstruct the tree.
  • Keyword search across public posts on the chosen instance, deduplicated across pages.
  • Works across the fediverse. Point it at any Lemmy server and reference federated communities like world@lemmy.world from a different host.
  • Structured, ordered output. Every row is a flat object with identity, vote metrics, content, media, and timestamps in a stable column order.

Use cases

  • Brand and topic monitoring. Track what communities are saying about a product, technology, or keyword across multiple instances.
  • Market and audience research. Pull a niche community's top posts and engagement metrics to understand what resonates.
  • Trend discovery. Search posts by keyword sorted by Top or Hot to surface high-engagement discussions.
  • Content and sentiment datasets. Export posts and full comment threads as a clean dataset for analysis or model training.
  • Community analytics. Snapshot subscriber and active-user counts over time to measure community growth.

Input

FieldTypeDescription
instancestringThe Lemmy server to query. Bare host or full URL. Bare community names and search queries run against this instance. Default lemmy.world.
communitiesarrayCommunities to pull recent posts from. Bare name, fully qualified name@instance, or a full community link.
postUrlsarraySpecific post links to fetch. Turn on includeComments to also pull each post's comment thread.
searchQueriesarrayKeyword searches to run over posts on the chosen instance.
maxPostsPerSourceintegerCap on posts returned per community or search query. Pagination is walked until this is reached or the source runs out. Default 100.
sortstringSort order for listings, comments, and search (Active, Hot, New, Top day/week/month/year/all, and more). Default Active.
includeCommunityHeaderbooleanEmit one header row per community (title, description, subscriber and activity counts) before its posts. Default true.
includeCommentsbooleanFor each post URL, also return its comment thread flattened with a depth field. Default false.
maxCommentsPerPostintegerCap on comments returned per post URL. Default 50.
concurrencyintegerHow many sources to process in parallel. Default 5.
proxyConfigobjectOptional proxy. The public read endpoints do not require one, but you may route through a proxy if you wish.

Example input

{
"instance": "lemmy.world",
"communities": ["technology@lemmy.world"],
"searchQueries": ["open source"],
"maxPostsPerSource": 200,
"sort": "TopWeek",
"includeCommunityHeader": true
}

Output

Each post is one row:

{
"type": "post",
"id": 123456,
"url": "https://lemmy.world/post/123456",
"community": "technology@lemmy.world",
"authorName": "example_user",
"authorHandle": "example_user@lemmy.world",
"score": 467,
"upvotes": 530,
"downvotes": 63,
"commentCount": 87,
"title": "An example post title",
"body": "An example post body in plain text.",
"linkUrl": "https://example.com/article",
"embedTitle": "Example article headline",
"embedDescription": "A short summary of the linked article.",
"thumbnailUrl": "https://lemmy.world/pictrs/image/example.jpeg",
"nsfw": false,
"locked": false,
"createdAt": "2026-06-01T12:00:00.000Z",
"updatedAt": null,
"scrapedAt": "2026-06-18T09:00:00.000Z"
}

Key fields: type tells you whether the row is a post, comment, or community header. score, upvotes, downvotes, and commentCount are the engagement metrics at scrape time. body is the plain-text post body (null for link-only posts). linkUrl is the external link a post points to, with embedTitle / embedDescription / thumbnailUrl describing it. A community header row carries subscribers, posts, comments, and active-user counts. A comment row carries postId, content, depth, and the same vote metrics.

FAQ

Do I need a Lemmy account or API key? No. The scraper reads only public data and requires no login, password, or key.

Is it free? You pay only for the Apify platform usage and the per-result charge shown on the actor's pricing tab. There is no separate subscription.

How many results can I get? Set maxPostsPerSource to whatever you need. The actor pages through the listing automatically and keeps fetching until it reaches your limit or the source is exhausted. Comment threads are capped by maxCommentsPerPost.

Why are some fields null? Link-only posts have no body, and most posts are never edited so updatedAt is usually null. These reflect what the source actually publishes for each item, not a scraping gap.

Can I scrape any Lemmy instance? Yes. Set instance to any Lemmy server (for example lemmy.ml or sh.itjust.works), or use a fully qualified name@instance to reach a federated community from a different host.

How fast is it? Multiple sources run in parallel (controlled by concurrency). A single community of a few hundred posts typically finishes in well under a minute.

Can I get full comment threads? Yes. Add post links to postUrls and turn on includeComments. Each comment row includes a depth field so you can rebuild the reply tree.