VOOZH about

URL: https://apify.com/memo23/facebook-comments-scraper

โ‡ฑ Facebook Comments [$1.5๐Ÿ’ฐ] Scraper ยท Apify


๐Ÿ‘ Facebook Comments [$1.5๐Ÿ’ฐ] Scraper avatar

Facebook Comments [$1.5๐Ÿ’ฐ] Scraper

Pricing

from $0.49 / 1,000 results

Go to Apify Store

Facebook Comments [$1.5๐Ÿ’ฐ] Scraper

๐Ÿ’ฐ $1.5 per 1,000 results โ€“ No limits, no quotas, unlimited extraction. Extracts Facebook comments with profile data (name, ID, avatar, URL), comment metadata (text, date, likes, replies), post context (title, URL), and threading info for posts, reels, photos, and group content.

Pricing

from $0.49 / 1,000 results

Rating

5.0

(2)

Developer

๐Ÿ‘ Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

2

Bookmarked

46

Total users

11

Monthly active users

5.9 hours

Issues response

4 days ago

Last modified

Share

Facebook Comments Scraper

โš™๏ธ How it works

๐Ÿ‘ How the Facebook Comments Scraper works

Scrape all public comments โ€” and nested replies โ€” from any Facebook post, Reel, Watch video, or photo. Paste a URL, get one clean JSON row per comment: author, text, timestamp, like count, permalink, and full reply threading. Pure HTTP via Comet/GraphQL pagination โ€” no browser farm, no login, no cookies required.

Paste thisGet back
facebook.com/{page}/posts/{id} (page post)All comments on the post
facebook.com/reel/123โ€ฆ (Reel)All comments on the Reel
facebook.com/watch?v=123โ€ฆ (Watch video)All comments on the video
facebook.com/photo?fbid=123โ€ฆ (photo / album)All comments on the photo story
facebook.com/groups/โ€ฆ/posts/123โ€ฆ (group post)All comments on the group post
facebook.com/share/p/โ€ฆ (share link)Resolves to the story, then all comments
โ€ฆ with includeNestedComments: trueEach reply as its own row, with parent linkage

Pure HTTP. No headless browser, no third-party CAPTCHA service. One stable output schema across every URL type.


โœจ Why use this scraper?

  • ๐Ÿ’ฌ Full comment history, not just the first page. Walks Facebook's own GraphQL comment pagination until your maxItems cap โ€” so you get the whole thread, not the 10 comments visible on first load.
  • ๐Ÿงต Nested replies as first-class rows. Toggle includeNestedComments to materialize every reply with parentComment, parentReply, replyToCommentId, and threadingDepth (1 = reply, 2 = reply-to-reply).
  • ๐Ÿ”€ One schema for every surface. Posts, Reels, Watch, photos, group posts, share links โ€” identical field set. Store once, query everything.
  • ๐ŸŽฏ Sort-mode control. ALL, NEWEST, or MOST_RELEVANT โ€” mapped to Facebook's own Comet intents so ordering matches the UI.
  • โšก No browser overhead. Loads the desktop story page, extracts Comet tokens, calls the comment API directly. Fast and cheap compared to a headless-browser scraper.
  • ๐Ÿ’ฐ Just $0.50 / 1,000 comments. Pay only for the rows you keep. No subscription, no monthly minimum.

๐ŸŽฏ Use cases

AudienceWhat they do with it
Social listening / brand teamsTrack sentiment + complaints under brand posts and competitor pages
Moderation pipelinesPull comment streams into a toxicity / spam classifier
Researchers & data teamsBuild labelled comment datasets for NLP / discourse analysis
Agencies & marketersMeasure engagement quality (not just counts) on campaign posts
CreatorsExport comment threads from Reels / Watch for community analysis

๐Ÿ“ฅ Supported inputs

The actor loads each URL as a desktop story page, extracts Comet tokens + the story feedback target, then runs the same GraphQL comment pagination for every type below. Public content + a working residential proxy are required (block/login pages fail for any format).

Content typeExample URL
Page postshttps://www.facebook.com/humansofnewyork/posts/pfbid0Bbโ€ฆ
Numeric page postshttps://www.facebook.com/584256070497766/posts/890521929871177
Reelshttps://www.facebook.com/reel/813381761171953
Watch videoshttps://www.facebook.com/watch?v=1312736054237897
Photoshttps://www.facebook.com/photo?fbid=1465799148444403
Photo albumshttps://www.facebook.com/photo/?fbid=123&set=a.456
Photo (legacy path)https://www.facebook.com/photo.php?fbid=1423151982709120
Group postshttps://www.facebook.com/groups/183774529022936/posts/123โ€ฆ
Group posts (permalink)https://www.facebook.com/groups/โ€ฆ/permalink/2090871251646578/
Permalink postshttps://www.facebook.com/permalink.php?story_fbid=123
Share linkshttps://www.facebook.com/share/p/1CfaPmdZLU

watch?v=โ€ฆ and watch/?v=โ€ฆ are both accepted. For pfbid, group, permalink.php, and share URLs, the numeric story id is resolved from the loaded page HTML when the URL isn't already in /{pageId}/posts/{postId} shape.

Not supported: private/friends-only content, login-walled posts, Stories (24h), Marketplace listings, and anything requiring authentication.


  1. Load the story page. Fetch the desktop HTML for each input URL through a residential proxy.
  2. Extract Comet tokens. Parse the page for the GraphQL doc_id, the story feedback id, and the request tokens Facebook's own front-end uses.
  3. Paginate comments. Call CommentsListComponentsPaginationQuery with your commentsMode intent, walking cursor pages until maxItems is reached or the thread ends.
  4. Expand replies (optional). When includeNestedComments is on, fan each top-level comment out into its reply thread and emit each reply as its own row with parent linkage.
  5. Emit flat rows. One JSON object per comment to your Apify dataset โ€” export as JSON, CSV, or Excel.

๐Ÿ”ง Input configuration

FieldTypeDefaultNotes
startUrlsarrayโ€” (required){ "url": "โ€ฆ" } objects. Each URL = one story to scrape comments for.
maxItemsinteger60Max comment rows per start URL (not global).
commentsModestringALLALL | NEWEST | MOST_RELEVANT โ€” Facebook's comment sort/filter intent.
includeNestedCommentsbooleanfalseWhen true, emits reply rows with parent linkage. false = top-level only (faster).
maxConcurrencyinteger2Parallel requests. Keep low (1โ€“3) for Facebook.
minConcurrencyinteger1Floor for the autoscaled pool.
maxRequestRetriesinteger3Retries per failed request before giving up.
proxyobjectApify ResidentialResidential strongly recommended โ€” datacenter IPs are usually blocked.

Example input

{
"startUrls":[
{"url":"https://www.facebook.com/humansofnewyork/posts/pfbid0BbKbkisExKGSKuhee9a7i86RwRuMKFC8NSkKStB7CsM3uXJuAAfZLrkcJMXxhH4Yl"},
{"url":"https://www.facebook.com/reel/4364570517119853"},
{"url":"https://www.facebook.com/watch?v=1312736054237897"},
{"url":"https://www.facebook.com/photo?fbid=1485098743181110"}
],
"maxItems":60,
"commentsMode":"ALL",
"includeNestedComments":true,
"maxConcurrency":2,
"proxy":{"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]}
}

๐Ÿ“Š Output overview

One flat JSON object per comment (and one per reply when nested mode is on). The same field set is used for every supported URL type โ€” only values differ (e.g. commentUrl shape, or facebookId being a story id vs a photo fbid). Optional fields (likesCount, profileUrl, parentComment, โ€ฆ) appear only when Facebook's GraphQL payload includes them.

Sample comment row

{
"facebookUrl": "https://www.facebook.com/photo/?fbid=1489500156068574&set=a.800788574939739",
"commentUrl": "https://www.facebook.com/photo/?fbid=1489500156068574&set=a.800788574939739&comment_id=930672569337014",
"commentId": "930672569337014",
"id": "Y29tbWVudDoxNDg5NTAwMzYyNzM1MjIwXzkzMDY3MjU2OTMzNzAxNA==",
"text": "Watching a match without a ticket is not a crime. No laws cover it...",
"date": "2026-03-13T20:25:06.000Z",
"profileId": "pfbid02GSbxMEz86kbVK11uFfAzmTwENwvsVpGiAQqvMKhdcEBh8ifMRokRhEEtDsLLUQqHl",
"profileName": "Rupesh R. S.",
"profileUrl": "https://www.facebook.com/rupesh.r.shambharkar",
"profilePicture": "https://scontent.fptp3-1.fna.fbcdn.net/โ€ฆ",
"likesCount": "6",
"commentsCount": 3,
"threadingDepth": 0,
"comments": [],
"facebookId": "1489500362735220",
"feedbackId": "ZmVlZGJhY2s6MTQ4OTUwMDM2MjczNTIyMF85MzA2NzI1NjkzMzcwMTQ=",
"postTitle": "",
"pageAdLibrary": { "is_business_page_active": false, "id": "0" },
"inputUrl": "https://www.facebook.com/photo/?fbid=1489500156068574&set=a.800788574939739"
}

Reply rows add replyToCommentId, parentComment ({ id, author }), parentReply, and threadingDepth: 1|2.

Key output fields

GroupFields
Comment bodytext, date (ISO 8601 UTC), commentId (legacy id), id (GraphQL relay id)
LinkscommentUrl (direct permalink), facebookUrl (story permalink), inputUrl (your exact input)
AuthorprofileName, profileId (pfbidโ€ฆ/numeric), profileUrl, profilePicture
EngagementlikesCount ("6", "1.3K"โ€ฆ), commentsCount (reply count)
ThreadingthreadingDepth (0 = top-level), replyToCommentId, parentComment, parentReply
Story contextfacebookId (story id), feedbackId, postTitle, pageAdLibrary

๐Ÿ’ฐ Pricing

Pay-per-result, $0.50 per 1,000 comments ($0.0005/row + a small per-run start fee) โ€” among the cheapest Facebook comment scrapers on the Apify Store. You pay only for the comment rows emitted to your dataset โ€” reply rows count as rows when nested mode is on. No subscription, no monthly minimum.

RunApprox cost
1 post, 100 comments~$0.05
10 posts, 500 comments each~$2.50
1 Reel, 2,000 comments + replies~$1.00

โ“ FAQ

Does it need my Facebook login or cookies? No. It only reads public comments via Facebook's own front-end GraphQL. No authentication.

Will it get private or friends-only comments? No. Only public content is reachable. Login-walled or restricted posts will fail.

Why do I need a residential proxy? Facebook blocks datacenter IPs aggressively. Residential proxies (Apify Residential or your own) are required for reliable runs.

Is maxItems global or per URL? Per URL. Each start URL collects up to maxItems comments independently.

How do I get replies, not just top-level comments? Set includeNestedComments: true. Each reply becomes its own row with parentComment / replyToCommentId linkage and threadingDepth โ‰ฅ 1.

Is the output the same for Reels, Watch, photos, and posts? Yes โ€” identical schema. Only values differ (URL shapes, story ids). Store once, query everything.

What's the difference between commentId and id? commentId is the legacy numeric id used in comment_id= permalinks; id is the opaque GraphQL relay token. Both are always present in real runs.

Can it handle share links and pfbid URLs? Yes. The numeric story id is resolved from the loaded page HTML when the URL isn't already in /{page}/posts/{id} form.


๐Ÿ’ฌ Support

Found a bug or need a field that isn't surfaced? Open an issue on the actor's Apify Console page, or email muhamed.didovic@gmail.com โ€” same-day turnaround on data issues.

๐Ÿ›  Additional services

  • Need a custom output shape or extra fields? Email muhamed.didovic@gmail.com.
  • Need Facebook posts, pages, groups, ads, or marketplace data? Ask โ€” there's a sibling actor for most Facebook surfaces.
  • Need API access (no Apify fee, usage-only)? Get in touch.

๐Ÿ”Ž Explore more scrapers

See the full catalog at memo23's Apify profile โ€” Facebook posts/pages/groups/ads, VRBO vacation rentals, Expedia/Hotels.com reviews, ImmoScout24, LoopNet, Stepstone, Naukri, and more.


โš ๏ธ Disclaimer

This Actor accesses publicly available comments on Facebook for legitimate research, social-listening, moderation, and business-analysis purposes. Use of this Actor must comply with Facebook's (Meta Platforms, Inc.) Terms of Service and all applicable laws, including data-protection regulations (GDPR, CCPA, etc.). This Actor is not affiliated with, endorsed by, or sponsored by Facebook or Meta Platforms, Inc. All Facebook and Meta trademarks are the property of their respective owners and are used here solely for descriptive purposes. Users must:

  • Respect rate limits and avoid overloading Facebook's infrastructure
  • Not use scraped data to violate user privacy or Facebook's terms
  • Comply with applicable laws in their jurisdiction
  • Not republish scraped content in violation of copyright

We do not store any scraped data; the Actor returns it directly to your Apify dataset for your authorized use.


SEO Keywords

facebook comments scraper, facebook comment scraper, scrape facebook comments, facebook post comments scraper, facebook reel comments scraper, facebook watch comments, facebook photo comments scraper, facebook group comments scraper, facebook comments api, facebook comments export, facebook nested replies scraper, facebook comment replies, social listening facebook, facebook sentiment data, facebook moderation data, facebook comments csv, facebook comments json, no-login facebook scraper, facebook graphql comments, apify facebook scraper, facebook engagement data, facebook public comments extraction

You might also like

TeamBlind Reviews scraper

memo23/teamblind-scraper

Scrape every public review for any company on TeamBlind. Returns rating, full pros & cons, job title, tenure, date, and reviewer location โ€” plus a per-company summary with logo, HQ, employee size, average ratings, and reviewer city/country. No login required. Proxies included.

๐Ÿ‘ User avatar

Muhamed Didovic

28

5.0

Tiktok Comments Scraper ($0.20 Per 1K)

kawsar/tiktok-comments-scraper

TikTok comment scraper that pulls comments and replies from any public post, so researchers and marketers get usable data without copying a single comment by hand.

Otodom.pl Scraper | Cheap 4$/ / 1k

trev0n/otodom-scraper

Scrape Otodom.pl listings with 30+ fields: price, area, rooms, location, GPS, seller info. Supports sale & rent for apartments, houses, plots. No browser needed.

Indeed Comprehensive Crawler

memo23/apify-indeed

The most comprehensive Indeed crawler Extract every field Indeed exposes: salary, job type, benefits, company rating & reviews, hiring insights, GPS coordinates, full company profile (CEO, revenue, industry, website), the real external apply URL. Search by URL, keyword or region across 60+ countries

๐Ÿ‘ User avatar

Muhamed Didovic

205

5.0

Instagram Profile/Posts/Reels Downlaoder & Monitoring mode

memo23/apify-instagram-profile-scraper

Elevate your Instagram game with data-driven decisions. Our Profile Scraper delivers the in-depth information you need, from user stats to post performance, powering your social media mastery.

๐Ÿ‘ User avatar

Muhamed Didovic

224

5.0

Facebook Comments Scraper - Posts & Pages

makework36/facebook-comments-scraper

Scrape Facebook comments from any public post or page. No login needed. Get comment text, author, date, reactions, reply count. Also extracts post info: text, reactions, shares. Pure HTTP.

๐Ÿ‘ User avatar

deusex machine

37

Xing Scraper โ€” Jobs, Companies & Profiles ($1.19 / 1k)

memo23/xing-scraper

Xing scraper โ€” jobs, companies & profiles in one actor at $1.19 / 1,000 results. Paste any xing.com URL (search, /jobs/{slug}, /pages/{slug}, /profile/{id}) or filter by keyword + location + discipline + radius. 35+ fields per row: salary, Kununu, employees, social links. JSON or CSV.

๐Ÿ‘ User avatar

Muhamed Didovic

91

Otodom Property Search Scraper

ecomscrape/otodom-property-search-scraper

Unlock comprehensive property data from Poland's leading real estate platform with our Otodom.pl scraper. Extract listings, prices, locations, and detailed property information for market analysis, investment research, and business intelligence.

ecomscrape

60

Facebook Comments PPR

danek/facebook-comments-ppr

Scrap Facebook comments fast and easy. It is designed to be fast and efficient, so it can extract a large number of comments for low price. It is also less likely to be blocked by Facebook.

709

4.0

Skyscanner Flight Scraper API ๐Ÿ’ฐ$1/1k โ€” Fares & Multi-City

memo23/skyscanner-scraper

๐Ÿ’ฐ$1 per 1000 results, unlimited extraction. Skyscanner Flight Scraper API โ€” itineraries, fares, schedules & routes by flights URL or search filters. One-way, round-trip & multi-city. 180+ fields per itinerary: legs, segments, carriers, stops, layovers, Best/Cheapest/Fastest tags. Pure HTTP.

๐Ÿ‘ User avatar

Muhamed Didovic

95

5.0