Dev.to hub

Dev.to Articles API

The front page, one tag, one user, one series or the most-reacted posts of the last N days.

GET /v1/dev-to/articles

1 credit Failed requests are free

About this endpoint

GET /v1/dev-to/articles returns a page of posts in articles. With no filter it returns the front page, ranked by recent engagement; sort=latest switches to strictly newest first and is accepted only on that unfiltered feed. tag lists one tag, username one user or organization, top the most-reacted posts of the last N days (1 to 3650), state the fresh or rising posts, and seriesId the parts of a series oldest first.

Dev.to applies only one of these filters and ignores the rest, so Social Fetch refuses combinations that would silently drop one. The single exception is tag with top. Every row has id, url, title, tags, reactionsCount, commentsCount, readingTimeMinutes, publishedAt, coverImage and the author. Use page and limit to walk the list, up to 1000 rows per request.

Dev.to Articles API FAQ

Which filters can I combine?

Only tag with top. username, state and seriesId each stand alone, and sort=latest is only for the unfiltered feed. A combination that Dev.to would ignore is refused with a validation message instead of returning unfiltered posts.

How many posts can one page hold?

limit accepts 1 to 1000 and defaults to 30. page accepts 1 to 1000. The page block returns page, hasMore and nextPage so you can follow the list.

How many credits does a page cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth. Each paginated page is a separate billed request.

What does top do?

top=N keeps posts from the last N days and ranks them by reactions. It can be combined with tag. Without top, the unfiltered feed is ranked by recent engagement, not by date.

What happens with an unknown tag or user?

An unknown tag or username returns an empty list, the same as a tag or user with no posts, and is billed as a normal request. Call /v1/dev-to/tag or /v1/dev-to/user first when you need to know whether it exists.