Disqus Comments Scraper - Comments, Replies & Threads avatar

Disqus Comments Scraper - Comments, Replies & Threads

Pricing

from $0.85 / 1,000 comment delivereds

Go to Apify Store
Disqus Comments Scraper - Comments, Replies & Threads

Disqus Comments Scraper - Comments, Replies & Threads

Scrape Disqus comments from any article URL, forum shortname or thread id: text, HTML, replies (parent), date, likes, edited and deleted flags, author display name. List a whole forum's discussions. Schedule it: only new comments. No login. Error rows are free.

Pricing

from $0.85 / 1,000 comment delivereds

Rating

0.0

(0)

Developer

Scrapewise Data

Scrapewise Data

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

3 days ago

Last modified

Share

Disqus Comments Scraper: comments, replies and discussions from any site

Export Disqus comments from any website that uses Disqus, without an account, API key or browser. Paste an article URL, a forum shortname or a thread id. Every comment comes with its text (plain and HTML), date, likes and dislikes, the reply chain (parentId), edited, deleted and approved flags, the author's display name and the discussion it belongs to.

Read a whole site at once: the newest comments across every article, or the list of discussions with their comment counts (newest or most commented), with or without their comments. Built for monitoring: schedule it and get only the comments posted since the last run. A quiet day costs nothing.

At a glance

  • Price per 1,000 comments, Free plan: US$ 1.00
  • Discussion row (title, link, comment count): US$ 1.00 per 1,000
  • Fee per run start: None
  • Input by article URL, forum shortname or thread id: Yes
  • Whole forum: newest comments, or discussions with comment counts: Yes
  • Most commented discussions (24 h, 7, 30, 90 days): Yes
  • Reply chain (parentId, isReply): Yes
  • Only new comments since the last run (onlyNew): Yes, free when nothing is new
  • Author data: display name only (see below)
  • Error rows (bad input, page without Disqus, unknown forum): Free, with an errorCode

Real rows

From a test run on 2026-10-06 (an article URL on Wccftech, oldest first), shortened. The discussion:

{
"type": "thread",
"threadId": "11489208382",
"forum": "wccftech",
"title": "PNY Denied Warranty To An RTX 5090 Owner Because Dead GPU Wasn't Used With Company-Approved 12VHPWR Power Cable Or Adapter; Documentation Mentions No Such Clause",
"url": "https://wccftech.com/pny-denies-rtx-5090-warranty-non-approved-12vhpwr-cable/",
"identifiers": ["1747294"],
"commentCount": 1343,
"likes": 1,
"createdAt": "2026-09-24T19:02:40Z",
"isClosed": false
}

One of its comments, a reply:

{
"type": "comment",
"commentId": "6937898365",
"threadId": "11489208382",
"threadUrl": "https://wccftech.com/pny-denies-rtx-5090-warranty-non-approved-12vhpwr-cable/",
"commentUrl": "https://wccftech.com/pny-denies-rtx-5090-warranty-non-approved-12vhpwr-cable/#comment-6937898365",
"forum": "wccftech",
"parentId": "6937896653",
"isReply": true,
"createdAt": "2026-09-24T19:14:04Z",
"authorName": "VoiceOfLogic",
"text": "LMAO, it's never nVIDIA's fault, right?\n😂",
"html": "<p>LMAO, it's never nVIDIA's fault, right?<br>😂</p>",
"likes": 9,
"dislikes": 0,
"isEdited": false,
"isDeleted": false,
"isApproved": true,
"mediaUrls": []
}

What you can do with it

  • Media and brand monitoring: follow what readers say about your brand, product or topic on news and tech sites that still run Disqus, every day, with only the new comments.
  • Sentiment and opinion research: thousands of real reader comments per article, with likes and the reply chain, ready for sentiment analysis, topic models and LLM summaries.
  • Community managers and publishers: export your own site's whole comment history before a migration, a redesign or a moderation audit, discussion by discussion, in the order of the conversation.
  • Academic research: public discourse datasets with timestamps, threading and engagement, per article or for a whole site.
  • AI and RAG: clean plain text plus the original HTML, one row per comment.

Input

FieldWhat it does
startUrlsArticle or page URLs with Disqus comments. With or without https://; the Actor finds the discussion by itself
forumsForum shortnames: the part before .disqus.com in the site's embed.js (for example wccftech). Upper case, spaces and https://name.disqus.com links are fine
threadIdsNumeric Disqus thread ids (the threadId column)
forumModeFor forums: latestComments (default, newest comments across the site), threads (one row per discussion), threadsWithComments
threadSortFor the discussion modes: newest (default), popular1d, popular7d, popular30d, popular90d (most commented in the period)
maxThreadsDiscussions per forum, default 10. 0 = up to 10,000
maxCommentsComments per URL, per thread, per discussion (in threadsWithComments) or per forum (in latestComments), default 100. 0 = all, up to 50,000
commentOrdernewest (default) or oldest (the order of the conversation)
commentsSinceOnly comments from this date (2026-10-01) or period (7 days, 24 hours)
onlyNewDeliver only comments posted after the newest one delivered in earlier runs
requestDelaySecsPause between Disqus requests, default 1 second
proxyConfigurationOff by default; Apify Proxy (datacenter) spreads very large exports over several IPs

Every comment of one article, in the order of the conversation:

{
"startUrls": ["https://wccftech.com/pny-denies-rtx-5090-warranty-non-approved-12vhpwr-cable/"],
"maxComments": 0,
"commentOrder": "oldest"
}

The newest comments across a whole site, every hour, only the new ones:

{
"forums": ["wccftech"],
"forumMode": "latestComments",
"maxComments": 1000,
"onlyNew": true
}

The 20 most commented discussions of the week, each with its top 200 comments:

{
"forums": ["wccftech"],
"forumMode": "threadsWithComments",
"threadSort": "popular7d",
"maxThreads": 20,
"maxComments": 200
}

How to find a forum shortname

You usually do not need it: paste an article URL and the Actor finds the discussion. For a whole site, open any article, view the page source and look for something.disqus.com/embed.js or disqus_shortname; something is the shortname. Pasting the website address in forums also works when its pages load Disqus in the usual way.

How monitoring works

With onlyNew, the Actor remembers the newest comment it delivered for each article, thread and forum in a named key-value store in your own account, disqus-comments-scraper-state. Disqus comment ids grow over time, so the next run reads newest first and stops at the first comment it already delivered.

  • The first run delivers up to maxComments. Later runs deliver only newer comments.
  • Discussion rows come back only when the discussion is new or has new comments.
  • In the discussion modes, discussions whose comment count did not change are skipped without a request.
  • A run with nothing new delivers nothing and costs nothing. Delete the key-value store to start over.

Output

Comment rows (type: "comment"): commentId, threadId, threadTitle, threadUrl, commentUrl, forum, parentId (the comment it replies to, or null), isReply, createdAt (UTC), authorName, text (plain text), html, likes, dislikes, isEdited, isDeleted, isDeletedByAuthor, isApproved, isSpam, isHighlighted (pinned by the moderators), mediaUrls (images and links attached to the comment), input, scrapedAt.

Discussion rows (type: "thread"): threadId, forum, title, url, identifiers (the site's own ids), commentCount, likes, dislikes, createdAt (UTC), isClosed, isDeleted, feedUrl (the discussion's RSS), input, scrapedAt.

Author data, by design: display name only. No username, user id, avatar, profile link or location of commenters is returned. Use commentUrl to see the comment on the site.

Error codes (never charged)

errorCodeMeaning
INVALID_INPUTA value the Actor does not understand (unknown mode, a thread id that is not a number, an empty URL)
NOT_FOUNDThe page has no Disqus discussion, the forum or the thread does not exist
NO_RESULTSThe forum has no comments or no discussion for the chosen period
RATE_LIMITEDDisqus kept answering with its rate limit after waits and IP changes; run again or raise requestDelaySecs
KEY_REJECTEDDisqus refused its public key and the key its embed uses today
NETWORKDisqus did not answer after several tries
NOT_REACHEDThe run timeout arrived before this input
TIMEOUT_TOO_SHORTThe run timeout was too short to read even one page; raise it
UNEXPECTEDData came in a shape we did not expect; the rest of the run goes on

Pricing

EventPer 1,000
Comment deliveredUS$ 1.00
Discussion deliveredUS$ 1.00

An article with 1,343 comments costs US$ 1.34 for the comments plus US$ 0.001 for its discussion row. An hourly onlyNew run on a busy site that finds 80 new comments costs US$ 0.08. Error rows, duplicates and comments already delivered are free, and there is no start fee.

Limitations

  • The Actor reads the same public data the Disqus widget shows to every visitor. Comments waiting for moderation, and private or members-only discussions, are not returned.
  • A page is matched to its discussion by its exact address (common variants such as http, www and a trailing slash are tried). Sites that load Disqus only after a cookie banner are found through the URL anyway; if a page is not found, use the forum shortname.
  • onlyNew follows the newest comment delivered. A comment approved by a moderator long after it was written can be older than that mark and is then not delivered as new. With a limit, a burst of more new comments than maxComments delivers the newest ones.
  • The discussion modes list discussions by creation date or by Disqus' own popular list; very old discussions are reached only with a high maxThreads or by their URL or thread id.
  • Big exports take time: Disqus returns 100 comments per request and the Actor pauses between requests to stay inside the public limit (about 35,000 comments in 15 minutes with a 2.5 s pause in our tests).

FAQ

Do I need a Disqus account or API key? No.

Which sites use Disqus? Many news, tech, gaming and niche publishers and blogs. Wccftech is one example.

Can I get the reply tree? Yes. Every comment has parentId; with commentOrder: "oldest" parents come before their replies, so you can rebuild the tree row by row.

Why is text sometimes empty? The comment was deleted (isDeleted: true) or is only an image (see mediaUrls).

Can I use it from n8n, Make, Zapier or an AI agent? Yes, through the Apify app or the Apify MCP server. Error rows are free, so an agent can explore cheaply.

What if a run is cut by its timeout? The Actor stops shortly before the limit and ends successfully with what it delivered, telling you in the status message how to get the rest.

Changelog

  • 0.1 (2026-10-07): first version. Article URL, forum shortname or thread id; newest comments across a forum; discussions with comment counts (newest or most commented); comments with reply chain, likes, flags and plain text; onlyNew and commentsSince for schedules; free error rows.