BYTETOOLS

DEV Community API

Free DEV.to API with no key for public content: articles, tags, users and comments from the developer community platform. Tested curl example and live JSON.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 19 Aug 2026

What is the DEV Community API?

The DEV Community (dev.to) API is a free API providing public access to articles, tags, users and comments. Reading published articles requires no API key; publishing requires one.

DEV.to's API is refreshingly open for reading: article listings, full content, tags and user profiles are all available unauthenticated. That makes it easy to syndicate your own posts onto a personal site.

For that use case specifically, the `username` filter is the key parameter — request articles by your own username and you have a self-updating blog feed without maintaining a CMS. Articles include both `body_html` and `body_markdown` when requested individually.

Quick facts

Base URL
https://dev.to/api
Authentication
Reading public articles needs no key. Publishing or reading drafts requires an API key in the `api-key` header.
Rate limit
About 3 requests per second for unauthenticated reads.
Pricing
Free.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the DEV Community API

Every request below was executed against the live API on 19 Aug 2026, and the response shown is the real body it returned — not an illustration.

1. Fetch recent published articles

GET https://dev.to/api/articles?per_page=1

curl
curl 'https://dev.to/api/articles?per_page=1'
JavaScript (fetch)
const res = await fetch("https://dev.to/api/articles?per_page=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://dev.to/api/articles?per_page=1", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
[
  {
    "type_of": "article",
    "id": 4390215,
    "title": "It's always Doom https://ood.dev/posts/doom/",
    "description": "...",
    "readable_publish_date": "Aug 13",
    "slug": "its-always-doom-httpsooddevpostsdoom-4fpi",
    "path": "/ben/its-always-doom-httpsooddevpostsdoom-4fpi",
    "url": "https://dev.to/ben/its-always-doom-httpsooddevpostsdoom-4fpi",
    "comments_count": 0,
    "public_reactions_count": 4,
    "collection_id": null,
    "published_timestamp": "2026-08-13T20:04:27Z",
    "language": "en",
    "subforem_id": 1,
    "ai_disclosure_level": "not_disclosed",
    "ai_disclosure_label": "Not Disclosed",
    "positive_reactions_count": 4,
    "cover_image": null,
    "social_image": "https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpkholdt4jp2vza6zzqvu.png",
    "canonical_url": "https://dev.to/ben/its-always-doom-httpsooddevpostsdoom-4fpi",
    "created_at": "2026-08-13T20:04:27Z",
    "edited_at": null,
    "crossposted_at": null,
    "published_at": "2026-08-13T20:04:27Z",
    "last_comment_at": "2026-08-13T20:04:27Z",
    "reading_time_minutes": 1,
    "tag_list": [
      "gamedev",
      "programming",
      "software"
    ],
    "tags": "gamedev, programming, software",
    "user": {
      "name": "Ben Halpern",
      "username": "ben",
      "twitter_username": "bendhalpern",
      "github_username": "benhalpern",
      "user_id": 1,
      "website_url": "http://benhalpern.com",
      "profile_image": "https://media2.de

Parameters

ParameterTypeRequiredDescription
per_pageintegerOptionalResults per page, max 1000. 30
pageintegerOptionalPage number. 2
tagstringOptionalFilter by a single tag. javascript
usernamestringOptionalArticles by a specific user or organisation. ben
topintegerOptionalMost popular articles from the last N days. 7

Response fields

idinteger
Article identifier.
titlestring
Article title.
descriptionstring
Short summary.
url / canonical_urlstring
DEV URL and the author's canonical URL if set.
cover_imagestring
Header image URL, often null.
tag_listarray
Tags applied to the article.
positive_reactions_countinteger
Reaction count — the engagement signal.
userobject
Author name, username and profile image.

What you can build with the DEV Community API

  • Syndicate your DEV articles onto a personal site or portfolio
  • Build a curated developer reading list by tag
  • Monitor popular posts on a technology for a newsletter
  • Analyse which topics get engagement in the developer community

Common errors and how to fix them

Article body missing from the list

List endpoints return metadata only.

Fix: Fetch /articles/{id} for the full body_html and body_markdown.

429

Exceeded roughly 3 requests per second.

Fix: Throttle and cache; article lists change slowly.

401 for drafts

Unpublished articles require authentication.

Fix: Send your DEV API key in the `api-key` header to access drafts.

DEV Community API — frequently asked questions

Is the DEV.to API free?

Yes, reading public articles requires no API key. Publishing or accessing your drafts needs a free API key from your DEV settings.

How do I show my own DEV posts on my website?

Request /api/articles?username=yourname. That returns your published articles as JSON, giving you a self-updating blog feed with no CMS.

How do I get the full article content?

List endpoints return metadata only. Fetch the individual article at /api/articles/{id} to get body_html and body_markdown.

Can I publish to DEV via the API?

Yes, by POSTing to /api/articles with your API key in the `api-key` header. That also supports scheduling and draft creation.

Tools that pair with this API

Alternatives to DEV Community API

If DEV Community does not fit, these social media apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.

APIWhat it doesAuthCORSLast verified
MastodonFree Mastodon API: public timelines, instance metadata, trending hashtags and account data from any Mastodon server with no key for public endpoints. Tested.No keyNo19 Aug 2026
LemmyFree Lemmy API with no key: posts, comments, communities and site data from any federated Lemmy instance. A Reddit-style API without gatekeeping. Tested.No keyNo19 Aug 2026
Bluesky Public APIFree Bluesky public API with no key: profiles, posts, followers and feeds from the AT Protocol network. No authentication for public data. Tested example.No keyYes19 Aug 2026
MicrolinkFree link preview API with no key for basic use: extract title, description, image, author and favicon from any URL. Powers unfurl previews. Tested example.No keyYes19 Aug 2026
Lanyard (Discord Presence)Free Discord presence API with no key: online status, activities, Spotify track and a per-user key-value store, over REST or WebSocket. Tested example included.No keyYes21 Aug 2026
joinmastodon ServersFree Mastodon server directory API with no key: browse vetted fediverse instances with user counts, languages, categories and open registration status. Tested.No keyYes20 Aug 2026
All Social Media APIs

DEV Community is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 19 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.