DEV Community (dev.to) Articles Scraper avatar

DEV Community (dev.to) Articles Scraper

Pricing

$2.00 / 1,000 item scrapeds

Go to Apify Store
DEV Community (dev.to) Articles Scraper

DEV Community (dev.to) Articles Scraper

DEV Community (dev.to / Forem) articles by tag or top-of-week, keyword search, author profiles with their articles, and article comments. Public JSON API, no login, no browser.

Pricing

$2.00 / 1,000 item scrapeds

Rating

0.0

(0)

Developer

gogumaa

gogumaa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Share

DEV Community (dev.to) scraper for articles, authors and comments, no login or API key. Pull the newest or top dev.to articles for any tag, search by keyword, export an author's profile with all their posts, or collect the comments under an article. It uses the public Forem JSON API, so runs are fast and you pay per result.

What you can do with it

  • Content & trend monitoring — schedule articles mode with top: 7 for your stack's tags and feed the weekly winners into Slack, a newsletter, or an LLM summarizer.
  • Developer relations / competitor tracking — search mode for your product or a rival's name; reactions and comment counts show what resonates.
  • Author research — user mode gives profile (GitHub, Twitter, website, location) plus every article with engagement counts; good for finding contributors to sponsor or hire.
  • Sentiment & feedback mining — comments mode returns every comment (nested replies flattened) as plain text for any article ids.
  • Dataset building — includeBody adds full Markdown for each article.
  • Automation — Schedule it on Apify and pipe results to Google Sheets, Slack, n8n or Make via the Apify integration.
  • Newsletter curation — articles mode with top: 7 across a handful of tags gives a ranked weekly reading list with reading time and cover image.

Output example

Modes articles, search, user (type: "article"):

{
"type": "article",
"id": 4943245,
"title": "Yes, {} + [] = 0. No, JavaScript Isn’t Broken",
"description": "JavaScript is a legendary programming language. Created in the mid-1990s in just 10 days …",
"url": "https://dev.to/sylwia-lask/yes-0-no-javascript-isnt-broken-14ob",
"published_at": "2026-10-29T20:08:53Z",
"edited_at": "2026-10-30T13:34:02Z",
"tags": ["javascript", "webdev", "node", "programming"],
"author": "sylwia-lask",
"author_name": "Sylwia Laskowska",
"organization": null,
"reading_time_minutes": 5,
"public_reactions_count": 121,
"positive_reactions_count": 121,
"comments_count": 84,
"cover_image": "https://media2.dev.to/dynamic/image/…png",
"canonical_url": "https://dev.to/sylwia-lask/yes-0-no-javascript-isnt-broken-14ob"
}

With includeBody: true each article also has body_markdown.

Mode user, first row per user (type: "user"):

{ "type": "user", "id": 1, "username": "ben", "name": "Ben Halpern", "summary": "A Canadian software developer who thinks he’s funny.", "location": "NY", "joined_at": "Dec 27, 2015", "github_username": "benhalpern", "twitter_username": "bendhalpern", "website_url": "http://benhalpern.com", "url": "https://dev.to/ben" }

Mode comments (type: "comment"):

{ "type": "comment", "id": "358ab", "body": "Great write-up, the coercion table is gold.", "author": "someone", "author_name": "Some One", "created_at": "2026-10-30T09:12:44Z", "article_id": 4943245, "url": "https://dev.to/someone/comment/358ab" }

Input

FieldDescription
modearticles (default), search, user, comments
tagsMode articles. Tag names without #; one pass per tag. Empty = front feed.
topMode articles. Top articles of the last N days (7, 30, 365 …). 0 = newest first.
queryMode search. Keyword(s).
usernamesMode user. DEV usernames (ben, @ben). Unknown user → warning in the log, no row.
articleIdsMode comments. Numeric article ids.
includeBodyAdd body_markdown to article rows (one extra request each). Default off.
maxItemsStop after N rows total. Default 100.

Pricing

Pay per item: one event per dataset row (article, comment, or user). Nothing is charged for rows that are never produced.

Notes

  • Public Forem API v1; pages of 100 are fetched until maxItems is reached.
  • Search results are ranked by relevance; top applies to articles mode only.
  • Comment replies are flattened depth-first into one list; deleted comments are omitted by the API.

FAQ

Do I need an API key or account?

No. The Actor calls the public Forem API v1 anonymously. DEV rate-limits anonymous clients, so very large runs take longer; the default of 100 rows finishes in seconds.

How much does it cost?

$0.002 per result and nothing else: with pay-per-event pricing you are not billed for Apify compute. 100 results cost $0.20, and the Apify free plan's $5 monthly credit covers about 2,500 results. Rows that are never produced are never charged.

How do I get the data into Google Sheets / my app?

Every run writes to an Apify dataset you can download as CSV, JSON or Excel, or read from the dataset API endpoint. For ongoing feeds, use Apify integrations (Google Sheets, Slack, Zapier, Make, n8n) or call the Actor from your own code with the Apify API.

It only reads public data via the platform's public API and respects rate limits. You are responsible for complying with DEV Community's terms and applicable law.

Does it return full article text and nested replies?

Article rows include the description by default; set includeBody: true to add body_markdown (one extra request per article). In comments mode, nested replies are flattened depth-first into one list, and comments deleted on DEV are not returned by the API.