Dev.to API

Beginner's Pick Personality / API Key Intermediate HTTPS
87 A
Measured Score 0 50 100 Speed 29/30 Consistency 17/20 Security 18/20 Browser access 15/15 Transparency 8/15 TESTED 2026-08-10

Overview

The Dev.to (Forem) API lets you read and interact with articles, comments, tags, and user profiles from the Dev.to developer community. You can fetch published articles, search by tag, or post content programmatically. An API key is required for write operations but many read endpoints are open.

Beginner Tip

You can list public articles without an API key using GET /api/articles. When you need your key, generate one under Settings > Account on Dev.to and pass it as the api-key header.

Measurement Record

What actually happened when we called this API from our own infrastructure. Every value below was recorded by the request, not copied from the provider's documentation.

Request
GET https://dev.to/api/articles?per_page=5&tag=javascript
Result
HTTP 200 · application/json · 10,772 bytes · compressed
Response time
31 ms (median of 3) · fastest 29 ms
Transport
TLSv1.2 · ECDHE-RSA-AES128-GCM-SHA256 · certificate issued by GlobalSign nv-sa
Browser CORS
Allowed — Access-Control-Allow-Origin: *
Served by
Heroku
Recorded
2026-08-10

Fields Returned

Top-level fields present in the response we captured, with the type and value we actually received.

Field Type Value received
type_of string article
id integer 4361820
title string I Built a ₹15 Landing Page About Mumbai's Sou…
description string A scroll-driven cinematic page about vada pav…
readable_publish_date string Aug 10
slug string i-built-a-15-landing-page-about-mumbais-soul-…
path string /sarvar_04/i-built-a-15-landing-page-about-mu…
url string (url) https://dev.to/sarvar_04/i-built-a-15-landing…
comments_count integer 2
public_reactions_count integer 14
collection_id null null
published_timestamp string (date) 2026-08-10T14:50:38Z
language string en
subforem_id integer 1

Captured Response

Captured from a real request to https://dev.to/api/articles?per_page=5&tag=javascript on 2026-08-10. Long arrays and nested objects are truncated to keep the shape readable.

JSON Response · Captured
[
  {
    "type_of": "article",
    "id": 4361820,
    "title": "I Built a ₹15 Landing Page About Mumbai's Soul Food",
    "description": "A scroll-driven cinematic page about vada pav. No framework, no build step. Just HTML, CSS, and a story worth telling. Dev.to Frontend Challenge submission.",
    "readable_publish_date": "Aug 10",
    "slug": "i-built-a-15-landing-page-about-mumbais-soul-food-1l78",
    "path": "/sarvar_04/i-built-a-15-landing-page-about-mumbais-soul-food-1l78",
    "url": "https://dev.to/sarvar_04/i-built-a-15-landing-page-about-mumbais-soul-food-1l78",
    "comments_count": 2,
    "public_reactions_count": 14,
    "collection_id": null,
    "published_timestamp": "2026-08-10T14:50:38Z",
    "language": "en",
    "subforem_id": 1,
    "…": "(13 more fields)"
  }
]

Field Reference

id Unique identifier for the article.
title The article title as displayed on Dev.to.
url Full URL to the article on Dev.to.

Implementation Example

Calls a real endpoint of this API. Replace any placeholder credentials with your own key.

Request
const url = "https://dev.to/api/articles?per_page=5&tag=javascript";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
  headers: {
  "X-API-Key": "YOUR_API_KEY"
  }
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

How This API Fails

We deliberately sent this API a broken request and recorded exactly what came back on 2026-08-10. Knowing the shape of an error before you hit it makes error handling much easier to write.

HTTP 404 Requesting a path that does not exist application/json
{
  "error": "not found",
  "status": 404
}

Common Errors & Troubleshooting

Generated guidance based on this API's documentation, not observed by us. Treat it as a starting point and check against the provider's own error reference.

401 Unauthorized The api-key header is missing or the key is incorrect.
Generate your API key at dev.to/settings/account and include the header: api-key: YOUR_API_KEY.
422 Unprocessable Entity on POST Required fields in the article body (like title or body_markdown) are missing or malformed.
Ensure your request body includes "title", "body_markdown", and "published" fields in valid JSON.
Rate limit exceeded (429) Too many requests in a short time window.
Slow down your requests; Dev.to allows approximately 10 requests/second for authenticated users.

Measured Score Breakdown

Live HTTP request to the API endpoint

Speed 29/30
Consistency 17/20
Security 18/20
Browser access 15/15
Transparency 8/15
Endpoint Response Time 31ms

Fully tested on Aug 10, 2026

Technical Specifications

Auth API Key
HTTPS REQUIRED
CORS UNKNOWN
Category Personality
Difficulty Intermediate
Endpoint last called: 2026-08-10

Related Tags

Similar APIs

View All →