DEV.to Articles Scraper
Pricing
from $0.15 / 1,000 article saveds
DEV.to Articles Scraper
Scrape public DEV Community articles by tag, username, or article URL with metadata, engagement metrics, authors, tags, and optional body content.
Pricing
from $0.15 / 1,000 article saveds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
Share
Extract public DEV Community articles by tag, author username, or exact article URL. The actor returns clean article metadata, author details, tags, engagement counts, publish dates, links, images, and optional body Markdown/HTML for content research and automation.
Value proposition
DEV.to Articles Scraper helps developer relations, content, SEO, and research teams turn public DEV Community articles into structured datasets.
What data it exports
Use it to collect articles from tags, authors, or known URLs, then export article metadata, engagement, author profiles, media links, and optional body text.
Why use this actor?
- Track developer topics such as
javascript,webdev,ai,python, anddevops - Monitor authors, advocates, competitors, and community influencers
- Build content calendars, newsletters, SEO research sheets, and RAG/LLM datasets
- Export ready-to-use JSON, CSV, Excel, XML, HTML, or API results from Apify
- No DEV.to login, API key, or browser session is required for public articles
Example input
Start from a verified public Example task when you want a ready-made configuration:
- Scrape the latest JavaScript articles from DEV.to
- Find top DEV.to AI articles from the last 7 days
- Scrape articles by a DEV.to author
- Extract DEV.to article bodies with Markdown and HTML
Output example
{"id": 4110750,"title": "I Got Tired of Maintaining Frontend Code. So I Built a Declarative UI Runtime.","description": "Here is a question that sounds simple until you've actually shipped a UI...","url": "https://dev.to/thuangf45/i-got-tired-of-maintaining-frontend-code-so-i-built-a-declarative-ui-runtime-5dbl","canonicalUrl": "https://dev.to/thuangf45/i-got-tired-of-maintaining-frontend-code-so-i-built-a-declarative-ui-runtime-5dbl","slug": "i-got-tired-of-maintaining-frontend-code-so-i-built-a-declarative-ui-runtime-5dbl","path": "/thuangf45/i-got-tired-of-maintaining-frontend-code-so-i-built-a-declarative-ui-runtime-5dbl","publishedAt": "2026-07-10T06:15:15Z","editedAt": null,"readablePublishDate": "Jul 10","readingTimeMinutes": 16,"language": "en","tags": ["javascript", "webdev", "showdev", "architecture"],"commentsCount": 9,"publicReactionsCount": 28,"positiveReactionsCount": 28,"coverImage": "https://media2.dev.to/.../cover.png","socialImage": "https://media2.dev.to/.../social.png","authorName": "Thuangf45","authorUsername": "thuangf45","authorUserId": 3592872,"authorProfileImage": "https://media2.dev.to/.../profile.png","authorGithubUsername": "thuangf45","authorTwitterUsername": null,"authorWebsiteUrl": "https://thuangf45.github.io/","scrapedAt": "2026-07-10T08:00:00.000Z","inputMode": "tag","sourceTag": "javascript"}
When includeArticleBody is enabled, each row can also include bodyMarkdown and bodyHtml.
Input settings
| Field | Type | Description | Default |
|---|---|---|---|
mode | string | tag, username, or articleUrls | tag |
tags | string[] | DEV tags to scrape, without #; used in tag mode | ["javascript", "webdev"] |
usernames | string[] | DEV usernames to scrape, without @; used in username mode | ["ben"] |
articleUrls | array | Exact public DEV article URLs; used in article URL mode | sample DEV URL |
sort | string | latest or top where supported | latest |
topTimeframeDays | integer | Top-article window: 1, 7, 30, or 365 | 7 |
maxItems | integer | Maximum total articles saved across all sources | 20 |
includeArticleBody | boolean | Add body Markdown/HTML fields by fetching article details | false |
Output fields
The dataset contains one row per public DEV article:
- Article identity:
id,title,description,url,canonicalUrl,slug,path - Dates and language:
publishedAt,editedAt,readablePublishDate,language - Engagement:
commentsCount,publicReactionsCount,positiveReactionsCount,readingTimeMinutes - Tags and media:
tags,tagList,coverImage,socialImage - Author:
authorName,authorUsername,authorUserId,authorProfileImage,authorGithubUsername,authorTwitterUsername,authorWebsiteUrl - Optional body:
bodyMarkdown,bodyHtml - Provenance:
scrapedAt,inputMode,sourceTag,sourceUsername,sourceArticleUrl
Use cases
- Developer relations monitoring: track how often products, frameworks, and languages are discussed.
- Content marketing research: find article ideas, authors, and high-engagement topics.
- Newsletter curation: schedule recurring tag runs and rank results by reactions or comments.
- SEO and competitive intelligence: compare titles, tags, publishing cadence, and engagement.
- LLM/RAG datasets: collect structured public technical writing with optional article body text.
Pricing
This actor uses pay-per-event pricing:
- Start event:
$0.005per run - Article saved: tiered by Apify plan
| Tier | Price per article | Approx. price per 1,000 articles |
|---|---|---|
| Free | $0.00028199 | $0.2820 |
| Bronze | $0.00024521 | $0.2452 |
| Silver | $0.00019126 | $0.1913 |
| Gold | $0.00014712 | $0.1471 |
| Platinum | $0.000098083 | $0.0981 |
| Diamond | $0.000068658 | $0.0687 |
Check the Pricing tab for the live rate once published.
Tips and limits
- Start with a low
maxItemsvalue to validate your input cheaply. - Use
mode: "articleUrls"when you need guaranteed body extraction for a small set of known articles. - DEV may occasionally rate-limit high-volume requests; keep scheduled runs reasonable and retry later if the upstream site is busy.
- The actor only collects public article data. It does not access drafts, private dashboards, notifications, or logged-in features.
API usage
Run the actor from code with the Apify API client.
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/devto-articles-scraper').call({mode: 'tag',tags: ['javascript'],maxItems: 20,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python:
from apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("fetch_cat/devto-articles-scraper").call(run_input={"mode": "tag","tags": ["javascript"],"maxItems": 20,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
cURL:
curl "https://api.apify.com/v2/acts/fetch_cat~devto-articles-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"mode":"tag","tags":["javascript"],"maxItems":20}'
MCP and agent usage
Use this actor from AI agents through Apify MCP:
https://mcp.apify.com?tools=fetch_cat/devto-articles-scraper
Claude CLI:
$claude mcp add apify-devto "https://mcp.apify.com?tools=fetch_cat/devto-articles-scraper"
JSON config:
{"mcpServers": {"apify-devto": {"url": "https://mcp.apify.com?tools=fetch_cat/devto-articles-scraper"}}}
Example prompt:
Scrape the latest 20 DEV.to articles tagged
ai, then summarize the top recurring themes by reactions and comments.
Related actors
- Hacker News Search Scraper - search developer and startup discussions.
- GitHub Repositories Search Scraper - collect repositories by topic and keywords.
- Stack Exchange Questions Scraper - monitor developer questions and tags.
FAQ
Do I need a DEV.to account or API key?
No. The actor collects public article data only.
Can I get full article text?
Yes. Enable includeArticleBody to add bodyMarkdown and bodyHtml when DEV provides body content for the public article.
Can I scrape multiple tags or users at once?
Yes. Add multiple values to tags or usernames; maxItems applies to the whole run.
Can I export to CSV or Excel?
Yes. Open the dataset on Apify and export it as JSON, CSV, Excel, XML, HTML, or via API.
Is it legal to scrape DEV.to?
This actor collects public information. You are responsible for complying with DEV Community terms and applicable laws.
Support
Questions, bugs, or missing fields? Open an issue on the actor's Issues tab in Apify Console and include:
- Run ID or run URL
- Input JSON you used
- Expected output
- Actual output
- A reproducible public URL, DEV tag, or username
Changelog
-
2026-07-15 - Feature: Added ready-to-run example tasks on the Apify Store
-
2026-07-15 - Feature: Launched DEV.to Articles Scraper on Apify Store