Request a tool
All toolsGuidesMCP serverRequest a toolPlatformsCategories
DEV.to Scraper icon

DEV.to Scraper

Scrape DEV.to articles by tag, author or sort: title, URL, tags, reactions, comments, reading time, cover image and full body.

58 runs on Apify $0.002 per article ($2 / 1,000)
Run this in the cloudRun on Apify →

Developer & Research Tools

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust tag, username, sortBy (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Pricing

$0.002 per article = $2 per 1,000

You are charged forWhenPrice
Article returnedCharged per article returned.$0.002

Pay-per-event pricing: you are billed per result, not per subscription — a run that returns nothing costs nothing beyond the start fee. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-06-13, and they are what you are actually charged.

Inputs

FieldWhat it doesType
tagOnly return articles with this DEV.to tag (e.g. "javascript", "react", "webdev"). Leave empty to not filter by tag.string
usernameOnly return articles by this DEV.to author username (e.g. "ben"). Leave empty to not filter by author.string
sortByHow to order/select articles. "top" = most reactions in the last N days (see Top days), "latest" = newest first, "rising" = currently rising.string
topDaysWhen Sort by = Top, return the highest-reaction articles published within the last this many days (e.g. 7 = top of the past week, 365 = top of the past year). Ignored for Latest/Rising.integer
includeBodyFetch the full article body (markdown/HTML) for each result via a second API call per article. Slower and makes more requests.boolean
maxItemsMaximum number of articles to return. The actor paginates the API (100 per page) until this many are collected or the results run out.integer
notionConnectorOptional. Write each article as a page into your Notion when the run finishes. Authorize a Notion connector once in Settings → API & Integrations → MCP connectors, then pick it here. Leave empty to skip (default) — results are always saved to the dataset regardless.string
notionParentIdOptional. The Notion data source ID of the database to write into (only used if a Notion connector is set). Leave empty to create the pages privately in your workspace instead.string

What you get

A structured dataset — each result includes fields like:

titleauthortagsreactionscommentsurl

Export every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.

Related tools in Developer & Research Tools

Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.

Wikidata Scraper iconDeveloper & Research Tools

Wikidata Scraper

Resolve names or Q-ids to Wikidata entities for $0.20 per 1,000 plus $0.001 per run. Labels, aliases, instance-of, claims and Wikipedia links.

Ready to run — no setup

Domain Inspector iconDeveloper & Research Tools

Domain Inspector

Bulk-inspect domains: DNS records, RDAP registrar and expiry, redirects, TLS dates, security headers, robots, sitemaps and tech detection.

Ready to run — no setup

GitHub Scraper iconDeveloper & Research Tools

GitHub Scraper

Search GitHub repos or users and export clean rows: stars, forks, language, topics, license, plus user bio, company, location and follower count.

18 use cases

Stack Overflow / Stack Exchange Scraper iconDeveloper & Research Tools

Stack Overflow / Stack Exchange Scraper

Search Stack Overflow and Stack Exchange by keyword or tags. Get structured questions with score, answers, views, tags, author, and link as JSON or CSV.

2 use cases

Package Registry Scraper (npm + PyPI) iconDeveloper & Research Tools

Package Registry Scraper (npm + PyPI)

Get npm and PyPI package metadata - version, license, repo, keywords, and npm download counts. Search by keyword or look up exact names. No API key needed.

2 use cases

arXiv Scraper iconDeveloper & Research Tools

arXiv Scraper

Search arXiv and get clean JSON: titles, abstracts, authors, categories, DOI, dates and PDF links. No API key. Sort by relevance or date; push to Notion.

2 use cases

See all Developer & Research Tools →

DEV.to Article Scraper

Scrape DEV.to articles via the public Forem API — no API key, no login, no anti-bot. Filter by tag or author, choose how results are sorted, and optionally pull the full article body.

What you get per article

id, title, description, url, author, authorUsername, tags, reactions, comments, readingTimeMinutes, coverImage, publishedAt. Turn on Include full body to also get body (markdown/HTML).

Nullable fields: coverImage and publishedAt are null when DEV.to does not supply them. When Include full body is on, body can be null for an article whose full-body fetch fails or is empty; the row is still returned (with ok: true) so you can see which articles were affected.

Input

FieldNotes
tagOnly articles with this tag, e.g. javascript, react, webdev. Optional.
usernameOnly articles by this author, e.g. ben. Optional.
sortBytop (most reactions in the last N days), latest (newest), or rising. Default top.
topDaysWindow for top sorting, e.g. 7 = top of the week, 365 = top of the year. Default 7.
includeBodyFetch the full article body per result (extra API call each). Default off.
maxItemsHow many articles to return. The actor paginates until it has this many. Default 50.

Output

One dataset row per article, each with ok: true. Empty/no-match inputs return a single diagnostic row with ok: false and an errorCode (e.g. NO_RESULTS) — that diagnostic row is not charged, it is just an explanation that the tag/username/sort combination matched no articles.

Pricing

$2.00 per 1,000 articles ($0.002 each), with no run-start fee. Flat rate — no volume tiers, no plan gates — and you are charged once per article row actually returned. Diagnostic rows (ok: false, such as NO_RESULTS, BLOCKED, RATE_LIMITED, NETWORK) are never charged, so empty or failed runs cost you nothing at all.

includeBody is free. Turning it on adds one extra Forem API call per article to fetch the full markdown/HTML body, but the price stays $0.002 per row — a 50-article run with full bodies costs $0.10, the same as one without.

Proxy

No proxy is needed. The Forem API (https://dev.to/api) is a public, no-auth, no-anti-bot endpoint, so the default is no proxy and runs work fine without one. Only enable Apify Proxy if you hit IP-based rate limits on very large runs.

Troubleshooting

If you get a single NO_RESULTS diagnostic row instead of articles, the tag/username/sort combination matched nothing — double-check the spelling of the tag or username (DEV.to tags are lowercase, e.g. javascript not JavaScript), or widen topDays. A RATE_LIMITED or NETWORK row means the API throttled or a transient network error occurred; re-run, or enable Apify Proxy for large runs. None of these diagnostic rows are charged.

Examples

Top JavaScript articles of the last month:

{ "tag": "javascript", "sortBy": "top", "topDays": 30, "maxItems": 50 }

Latest articles from a specific author:

{ "username": "ben", "sortBy": "latest", "maxItems": 30 }

Notes

Built on the documented Forem API (https://dev.to/api). The top window selects the highest-reaction articles published within the last topDays days. latest returns the newest articles; rising returns currently rising posts. Results are deduplicated by article id.