DEV.to Articles Scraper
parseforge/dev-to-articles-scraper
Developer toolsNews & mediaEducation
Scrapes DEV.to articles by tag, top week, latest, or username. Returns each article as a flat row with metadata and optional full body markdown.
- Total users
- 1
- Monthly active
- 0
- Total runs
- 127
- Bookmarked
- 0
- Rating
- Not rated yet
- Last modified
- 12 days ago
Overview
DEV.to Articles Scraper
Scrape DEV.to articles by tag, top week, latest, or username, up to a million per run. Each article comes with its title, URL, reactions, comments, tags, and full body markdown. No API key or login. Export to CSV, JSON, Excel, or XML.
DEV.to's public API is fine for a few posts, but it rate-limits you and returns paginated JSON you have to stitch together. This Actor reads the public article feeds directly, filtered by tag, top time window, latest, or a specific author, and returns each match in one fixed schema. It also fetches the full body markdown when you need the complete text.
| Who uses it | What they scrape DEV.to for |
|---|---|
| Developer advocates | Track which topics and tags are trending in the DEV.to community this week |
| Content marketers | Find high-performing articles by tag to model their own technical content |
| Recruiters | Pull a candidate's DEV.to articles to assess their writing and technical depth |
| Data analysts | Build a dataset of DEV.to posts with reactions and comments for trend analysis |
| Newsletter curators | Collect the top articles of the week for a developer newsletter |
What it does
This Actor collects DEV.to articles by tag, top week, latest, or username, and returns each one as a flat row with metadata and optional full body markdown.
- ๐ท๏ธ Tag filter: choose from 500+ tags like javascript, python, rust, or ai, or leave empty for all tags.
- ๐ Top week mode: get the most reacted-to articles from the last seven days.
- ๐ Latest mode: pull the newest articles as they appear in the feed.
- ๐ค User mode: scrape every article by a specific DEV.to username.
- ๐ Full body markdown: optionally fetch the complete article text, not the preview.
- ๐ข Up to 1,000,000 articles per run: set maxItems to collect as many as you need.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with DEV.to data
๐ Track trending topics.
A developer advocate runs the Actor in top week mode for the ai tag to see which AI articles are getting the most reactions this week.
๐ Build a content dataset.
A data analyst collects 10,000 DEV.to articles with full body markdown to train a text classifier on technical writing.
๐ค Audit an author's work.
A recruiter scrapes all articles by a candidate's username to review their writing style and technical expertise.
๐ฐ Curate a newsletter.
A newsletter curator pulls the top 20 articles of the week across multiple tags to feature in a weekly digest.
๐ Monitor a niche tag.
A product marketer watches the rust tag daily to spot new tutorials and community discussions about their tool.
Why choose this scraper
| What you get | |
|---|---|
| No API key | Reads public DEV.to feeds directly, no registration or OAuth. |
| Fixed schema | Every article returns the same flat fields, ready for analysis. |
| Full body text | Get the complete markdown, not the excerpt. |
| Flexible modes | Filter by tag, top week, latest, or author. |
| Export anywhere | CSV, JSON, Excel, or XML for your pipeline. |
How it compares
No other Store actor targets DEV.to the same way, so the honest comparison is with the alternatives teams actually weigh.
| DEV.to Articles Scraper | Build it in-house | By hand | |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When DEV.to changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |
Configure the run
Drive the Actor from tags, top week, latest, or a username, and set maxItems to control how many articles are collected. The optional full body markdown fetch adds one extra API call per article. The Input tab lists every parameter.
A first run with the defaults:
{
"maxItems": 10,
"mode": "latest",
"username": "ben"
}
A larger pull:
{
"maxItems": 200,
"mode": "latest",
"username": "ben"
}
Pricing
Pay-per-result: $0.01333 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $1.33 |
| 1,000 results | $13.33 |
| 10,000 results | $133.30 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the DEV.to Articles Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to DEV.to through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/dev-to-articles-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check your mode and inputs. For tag mode, make sure the tag slug is spelled correctly. For user mode, verify the username exists and has published articles. Also confirm maxItems is at least 1.
Why is the run slow when I fetch full body markdown?
Fetching full body markdown makes one extra API call per article, which slows down the run. If you only need metadata, uncheck that option to speed things up.
Why did I get fewer articles than maxItems?
The Actor stops when there are no more articles to fetch. For tag mode, the tag may have fewer articles than your maxItems. For top week, only articles from the last seven days are available.
Why are some articles missing the body text?
If 'Fetch full body markdown' is checked, the Actor tries to fetch the body for every article. Occasionally an article may be deleted or restricted, causing a missing body. Those articles are still returned with empty body fields.
Can I get articles from a specific date range?
No, the Actor does not support date filtering. Use latest mode to get recent articles, or top week for the last seven days. For older articles, consider using the DEV.to API directly.
FAQ
| Question | Answer |
|---|---|
| Do I need a DEV.to API key? | No. This Actor reads the public article feeds directly, so no registration or authentication is required. |
| Can I filter by multiple tags at once? | No, the Actor filters by one tag per run. To collect multiple tags, run the Actor once per tag or leave the tag empty to get all articles. |
| What does 'top week' mean? | Top week returns articles ranked by the number of reactions they received in the last seven days, as shown on DEV.to's top page. |
| How do I get the full article text? | Check the 'Fetch full body markdown' option. It makes one extra API call per article to retrieve the complete markdown body. |
| Can I scrape articles by a specific author? | Yes, set mode to 'user' and enter the DEV.to username without the @ symbol. |
| What is the maximum number of articles I can collect? | You can set maxItems up to 1,000,000. The Actor will stop when it reaches that number or when there are no more articles to fetch. |
| Does this Actor scrape comments? | No, it collects article metadata and optionally the full body text. Comments are not included. |
| What export formats are supported? | You can export the results as CSV, JSON, Excel, or XML from the Apify dataset. |
| Is this Actor legal to use? | Yes, it only reads publicly available data from DEV.to. Always respect the site's terms of service and robots.txt. |
| Can I schedule this Actor to run daily? | Yes, you can set up a schedule in Apify to run the Actor at any interval, such as daily or weekly. |
Related actors
Browse the full ParseForge collection for more scrapers.
๐ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
โ ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by DEV Community. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
Input
| Field | Type | What it does | Default |
|---|---|---|---|
| maxItems | integer | How many articles to collect per run. | 10 |
| mode | string (4 options) | latest = recent feed; top = ranked by reactions; tag = filter by tag; user = articles by username. | latest |
| tag | string (668 options) | Dev.to tag slug to filter by (e.g. javascript, python, rust). Empty = ignored. Used only when mode=tag. | not set |
| username | string | DEV.to username (without the @). | ben |
| fetchBody | boolean | If checked, fetches full body markdown per article (1 extra API call per article). | true |
Pricing
from $10.00 per 1,000 results
| Charged for | What it is | Price each |
|---|---|---|
| Result item | Charged per record successfully returned in the dataset. | $0.01 to $0.01333 |
Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.
API
One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.
curl -X POST "https://api.apify.com/v2/acts/parseforge~dev-to-articles-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"helloWorld": 123
}' Examples
Input that runs as-is.
{
"helloWorld": 123
} Reviews
No reviews yet. Be the first.
Issues
We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.
Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.
