Read an article by slug
Fetch the complete article resource and handle unknown slugs.
Fetch one complete article by its slug. This public operation returns the article body, tags, timestamps, favorite state, favorite count, and author profile without requiring authentication.
GET /articles/{slug}
The slug path parameter is the URL identifier returned when the article was created or updated. The hosted demo endpoint is https://api.realworld.show/api/articles/{slug}.
Returns one complete article. Authentication is not required.
/articles/{slug}Slug of the article to retrieve. Use the exact value returned in the `article.slug` field.
curl --request GET \ --url https://api.realworld.show/api/articles/building-a-conduit-client
{
"article": {
"slug": "building-a-conduit-client",
"title": "Building a Conduit client",
"description": "Patterns for calling the article API",
"body": "Use the documented envelope and inspect the response.",
"tagList": ["api", "javascript"],
"createdAt": "2026-09-25T09:00:00Z",
"updatedAt": "2026-09-25T09:00:00Z",
"favorited": false,
"favoritesCount": 0,
"author": {
"username": "demo-author",
"bio": null,
"image": null,
"following": false
}
}
}Example request
curl --request GET \
--url 'https://api.realworld.show/api/articles/building-a-conduit-client'The server returns HTTP 200 with an article object when the slug identifies an article. Authentication is optional, so do not send a token solely to read a public article. If your application already has a token, the returned favorited value reflects that requesting user’s favorite state.
Article fields
The complete article resource contains these fields:
| Field | Type | Meaning |
|---|---|---|
slug | string | URL identifier for the article. |
title | string | Article title. |
description | string | Short description. |
body | string | Full article content. |
tagList | string array | Tags assigned to the article. |
createdAt | date-time string | Creation timestamp. |
updatedAt | date-time string | Last update timestamp. |
favorited | boolean | Whether the requesting user has favorited it. |
favoritesCount | integer | Number of favorites. |
author | object | Author profile with username, nullable bio, nullable image, and following. |
The response uses the single-resource envelope documented in Response envelopes and resource models. Article list responses may omit body; use this operation when a reader needs the full content.
Handle an unknown slug
Treat HTTP 404 as a missing article rather than as an empty article. The error payload uses the shared errors object; the Hurl conformance suite verifies the article-specific form {"errors":{"article":["not found"]}} for an unknown article. Your client can map this result to a not-found view or remove a stale link.
See Error envelope and HTTP status behavior for the common error model. If the slug came from an update, use the new article.slug returned by that update before reading again.
Next step
To change the resource, follow Update an article. To show many article summaries, use List and filter articles.