dev-to PodcastEpisodes API

Endpoints for retrieving published podcast episodes.

OpenAPI Specification

dev-to-podcastepisodes-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Dev.to Forem Articles PodcastEpisodes API
  description: The Dev.to Forem API (v1) is a RESTful API that provides programmatic access to the Dev.to developer community platform, which is built on the open-source Forem framework. The API enables developers to create, read, update, and manage articles, comments, users, organizations, tags, followers, listings, podcast episodes, pages, display ads, reactions, reading lists, and webhooks. It uses API key authentication, requires an accept header of application/vnd.forem.api-v1+json, and returns JSON responses. Unauthenticated endpoints are CORS-enabled, making it possible to fetch public content directly from browser-based applications.
  version: 1.0.0
  contact:
    name: Forem Support
    url: https://forem.com
  termsOfService: https://dev.to/terms
servers:
- url: https://dev.to/api
  description: Dev.to Production Server
security:
- apiKey: []
tags:
- name: PodcastEpisodes
  description: Endpoints for retrieving published podcast episodes.
paths:
  /podcast_episodes:
    get:
      operationId: getPodcastEpisodes
      summary: Podcast Episodes
      description: Retrieves a list of published podcast episodes. Can be filtered by username.
      tags:
      - PodcastEpisodes
      security: []
      parameters:
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/perPageParam10to1000'
      - name: username
        in: query
        schema:
          type: string
        description: Filter podcast episodes by the podcast owner's username.
      responses:
        '200':
          description: A list of podcast episodes
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PodcastEpisodeIndex'
components:
  parameters:
    perPageParam10to1000:
      name: per_page
      in: query
      schema:
        type: integer
        minimum: 1
        maximum: 1000
        default: 10
      description: Number of items per page (max 1000, default 10).
    pageParam:
      name: page
      in: query
      schema:
        type: integer
        minimum: 1
        default: 1
      description: Pagination page number.
  schemas:
    PodcastEpisodeIndex:
      type: object
      description: A podcast episode summary returned in list endpoints.
      properties:
        type_of:
          type: string
          description: The type of resource, always "podcast_episodes".
        id:
          type: integer
          description: The unique identifier of the episode.
        class_name:
          type: string
          description: The class name of the resource.
        path:
          type: string
          description: The relative path to the episode on DEV.
        title:
          type: string
          description: The title of the podcast episode.
        image_url:
          type: string
          format: uri
          description: The URL of the episode's image.
        podcast:
          type: object
          properties:
            title:
              type: string
              description: The title of the podcast.
            slug:
              type: string
              description: The URL slug of the podcast.
            image_url:
              type: string
              format: uri
              description: The URL of the podcast's image.
          description: The parent podcast information.
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: api-key
      description: API key obtained from the DEV.to settings page. Pass in the api-key header for authenticated requests.
externalDocs:
  description: Forem API V1 Documentation
  url: https://developers.forem.com/api/v1