Dev.to Scraper: Articles, Comments, Users & Tags avatar

Dev.to Scraper: Articles, Comments, Users & Tags

Pricing

$1.00 / 1,000 result items

Go to Apify Store
Dev.to Scraper: Articles, Comments, Users & Tags

Dev.to Scraper: Articles, Comments, Users & Tags

Scrape dev.to (Forem) via the official public REST API. Articles by tag/user/latest/top, comments, user profiles, tags, podcasts, videos, listings. No browser, no proxies, no auth. Pay only per result item.

Pricing

$1.00 / 1,000 result items

Rating

0.0

(0)

Developer

Perconey

Perconey

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

What does Dev.to Scraper do?

Dev.to Scraper pulls structured data from dev.to via the official Forem REST API. Articles (with full markdown bodies), nested comment threads, user profiles with badges and follower counts, the global tag taxonomy, video posts, podcast episodes, and the classifieds (jobs, courses, events). The actor calls the documented public API directly - no browser, no proxies, no cookies, no anti-bot fight. dev.to is one of the largest developer-focused publishing platforms; this actor exposes its content as clean JSON.

Try it instantly: pick getArticles, leave everything default, click Start. You get the 30 newest articles on dev.to (title, description, tags, reactions, comment counts, author) in under 3 seconds for $0.03.

Why use Dev.to Scraper?

  • Content marketers: Track trending topics in your tech niche. Schedule daily getArticles with a tag filter (e.g. tag=rust) to know what's resonating with developers right now.
  • DevRel teams: Monitor mentions of your product across dev.to. Pull every article tagged with your stack and use comments as a free customer-feedback channel.
  • Recruiters: getUserProfile returns a developer's badges, GitHub username, location, and post count. Combined with getUserArticles you can quickly judge depth of expertise.
  • Trend analysts: getTags gives you the global taxonomy with article counts. Compute month-over-month changes to see which technologies are climbing.
  • Conference / podcast scouts: getPodcastEpisodes and getVideos surface developer-creator content beyond text articles.
  • Job-board aggregators: getListings returns the classifieds (job ads, course launches, events) for downstream filtering.

How to use Dev.to Scraper

  1. Open the Input tab.
  2. Pick an action from the dropdown. getArticles is the simplest starting point.
  3. (Optional) for getArticles set a tag filter (e.g. rust, webdev, javascript) or a topDays value (e.g. 7 for top of the week).
  4. For article-detail / article-comments / user actions, paste an article id or username in queries.
  5. Tune maxItems (default 30).
  6. Click Start.

Query format by action

ActionQuery format
getArticlesleave empty (use tag / topDays / state filters)
getArticleDetailnumeric article id (e.g. 1234567)
getArticleCommentsnumeric article id
getUserProfileusername (e.g. ben)
getUserArticlesusername
getTagsleave empty
getVideosleave empty
getPodcastEpisodesleave empty
getListingsleave empty

Input

FieldRequiredDescription
actionyesWhich API call to make. Nine options.
queriessometimesRequired for article-detail / comments / user actions. Empty otherwise.
maxItemsnoMax items per query. Default 30.
tagnogetArticles only. Tag name to filter (e.g. rust).
topDaysnogetArticles only. Top articles from last N days (e.g. 7).
statenogetArticles only. all (default), fresh, or rising.
apiKeynoForem API key. Not required - all 9 read endpoints work anonymously today.

Output

Every item carries _type (article / comment / user / tag / video / podcast_episode / listing / error) plus _action for filtering.

{
"_type": "article",
"_action": "getArticles",
"id": 9876543,
"title": "Why Rust 1.85 Is My Favorite Release",
"description": "The 2024 edition went stable. Here is what changed in practice.",
"url": "https://dev.to/rustacean/why-rust-1-85-is-my-favorite-release-1abc",
"tag_list": ["rust", "webdev", "programming"],
"published_at": "2026-05-12T10:30:00Z",
"reading_time_minutes": 6,
"public_reactions_count": 542,
"comments_count": 89,
"cover_image": "https://...",
"user": {
"name": "Rustacean",
"username": "rustacean",
"github_username": "rustacean",
"profile_image": "https://..."
},
"organization": null
}

You can download the dataset in JSON, CSV, XML, Excel, RSS or HTML format from the Output tab.

Data fields

TypeKey fields
articleid, title, description, body_markdown (detail only), body_html (detail only), url, slug, canonical_url, cover_image, tag_list, published_at, reading_time_minutes, public_reactions_count, comments_count, user, organization
commentid_code, body_html, created_at, user, children (count)
userid, username, name, summary, twitter_username, github_username, website_url, location, joined_at, profile_image, badge_ids, followers_count, following_count, post_count
tagid, name, bg_color_hex, text_color_hex
videoinherits article shape + video_url, video_source_url, video_duration_in_minutes
podcast_episodeid, title, slug, path, image_url, podcast (channel info)
listingid, title, slug, body_markdown, tag_list, category, processed_html, author, organization

Pricing

Pay-per-result: $0.001 per item. No flat monthly fee.

Cost examples:

  • Daily newest 30 articles: $0.03
  • 1,000 articles tagged javascript for content research: $1.00
  • 100 user profiles + their recent articles (~3000 items): $3.00
  • All 500 active tags: $0.50

Tips

  • getArticles + topDays = trend dashboard. Set topDays=7 once a week and you get the top of the week reliably. The dev.to feed defaults to chronological - you have to opt into top sorting.
  • getArticles vs getArticleDetail. Feed endpoints return article metadata WITHOUT body_markdown (lighter payload). Use getArticleDetail to fetch the full content when you actually need it.
  • Comments are flat-list with parent_id in the response. The actor preserves Forem's depth-first traversal order in the dataset.
  • Articles can be syndicated. Watch canonical_url - if it differs from url, the author cross-posted the content from elsewhere (their personal blog, Medium, etc).
  • Forem powers more than dev.to: forem.dev and several enterprise instances run the same software. This actor is hardcoded to dev.to today but the API surface is identical.

FAQ, disclaimers, support

Is this legal? The actor calls dev.to's official public REST API with documented endpoints. Public read access is the design intent of the open-source Forem software. We send a clear User-Agent identifying the actor and honor rate-limit / Retry-After headers.

Does it need an API key? No. As of 2026-05, all read endpoints we wrap (articles, comments, users, tags, videos, podcasts, listings) work anonymously. The apiKey input is there as a forward-compatible knob in case Forem tightens limits.

Will I get rate-limited? dev.to's per-IP rate limits are generous for read-only traffic and the actor retries on 429 with exponential backoff. For very heavy scraping consider supplying your own API key (10K req/day).

Why is comment threading flat? The Forem comments API v1 returns a tree, but it does not expose parent_id directly on each comment. The actor depth-first flattens the tree preserving order; if you need exact parent pointers, file an issue and we will add parent_code.

Bug or feature request? Open an Issue on the actor's Issues tab. I usually respond within a day.

Need a scraper for Hacker News, Stack Overflow, Mastodon, Lemmy? See my other actors at https://apify.com/perconey, or open an Issue for the platform you need.