Sitelet https://web.archive.org/web/20210211001137/https://docs.dev.to/api/

DEV API (beta) (0.9.5)

Download OpenAPI specification:Download

Access Forem articles, users and other resources via API.

For a real-world example of Forem in action, check out DEV.

All endpoints that don't require authentication are CORS enabled.

Dates and date times, unless otherwise specified, must be in the RFC 3339 format.

Authentication

api_key

API Key authentication.

Authentication for some endpoints, like write operations on the Articles API require a DEV API key.

Getting an API key

To obtain one, please follow these steps:

  • visit https://dev.to/settings/account

  • in the "DEV API Keys" section create a new key by adding a description and clicking on "Generate API Key"

    obtain a DEV API Key

  • You'll see the newly generated key in the same view generated DEV API Key

Security Scheme Type API Key
Header parameter name: api-key

oauth2

OAuth2 authentication.

OAuth2 authentication is still in private alpha.

Security Scheme Type OAuth2
authorizationCode OAuth Flow
Authorization URL: https://dev.to/oauth/authorize
Token URL: https://dev.to/oauth/token
Refresh URL: https://dev.to/oauth/token
Scopes:
    clientCredentials OAuth Flow
    Token URL: https://dev.to/oauth/token
    Refresh URL: https://dev.to/oauth/token
    Scopes:

      admin-configuration

      Site-wide configuration set by admins (requires super admin authorization)

      Admin config

      This endpoint returns the "site config" as set by admin.

      Authorizations:

      Responses

      Request samples

      curl -H "api-key: API_KEY" https://dev.to/api/admin/config
      

      Response samples

      Content type
      application/json
      { }

      Update Site-wide Config

      This endpoint allows admins to declare values or update values for "site config".

      Authorizations:
      Request Body schema: application/json

      Config up upsert

      site_config
      object

      Responses

      Request samples

      Content type
      application/json
      {
      • "site_config": { }
      }

      Response samples

      Content type
      application/json
      {
      • "error": "bad request",
      • "status": 400
      }

      articles

      Articles are all the posts users create on DEV

      Published articles

      This endpoint allows the client to retrieve a list of articles.

      "Articles" are all the posts that users create on DEV that typically show up in the feed. They can be a blog post, a discussion question, a help thread etc. but is referred to as article within the code.

      By default it will return featured, published articles ordered by descending popularity.

      It supports pagination, each page will contain 30 articles by default.

      query Parameters
      page
      integer <int32> >= 1
      Default: 1

      Pagination page.

      per_page
      integer <int32> [ 1 .. 1000 ]
      Default: 30

      Page size (the number of items to return per page).

      tag
      string
      Example: tag=discuss

      Using this parameter will retrieve articles that contain the requested tag.

      Articles will be ordered by descending popularity.

      This parameter can be used in conjuction with top.

      tags
      string
      Example: tags=javascript, css

      Using this parameter will retrieve articles with any of the comma-separated tags.

      Articles will be ordered by descending popularity.

      tags_exclude
      string
      Example: tags_exclude=node, java

      Using this parameter will retrieve articles that do not contain any of comma-separated tags.

      Articles will be ordered by descending popularity.

      username
      string
      Example: username=ben

      Using this parameter will retrieve articles belonging to a User or Organization ordered by descending publication date.

      If state=all the number of items returned will be 1000 instead of the default 30.

      This parameter can be used in conjuction with state.

      state
      string
      Enum: "fresh" "rising" "all"
      Example: state=fresh

      Using this parameter will allow the client to check which articles are fresh or rising.

      If state=fresh the server will return fresh articles. If state=rising the server will return rising articles.

      This param can be used in conjuction with username, only if set to all.

      top
      integer <int32> >= 1
      Example: top=2

      Using this parameter will allow the client to return the most popular articles in the last N days.

      top indicates the number of days since publication of the articles returned.

      This param can be used in conjuction with tag.

      collection_id
      integer <int32>
      Example: collection_id=99

      Adding this will allow the client to return the list of articles belonging to the requested collection, ordered by ascending publication date.

      Responses

      Request samples

      curl https://dev.to/api/articles
      

      Response samples

      Content type
      application/json
      []

      Create a new article

      This endpoint allows the client to create a new article.

      "Articles" are all the posts that users create on DEV that typically show up in the feed. They can be a blog post, a discussion question, a help thread etc. but is referred to as article within the code.

      Rate limiting

      There is a limit of 10 requests per 30 seconds.

      Additional resources

      Authorizations:
      Request Body schema: application/json

      Article to create

      object

      Responses

      Request samples

      Content type
      application/json
      Example
      {
      • "article": {
        • "title": "Hello, World!",
        • "published": true,
        • "body_markdown": "Hello DEV, this is my first post",
        • "tags": [
          • "discuss",
          • "help"
          ],
        • "series": "Hello series",
        }
      }

      Response samples

      Content type
      application/json
      {}

      A published article by ID

      This endpoint allows the client to retrieve a single published article given its id.

      path Parameters
      id
      required
      integer <int32> >= 1
      Example: 150589

      Id of the article

      Responses

      Request samples

      curl https://dev.to/api/articles/150589
      

      Response samples

      Content type
      application/json
      {}

      Update an article

      This endpoint allows the client to update an existing article.

      "Articles" are all the posts that users create on DEV that typically show up in the feed. They can be a blog post, a discussion question, a help thread etc. but is referred to as article within the code.

      Rate limiting

      There is a limit of 30 requests per 30 seconds.

      Additional resources

      Authorizations:
      path Parameters
      id
      required
      integer <int32> >= 1
      Example: 150589

      Id of the article

      Request Body schema: application/json

      Article params for the update.

      Note: if the article contains a front matter in its body, its front matter properties will still take precedence over any JSON equivalent params, which means that the full body_markdown with the modified front matter params needs to be provided for an update to be successful

      object

      Responses

      Request samples

      Content type
      application/json
      Example
      {
      • "article": {
        • "title": "Hello, World!",
        • "published": true,
        • "body_markdown": "Hello DEV, this is my first post",
        • "tags": [
          • "discuss",
          • "help"
          ],
        • "series": "Hello series",
        }
      }

      Response samples

      Content type
      application/json
      {}

      A published article by path

      This endpoint allows the client to retrieve a single published article given its path.

      path Parameters
      username
      required
      string
      Example: devteam

      User or organization username.

      slug
      required
      string
      Example: for-empowering-community-2k6h

      Slug of the article.

      Responses

      Request samples

      curl https://dev.to/api/articles/bytesized/byte-sized-episode-2-the-creation-of-graph-theory-34g1
      

      Response samples

      Content type
      application/json
      {}

      User's articles

      This endpoint allows the client to retrieve a list of published articles on behalf of an authenticated user.

      "Articles" are all the posts that users create on DEV that typically show up in the feed. They can be a blog post, a discussion question, a help thread etc. but is referred to as article within the code.

      Published articles will be in reverse chronological publication order.

      It will return published articles with pagination. By default a page will contain 30 articles.

      Authorizations:
      query Parameters
      page
      integer <int32> >= 1
      Default: 1

      Pagination page.

      per_page
      integer <int32> [ 1 .. 1000 ]
      Default: 30

      Page size (the number of items to return per page).

      Responses

      Request samples

      curl -H "api-key: API_KEY" https://dev.to/api/articles/me
      

      Response samples

      Content type
      application/json
      [
      • {
        • "type_of": "string",
        • "id": 0,
        • "title": "string",
        • "description": "string",
        • "cover_image": "string",
        • "published": true,
        • "published_at": "2019-08-24T14:15:22Z",
        • "tag_list": [
          • "string"
          ],
        • "slug": "string",
        • "path": "string",
        • "url": "string",
        • "canonical_url": "string",
        • "comments_count": 0,
        • "positive_reactions_count": 0,
        • "public_reactions_count": 0,
        • "page_views_count": 0,
        • "published_timestamp": "2019-08-24T14:15:22Z",
        • "body_markdown": "string",
        • "user": {
          • "name": "string",
          • "username": "string",
          • "twitter_username": "string",
          • "github_username": "string",
          • "website_url": "string",
          • "profile_image": "string",
          • "profile_image_90": "string"
          },
        • "organization": {
          • "name": "string",
          • "username": "string",
          • "slug": "string",
          • "profile_image": "string",
          • "profile_image_90": "string"
          },
        • "flare_tag": {
          • "name": "string",
          • "bg_color_hex": "string",
          • "text_color_hex": "string"
          }
        }
      ]

      User's published articles

      This endpoint allows the client to retrieve a list of published articles on behalf of an authenticated user.

      "Articles" are all the posts that users create on DEV that typically show up in the feed. They can be a blog post, a discussion question, a help thread etc. but is referred to as article within the code.

      Published articles will be in reverse chronological publication order.

      It will return published articles with pagination. By default a page will contain 30 articles.

      Authorizations:
      query Parameters
      page
      integer <int32> >= 1
      Default: 1

      Pagination page.

      per_page
      integer <int32> [ 1 .. 1000 ]
      Default: 30

      Page size (the number of items to return per page).

      Responses

      Request samples

      curl -H "api-key: API_KEY" https://dev.to/api/articles/me/published
      

      Response samples

      Content type
      application/json
      [
      • {
        • "type_of": "string",
        • "id": 0,
        • "title": "string",
        • "description": "string",
        • "cover_image": "string",
        • "published": true,
        • "published_at": "2019-08-24T14:15:22Z",
        • "tag_list": [
          • "string"
          ],
        • "slug": "string",
        • "path": "string",
        • "url": "string",
        • "canonical_url": "string",
        • "comments_count": 0,
        • "positive_reactions_count": 0,
        • "public_reactions_count": 0,
        • "page_views_count": 0,
        • "published_timestamp": "2019-08-24T14:15:22Z",
        • "body_markdown": "string",
        • "user": {
          • "name": "string",
          • "username": "string",
          • "twitter_username": "string",
          • "github_username": "string",
          • "website_url": "string",
          • "profile_image": "string",
          • "profile_image_90": "string"
          },
        • "organization": {
          • "name": "string",
          • "username": "string",
          • "slug": "string",
          • "profile_image": "string",
          • "profile_image_90": "string"
          },
        • "flare_tag": {
          • "name": "string",
          • "bg_color_hex": "string",
          • "text_color_hex": "string"
          }
        }
      ]

      User's unpublished articles

      This endpoint allows the client to retrieve a list of unpublished articles on behalf of an authenticated user.

      "Articles" are all the posts that users create on DEV that typically show up in the feed. They can be a blog post, a discussion question, a help thread etc. but is referred to as article within the code.

      Unpublished articles will be in reverse chronological creation order.

      It will return unpublished articles with pagination. By default a page will contain 30 articles.

      Authorizations:
      query Parameters
      page
      integer <int32> >= 1
      Default: 1

      Pagination page.

      per_page
      integer <int32> [ 1 .. 1000 ]
      Default: 30

      Page size (the number of items to return per page).

      Responses

      Request samples

      curl -H "api-key: API_KEY" https://dev.to/api/articles/me/unpublished
      

      Response samples

      Content type
      application/json
      [
      • {
        • "type_of": "string",
        • "id": 0,
        • "title": "string",
        • "description": "string",
        • "cover_image": "string",
        • "published": true,
        • "published_at": "2019-08-24T14:15:22Z",
        • "tag_list": [
          • "string"
          ],
        • "slug": "string",
        • "path": "string",
        • "url": "string",
        • "canonical_url": "string",
        • "comments_count": 0,
        • "positive_reactions_count": 0,
        • "public_reactions_count": 0,
        • "page_views_count": 0,
        • "published_timestamp": "2019-08-24T14:15:22Z",
        • "body_markdown": "string",
        • "user": {
          • "name": "string",
          • "username": "string",
          • "twitter_username": "string",
          • "github_username": "string",
          • "website_url": "string",
          • "profile_image": "string",
          • "profile_image_90": "string"
          },
        • "organization": {
          • "name": "string",
          • "username": "string",
          • "slug": "string",
          • "profile_image": "string",
          • "profile_image_90": "string"
          },
        • "flare_tag": {
          • "name": "string",
          • "bg_color_hex": "string",
          • "text_color_hex": "string"
          }
        }
      ]

      User's all articles

      This endpoint allows the client to retrieve a list of all articles on behalf of an authenticated user.

      "Articles" are all the posts that users create on DEV that typically show up in the feed. They can be a blog post, a discussion question, a help thread etc. but is referred to as article within the code.

      It will return both published and unpublished articles with pagination.

      Unpublished articles will be at the top of the list in reverse chronological creation order. Published articles will follow in reverse chronological publication order.

      By default a page will contain 30 articles.

      Authorizations:
      query Parameters
      page
      integer <int32> >= 1
      Default: 1

      Pagination page.

      per_page
      integer <int32> [ 1 .. 1000 ]
      Default: 30

      Page size (the number of items to return per page).

      Responses

      Request samples

      curl -H "api-key: API_KEY" https://dev.to/api/articles/me/all
      

      Response samples

      Content type
      application/json
      [
      • {
        • "type_of": "string",
        • "id": 0,
        • "title": "string",
        • "description": "string",
        • "cover_image": "string",
        • "published": true,
        • "published_at": "2019-08-24T14:15:22Z",
        • "tag_list": [
          • "string"
          ],
        • "slug": "string",
        • "path": "string",
        • "url": "string",
        • "canonical_url": "string",
        • "comments_count": 0,
        • "positive_reactions_count": 0,
        • "public_reactions_count": 0,
        • "page_views_count": 0,
        • "published_timestamp": "2019-08-24T14:15:22Z",
        • "body_markdown": "string",
        • "user": {
          • "name": "string",
          • "username": "string",
          • "twitter_username": "string",
          • "github_username": "string",
          • "website_url": "string",
          • "profile_image": "string",
          • "profile_image_90": "string"
          },
        • "organization": {
          • "name": "string",
          • "username": "string",
          • "slug": "string",
          • "profile_image": "string",
          • "profile_image_90": "string"
          },
        • "flare_tag": {
          • "name": "string",
          • "bg_color_hex": "string",
          • "text_color_hex": "string"
          }
        }
      ]

      Articles with a video

      This endpoint allows the client to retrieve a list of articles that are uploaded with a video.

      It will only return published video articles ordered by descending popularity.

      It supports pagination, each page will contain 24 articles by default.

      query Parameters
      page
      integer <int32> >= 1
      Default: 1

      Pagination page.

      per_page
      integer <int32> [ 1 .. 1000 ]
      Default: 24

      Page size (the number of items to return per page).

      Responses

      Request samples

      curl https://dev.to/api/videos
      

      Response samples

      Content type
      application/json
      []

      comments

      Users can leave comments to articles and podcasts episodes

      Comments

      This endpoint allows the client to retrieve all comments belonging to an article or podcast episode as threaded conversations.

      It will return the all top level comments with their nested comments as threads. See the format specification for further details.

      query Parameters
      a_id
      integer <int32> >= 1
      Example: a_id=270180

      Article identifier.

      p_id
      integer <int32> >= 1
      Example: p_id=124

      Podcast Episode identifier.

      Responses

      Request samples

      curl https://dev.to/api/comments?a_id=270180
      

      Response samples

      Content type
      application/json
      Example
      []

      Comment

      This endpoint allows the client to retrieve a comment as well as his descendants comments.

      It will return the required comment (the root) with its nested descendants as a thread.

      See the format specification for further details.

      path Parameters
      id
      required
      string
      Example: m35m

      Comment identifier.

      Responses

      Request samples

      curl https://dev.to/api/comments/m51e
      

      Response samples

      Content type
      application/json
      Example
      {
      • "type_of": "comment",
      • "id_code": "m357",
      • "created_at": "2020-08-02T17:19:40.000Z",
      • "body_html": "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"http://www.w3.org/TR/REC-html40/loose.dtd\">\n<html><body>\n<p>...</p>\n\n<p>...</p>\n\n</body></html>\n",
      • "user": {},
      • "children": [
        • {
          • "type_of": "comment",
          • "id_code": "m35m",
          • "created_at": "2020-07-02T17:19:40.000Z",
          • "body_html": "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"http://www.w3.org/TR/REC-html40/loose.dtd\">\n<html><body>\n\n<p>...</p>\n\n</body></html>\n",
          • "user": {},
          • "children": [ ]
          }
        ]
      }

      follows

      Resources are user can follow

      Followed tags

      This endpoint allows the client to retrieve a list of the tags they follow.

      Authorizations:

      Responses

      Request samples

      curl -H "api-key: API_KEY" https://dev.to/api/follows/tags
      

      Response samples

      Content type
      application/json
      [
      • {
        • "id": 13,
        • "name": "discuss",
        • "points": 3
        },
      • {
        • "id": 12,
        • "name": "webdev",
        • "points": 1
        }
      ]

      followers

      Users can follow other users on the website

      Followers

      This endpoint allows the client to retrieve a list of the followers they have.

      "Followers" are users that are following other users on the website.

      It supports pagination, each page will contain 80 followers by default.

      Authorizations:
      query Parameters
      page
      integer <int32> >= 1
      Default: 1

      Pagination page.

      per_page
      integer <int32> [ 1 .. 1000 ]
      Default: 80

      Page size (the number of items to return per page).

      Responses

      Request samples

      curl -H "api-key: API_KEY" https://dev.to/api/followers/users
      

      Response samples

      Content type
      application/json
      [
      • {
        • "type_of": "user_follower",
        • "id": 12,
        • "name": "Mrs. Neda Morissette",
        • "path": "/nedamrsmorissette",
        • "username": "nedamrsmorissette",
        },
      • {
        • "type_of": "user_follower",
        • "id": 11,
        • "name": "Yoko Hintz",
        • "path": "/yokohintz",
        • "username": "yokohintz",
        }
      ]

      listings

      Listings are classified ads

      Published listings

      This endpoint allows the client to retrieve a list of listings.

      "Listings" are classified ads that users create on DEV. They can be related to conference announcements, job offers, mentorships, upcoming events and more.

      By default it will return published listings ordered by descending freshness.

      It supports pagination, each page will contain 30 articles by default.

      query Parameters
      page
      integer <int32> >= 1
      Default: 1

      Pagination page.

      per_page
      integer <int32> [ 1 .. 1000 ]
      Default: 30

      Page size (the number of items to return per page).

      category
      string
      Example: category=cfp

      Using this parameter will return listings belonging to the requested category.

      Responses

      Request samples

      curl https://dev.to/api/listings
      

      Response samples

      Content type
      application/json
      []

      Create a new listing

      This endpoint allows the client to create a new listing.

      "Listings" are classified ads that users create on DEV. They can be related to conference announcements, job offers, mentorships, upcoming events and more.

      The user creating the listing or the organization on which behalf the user is creating for need to have enough creadits for this operation to be successful. The server will prioritize the organization's credits over the user's credits.

      Additional resources

      Authorizations:
      Request Body schema: application/json

      Listing to create

      object

      Responses

      Request samples

      Content type
      application/json
      Example
      {
      • "listing": {
        • "title": "ACME Conference",
        • "body_markdown": "Awesome conference",
        • "category": "cfp",
        • "tags": [
          • "events"
          ]
        }
      }

      Response samples

      Content type
      application/json
      {}

      Published listings by category

      This endpoint allows the client to retrieve a list of listings belonging to the specified category.

      "Listings" are classified ads that users create on DEV. They can be related to conference announcements, job offers, mentorships, upcoming events and more.

      By default it will return published listings ordered by descending freshness.

      It supports pagination, each page will contain 30 articles by default.

      path Parameters
      category
      required
      string (ListingCategory)
      Enum: "cfp" "forhire" "collabs" "education" "jobs" "mentors" "products" "mentees" "forsale" "events" "misc"

      The category of the listing

      query Parameters
      page
      integer <int32> >= 1
      Default: 1

      Pagination page.

      per_page
      integer <int32> [ 1 .. 1000 ]
      Default: 30

      Page size (the number of items to return per page).

      Responses

      Request samples

      curl https://dev.to/api/listings/category/cfp
      

      Response samples

      Content type
      application/json
      []

      A listing

      This endpoint allows the client to retrieve a single listing given its id.

      An unpublished listing is only accessible if authentication is supplied and it belongs to the authenticated user.

      Authorizations:
      path Parameters
      id
      required
      integer <int64> >= 1
      Example: 1

      Id of the listing

      Responses

      Request samples

      curl https://dev.to/api/listings/1184
      

      Response samples

      Content type
      application/json
      {}

      Update a listing

      This endpoint allows the client to update an existing listing.

      Authorizations:
      path Parameters
      id
      required
      integer <int64> >= 1
      Example: 1

      Id of the listing

      Request Body schema: application/json

      Listing params for the update.

      Note: except for bumping, publishing and unpublishing there are the following restrictions on the ability to update listings:

      • the payload has to contain at least one param among title, body_markdown or tags/tag_list
      • the listing can't be updated if it has not been bumped in the last 24 hours
      • the listing can't be updated if it has been published but not recently bumped
      object

      Responses

      Request samples

      Content type
      application/json
      Example
      {
      • "listing": {
        • "action": "bump"
        }
      }

      Response samples

      Content type
      application/json
      {}

      organizations

      Users can create and join organizations

      An organization

      This endpoint allows the client to retrieve a single organization by their username

      path Parameters
      username
      required
      string
      Example: ecorp

      Username of the organization

      Responses

      Request samples

      curl https://dev.to/api/organizations/ecorp
      

      Response samples

      Content type
      application/json
      {
      • "type_of": "organization",
      • "username": "ecorp",
      • "name": "E Corp",
      • "summary": "Together we can change the world, with E Corp",
      • "twitter_username": "ecorp",
      • "github_username": "ecorp",
      • "location": "New York",
      • "joined_at": "2019-10-24T13:41:29Z",
      • "tech_stack": "Ruby",
      • "tag_line": null,
      • "story": null,
      }

      Organization's users

      This endpoint allows the client to retrieve a list of users belonging to the organization

      It supports pagination, each page will contain 30 users by default.

      path Parameters
      username
      required
      string
      Example: ecorp

      Username of the organization

      query Parameters
      page
      integer <int32> >= 1
      Default: 1

      Pagination page.

      per_page
      integer <int32> [ 1 .. 1000 ]
      Default: 30

      Page size (the number of items to return per page).

      Responses

      Request samples

      curl https://dev.to/api/organizations/ecorp/users
      

      Response samples

      Content type
      application/json
      [
      • {
        • "type_of": "user",
        • "id": 1234,
        • "username": "bob",
        • "name": "bob",
        • "summary": "Hello, world",
        • "twitter_username": "bob",
        • "github_username": "bob",
        • "website_url": null,
        • "location": "New York",
        • "joined_at": "Jan 1, 2017",
        }
      ]

      Organization's listings

      This endpoint allows the client to retrieve a list of listings belonging to the organization

      It supports pagination, each page will contain 30 listing by default.

      path Parameters
      username
      required
      string
      Example: ecorp

      Username of the organization

      query Parameters
      page
      integer <int32> >= 1
      Default: 1

      Pagination page.

      per_page
      integer <int32> [ 1 .. 1000 ]
      Default: 30

      Page size (the number of items to return per page).

      category
      string
      Example: category=cfp

      Using this parameter will return listings belonging to the requested category.

      Responses

      Request samples

      curl https://dev.to/api/organizations/ecorp/listings
      

      Response samples

      Content type
      application/json
      []

      Organization's Articles

      This endpoint allows the client to retrieve a list of Articles belonging to the organization

      It supports pagination, each page will contain 30 listing by default.

      path Parameters
      username
      required
      string
      Example: ecorp

      Username of the organization

      query Parameters
      page
      integer <int32> >= 1
      Default: 1

      Pagination page.

      per_page
      integer <int32> [ 1 .. 1000 ]
      Default: 30

      Page size (the number of items to return per page).

      Responses

      Request samples

      curl https://dev.to/api/organizations/ecorp/listings
      

      Response samples

      Content type
      application/json
      []

      podcast-episodes

      Podcast episodes

      Published podcast episodes

      This endpoint allows the client to retrieve a list of podcast episodes.

      "Podcast episodes" are episodes belonging to podcasts.

      It will only return active podcast episodes that belong to published podcasts available on the platform, ordered by descending publication date.

      It supports pagination, each page will contain 30 articles by default.

      query Parameters
      page
      integer <int32> >= 1
      Default: 1

      Pagination page.

      per_page
      integer <int32> [ 1 .. 1000 ]
      Default: 30

      Page size (the number of items to return per page).

      username
      string
      Example: username=codenewbie

      Using this parameter will retrieve episodes belonging to a specific podcast.

      Responses

      Request samples

      curl https://dev.to/api/podcast_episodes
      

      Response samples

      Content type
      application/json
      []

      readinglist

      User's reading list

      User's reading list

      This endpoint allows the client to retrieve a list of readinglist reactions along with the related article for the authenticated user.

      Reading list will be in reverse chronological order base on the creation of the reaction.

      It will return paginated reading list items along with the articles they refer to. By default a page will contain 30 items

      Authorizations:
      query Parameters
      page
      integer <int32> >= 1
      Default: 1

      Pagination page.

      per_page
      integer <int32> [ 1 .. 100 ]
      Default: 30

      Page size (the number of items to return per page).

      Responses

      Request samples

      curl -H "api-key: API_KEY" https://dev.to/api/readinglist
      

      Response samples

      Content type
      application/json
      [
      • {
        • "type_of": "string",
        • "id": 0,
        • "status": "valid",
        • "created_at": "2019-08-24T14:15:22Z",
        • "article": {
          • "type_of": "string",
          • "id": 0,
          • "title": "string",
          • "description": "string",
          • "cover_image": "string",
          • "readable_publish_date": "string",
          • "social_image": "string",
          • "tag_list": [
            • "string"
            ],
          • "tags": "string",
          • "slug": "string",
          • "path": "string",
          • "url": "string",
          • "canonical_url": "string",
          • "comments_count": 0,
          • "positive_reactions_count": 0,
          • "public_reactions_count": 0,
          • "created_at": "2019-08-24T14:15:22Z",
          • "edited_at": "2019-08-24T14:15:22Z",
          • "crossposted_at": "2019-08-24T14:15:22Z",
          • "published_at": "2019-08-24T14:15:22Z",
          • "last_comment_at": "2019-08-24T14:15:22Z",
          • "published_timestamp": "2019-08-24T14:15:22Z",
          • "user": {
            • "name": "string",
            • "username": "string",
            • "twitter_username": "string",
            • "github_username": "string",
            • "website_url": "string",
            • "profile_image": "string",
            • "profile_image_90": "string"
            },
          • "organization": {
            • "name": "string",
            • "username": "string",
            • "slug": "string",
            • "profile_image": "string",
            • "profile_image_90": "string"
            },
          • "flare_tag": {
            • "name": "string",
            • "bg_color_hex": "string",
            • "text_color_hex": "string"
            }
          }
        }
      ]

      tags

      Tags for articles

      Followed tags

      This endpoint allows the client to retrieve a list of the tags they follow.

      Authorizations:

      Responses

      Request samples

      curl -H "api-key: API_KEY" https://dev.to/api/follows/tags
      

      Response samples

      Content type
      application/json
      [
      • {
        • "id": 13,
        • "name": "discuss",
        • "points": 3
        },
      • {
        • "id": 12,
        • "name": "webdev",
        • "points": 1
        }
      ]

      Tags

      This endpoint allows the client to retrieve a list of tags that can be used to tag articles.

      It will return tags ordered by popularity.

      It supports pagination, each page will contain 10 tags by default.

      query Parameters
      page
      integer <int32> >= 1
      Default: 1

      Pagination page.

      per_page
      integer <int32> [ 1 .. 1000 ]
      Default: 10

      Page size (the number of items to return per page).

      Responses

      Request samples

      curl https://dev.to/api/tags
      

      Response samples

      Content type
      application/json
      [
      • {
        • "id": 6,
        • "name": "javascript",
        • "bg_color_hex": "#F7DF1E",
        • "text_color_hex": "#000000"
        },
      • {
        • "id": 8,
        • "name": "webdev",
        • "bg_color_hex": "#562765",
        • "text_color_hex": "#ffffff"
        }
      ]

      users

      Users own resources that require authentication

      User's articles

      This endpoint allows the client to retrieve a list of published articles on behalf of an authenticated user.

      "Articles" are all the posts that users create on DEV that typically show up in the feed. They can be a blog post, a discussion question, a help thread etc. but is referred to as article within the code.

      Published articles will be in reverse chronological publication order.

      It will return published articles with pagination. By default a page will contain 30 articles.

      Authorizations:
      query Parameters
      page
      integer <int32> >= 1
      Default: 1

      Pagination page.

      per_page
      integer <int32> [ 1 .. 1000 ]
      Default: 30

      Page size (the number of items to return per page).

      Responses

      Request samples

      curl -H "api-key: API_KEY" https://dev.to/api/articles/me
      

      Response samples

      Content type
      application/json
      [
      • {
        • "type_of": "string",
        • "id": 0,
        • "title": "string",
        • "description": "string",
        • "cover_image": "string",
        • "published": true,
        • "published_at": "2019-08-24T14:15:22Z",
        • "tag_list": [
          • "string"
          ],
        • "slug": "string",
        • "path": "string",
        • "url": "string",
        • "canonical_url": "string",
        • "comments_count": 0,
        • "positive_reactions_count": 0,
        • "public_reactions_count": 0,
        • "page_views_count": 0,
        • "published_timestamp": "2019-08-24T14:15:22Z",
        • "body_markdown": "string",
        • "user": {
          • "name": "string",
          • "username": "string",
          • "twitter_username": "string",
          • "github_username": "string",
          • "website_url": "string",
          • "profile_image": "string",
          • "profile_image_90": "string"
          },
        • "organization": {
          • "name": "string",
          • "username": "string",
          • "slug": "string",
          • "profile_image": "string",
          • "profile_image_90": "string"
          },
        • "flare_tag": {
          • "name": "string",
          • "bg_color_hex": "string",
          • "text_color_hex": "string"
          }
        }
      ]

      User's published articles

      This endpoint allows the client to retrieve a list of published articles on behalf of an authenticated user.

      "Articles" are all the posts that users create on DEV that typically show up in the feed. They can be a blog post, a discussion question, a help thread etc. but is referred to as article within the code.

      Published articles will be in reverse chronological publication order.

      It will return published articles with pagination. By default a page will contain 30 articles.

      Authorizations:
      query Parameters
      page
      integer <int32> >= 1
      Default: 1

      Pagination page.

      per_page
      integer <int32> [ 1 .. 1000 ]
      Default: 30

      Page size (the number of items to return per page).

      Responses

      Request samples

      curl -H "api-key: API_KEY" https://dev.to/api/articles/me/published
      

      Response samples

      Content type
      application/json
      [
      • {
        • "type_of": "string",
        • "id": 0,
        • "title": "string",
        • "description": "string",
        • "cover_image": "string",
        • "published": true,
        • "published_at": "2019-08-24T14:15:22Z",
        • "tag_list": [
          • "string"
          ],
        • "slug": "string",
        • "path": "string",
        • "url": "string",
        • "canonical_url": "string",
        • "comments_count": 0,
        • "positive_reactions_count": 0,
        • "public_reactions_count": 0,
        • "page_views_count": 0,
        • "published_timestamp": "2019-08-24T14:15:22Z",
        • "body_markdown": "string",
        • "user": {
          • "name": "string",
          • "username": "string",
          • "twitter_username": "string",
          • "github_username": "string",
          • "website_url": "string",
          • "profile_image": "string",
          • "profile_image_90": "string"
          },
        • "organization": {
          • "name": "string",
          • "username": "string",
          • "slug": "string",
          • "profile_image": "string",
          • "profile_image_90": "string"
          },
        • "flare_tag": {
          • "name": "string",
          • "bg_color_hex": "string",
          • "text_color_hex": "string"
          }
        }
      ]

      User's unpublished articles

      This endpoint allows the client to retrieve a list of unpublished articles on behalf of an authenticated user.

      "Articles" are all the posts that users create on DEV that typically show up in the feed. They can be a blog post, a discussion question, a help thread etc. but is referred to as article within the code.

      Unpublished articles will be in reverse chronological creation order.

      It will return unpublished articles with pagination. By default a page will contain 30 articles.

      Authorizations:
      query Parameters
      page
      integer <int32> >= 1
      Default: 1

      Pagination page.

      per_page
      integer <int32> [ 1 .. 1000 ]
      Default: 30

      Page size (the number of items to return per page).

      Responses

      Request samples

      curl -H "api-key: API_KEY" https://dev.to/api/articles/me/unpublished
      

      Response samples

      Content type
      application/json
      [
      • {
        • "type_of": "string",
        • "id": 0,
        • "title": "string",
        • "description": "string",
        • "cover_image": "string",
        • "published": true,
        • "published_at": "2019-08-24T14:15:22Z",
        • "tag_list": [
          • "string"
          ],
        • "slug": "string",
        • "path": "string",
        • "url": "string",
        • "canonical_url": "string",
        • "comments_count": 0,
        • "positive_reactions_count": 0,
        • "public_reactions_count": 0,
        • "page_views_count": 0,
        • "published_timestamp": "2019-08-24T14:15:22Z",
        • "body_markdown": "string",
        • "user": {
          • "name": "string",
          • "username": "string",
          • "twitter_username": "string",
          • "github_username": "string",
          • "website_url": "string",
          • "profile_image": "string",
          • "profile_image_90": "string"
          },
        • "organization": {
          • "name": "string",
          • "username": "string",
          • "slug": "string",
          • "profile_image": "string",
          • "profile_image_90": "string"
          },
        • "flare_tag": {
          • "name": "string",
          • "bg_color_hex": "string",
          • "text_color_hex": "string"
          }
        }
      ]

      User's all articles

      This endpoint allows the client to retrieve a list of all articles on behalf of an authenticated user.

      "Articles" are all the posts that users create on DEV that typically show up in the feed. They can be a blog post, a discussion question, a help thread etc. but is referred to as article within the code.

      It will return both published and unpublished articles with pagination.

      Unpublished articles will be at the top of the list in reverse chronological creation order. Published articles will follow in reverse chronological publication order.

      By default a page will contain 30 articles.

      Authorizations:
      query Parameters
      page
      integer <int32> >= 1
      Default: 1

      Pagination page.

      per_page
      integer <int32> [ 1 .. 1000 ]
      Default: 30

      Page size (the number of items to return per page).

      Responses

      Request samples

      curl -H "api-key: API_KEY" https://dev.to/api/articles/me/all
      

      Response samples

      Content type
      application/json
      [
      • {
        • "type_of": "string",
        • "id": 0,
        • "title": "string",
        • "description": "string",
        • "cover_image": "string",
        • "published": true,
        • "published_at": "2019-08-24T14:15:22Z",
        • "tag_list": [
          • "string"
          ],
        • "slug": "string",
        • "path": "string",
        • "url": "string",
        • "canonical_url": "string",
        • "comments_count": 0,
        • "positive_reactions_count": 0,
        • "public_reactions_count": 0,
        • "page_views_count": 0,
        • "published_timestamp": "2019-08-24T14:15:22Z",
        • "body_markdown": "string",
        • "user": {
          • "name": "string",
          • "username": "string",
          • "twitter_username": "string",
          • "github_username": "string",
          • "website_url": "string",
          • "profile_image": "string",
          • "profile_image_90": "string"
          },
        • "organization": {
          • "name": "string",
          • "username": "string",
          • "slug": "string",
          • "profile_image": "string",
          • "profile_image_90": "string"
          },
        • "flare_tag": {
          • "name": "string",
          • "bg_color_hex": "string",
          • "text_color_hex": "string"
          }
        }
      ]

      A user

      This endpoint allows the client to retrieve a single user, either by id or by the user's username

      path Parameters
      id
      required
      string
      Example: 1

      Id of the user.

      It can be either of the following two values:

      • an integer representing the id of the user
      • the string by_username (needs to be used in conjuction with the param url)
      query Parameters
      url
      string
      Example: url=ben

      Username of the user

      Responses

      Request samples

      curl https://dev.to/api/users/1
      

      Response samples

      Content type
      application/json
      {
      • "type_of": "user",
      • "id": 1234,
      • "username": "bob",
      • "name": "bob",
      • "summary": "Hello, world",
      • "twitter_username": "bob",
      • "github_username": "bob",
      • "website_url": null,
      • "location": "New York",
      • "joined_at": "Jan 1, 2017",
      }

      The authenticated user

      This endpoint allows the client to retrieve information about the authenticated user

      Authorizations:

      Responses

      Request samples

      curl -H "api-key: API_KEY" https://dev.to/api/users/me
      

      Response samples

      Content type
      application/json
      {
      • "type_of": "user",
      • "id": 1234,
      • "username": "bob",
      • "name": "bob",
      • "summary": "Hello, world",
      • "twitter_username": "bob",
      • "github_username": "bob",
      • "website_url": null,
      • "location": "New York",
      • "joined_at": "Jan 1, 2017",
      }

      videos

      Video articles

      Articles with a video

      This endpoint allows the client to retrieve a list of articles that are uploaded with a video.

      It will only return published video articles ordered by descending popularity.

      It supports pagination, each page will contain 24 articles by default.

      query Parameters
      page
      integer <int32> >= 1
      Default: 1

      Pagination page.

      per_page
      integer <int32> [ 1 .. 1000 ]
      Default: 24

      Page size (the number of items to return per page).

      Responses

      Request samples

      curl https://dev.to/api/videos
      

      Response samples

      Content type
      application/json
      []

      webhooks

      Webhooks are HTTP endpoints registered to receive events

      Webhooks

      This endpoint allows the client to retrieve a list of webhooks they have previously registered.

      "Webhooks" are used to register HTTP endpoints that will be called once a relevant event is triggered inside the web application, events like article_created, article_updated.

      It will return all webhooks, without pagination.

      Authorizations:

      Responses

      Request samples

      curl -H "api-key: API_KEY" https://dev.to/api/webhooks
      

      Response samples

      Content type
      application/json
      []

      Create a new webhook

      This endpoint allows the client to create a new webhook.

      "Webhooks" are used to register HTTP endpoints that will be called once a relevant event is triggered inside the web application, events like article_created, article_updated.

      Authorizations:
      Request Body schema: application/json

      Webhook to create

      object

      Responses

      Request samples

      Content type
      application/json
      {}

      Response samples

      Content type
      application/json
      {
      • "type_of": "webhook_endpoint",
      • "id": 1,
      • "source": "DEV",
      • "events": [
        • "article_created"
        ],
      • "created_at": "2019-09-02T09:47:39.230Z",
      • "user": {
        • "name": "bob",
        • "username": "bob",
        • "twitter_username": null,
        • "github_username": "bob",
        • "website_url": null,
        • "profile_image": "...",
        • "profile_image_90": "..."
        }
      }

      A webhook endpoint

      This endpoint allows the client to retrieve a single webhook given its id.

      Authorizations:
      path Parameters
      id
      required
      integer <int64> >= 1
      Example: 123

      Id of the webhook

      Responses

      Request samples

      curl https://dev.to/api/webhooks/123
      

      Response samples

      Content type
      application/json
      {
      • "type_of": "webhook_endpoint",
      • "id": 1,
      • "source": "DEV",
      • "events": [
        • "article_created"
        ],
      • "created_at": "2019-09-02T09:47:39.230Z",
      • "user": {
        • "name": "bob",
        • "username": "bob",
        • "twitter_username": null,
        • "github_username": "bob",
        • "website_url": null,
        • "profile_image": "...",
        • "profile_image_90": "..."
        }
      }

      A webhook endpoint

      This endpoint allows the client to delete a single webhook given its id.

      Authorizations:
      path Parameters
      id
      required
      integer <int64> >= 1
      Example: 123

      Id of the webhook

      Responses

      Request samples

      curl -X DELETE \
        -H "api-key: API_KEY" \
        https://dev.to/api/webhooks/1
      

      Response samples

      Content type
      application/json
      {
      • "error": "unauthorized",
      • "status": 401
      }

      profile images

      User or organization profile images

      User or organization profile picture

      This endpoint allows the client to retrieve a user or organization profile image information by its corresponding username

      path Parameters
      username
      required
      string
      Example: diogoosorio

      Username of the user or organization

      Responses

      Request samples

      curl https://dev.to/api/profile_images/diogoosorio
      

      Response samples

      Content type
      application/json
      {}