Podbean

Podbean is a podcast hosting, distribution, and monetization platform for creators, businesses, and networks. Its public REST API (base https://api.podbean.com/v1) uses OAuth 2.0 and lets third-party apps and integrations manage a user's podcast programmatically - read podcast profiles, list and publish/update/delete episodes, authorize media file uploads, embed players via oEmbed, and pull download, engagement, and advertising analytics reports. Apps can act on behalf of a single podcast (Client Credentials) or across many podcasts (Multiple Podcasts tokens) for agencies and networks.

5 APIs 0 Features
PodcastingPodcast HostingMediaAudioEpisodesAnalyticsMonetization

APIs

Podbean Podcasts API

Read the authorized podcast's profile and settings, and - via the Multiple Podcasts token flow - enumerate the podcasts an agency or network app is authorized to manage. The ent...

Podbean Episodes API

List, read, publish, update, and delete podcast episodes. Publishing an episode references a media_key (and optional logo_key) returned by the file upload authorization flow, so...

Podbean Media Files API

Authorize an upload to obtain a presigned URL and a file key, PUT the media or image file directly to that URL, and list previously uploaded media files. The file key is then pa...

Podbean Analytics API

Pull podcast performance data - download reports, listener engagement reports, and advertising reports - for reporting dashboards and external analytics tools such as Dataddo.

Podbean oEmbed API

Standard oEmbed endpoint that returns embeddable player markup and metadata for a Podbean podcast or episode URL, for use in websites, CMSs, and rich link previews. No authentic...

Collections

Pricing Plans

Podbean Plans Pricing

5 plans

PLANS

Rate Limits

Podbean Rate Limits

4 limits

RATE LIMITS

FinOps

Resources

🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
🔑
OAuthScopes
OAuthScopes
👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
📝
SignUp
SignUp
📰
Blog
Blog

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Podbean API
  version: '1.0'
  description: OAuth 2.0 REST API for managing a user's podcast on Podbean - podcasts, episodes, media upload, oEmbed, and
    analytics. Base URL https://api.podbean.com/v1.
items:
- info:
    name: Authentication
    type: folder
  items:
  - info:
      name: Login Dialog
      type: http
    http:
      method: GET
      url: https://api.podbean.com/v1/dialog/oauth
      params:
      - name: client_id
        value: ''
        type: query
      - name: redirect_uri
        value: ''
        type: query
      - name: response_type
        value: code
        type: query
      - name: scope
        value: episode_publish
        type: query
    docs: Redirect a user here to authorize a third-party app; Podbean returns an authorization code.
  - info:
      name: Get Access Token
      type: http
    http:
      method: POST
      url: https://api.podbean.com/v1/oauth/token
      body:
        type: urlencoded
        data: grant_type=client_credentials&client_id=&client_secret=
    docs: Exchange an authorization code, client credentials, or refresh token for an access token.
  - info:
      name: Inspect Access Token
      type: http
    http:
      method: POST
      url: https://api.podbean.com/v1/oauth/debugToken
      body:
        type: urlencoded
        data: access_token=
    docs: Returns metadata about an access token - bound podcast, scopes, and expiry.
  - info:
      name: Get Multiple Podcasts Tokens
      type: http
    http:
      method: POST
      url: https://api.podbean.com/v1/oauth/multiplePodcastsToken
      body:
        type: urlencoded
        data: grant_type=client_credentials&client_id=&client_secret=
    docs: For agencies and networks - obtain per-podcast access tokens for all managed podcasts.
- info:
    name: Podcast
    type: folder
  items:
  - info:
      name: Get Podcast
      type: http
    http:
      method: GET
      url: https://api.podbean.com/v1/podcast
      params:
      - name: access_token
        value: ''
        type: query
    docs: Returns the profile and settings of the podcast the access token is bound to.
- info:
    name: Episode
    type: folder
  items:
  - info:
      name: List Episodes
      type: http
    http:
      method: GET
      url: https://api.podbean.com/v1/episodes
      params:
      - name: access_token
        value: ''
        type: query
      - name: offset
        value: '0'
        type: query
      - name: limit
        value: '20'
        type: query
    docs: Lists episodes for the authorized podcast.
  - info:
      name: Publish New Episode
      type: http
    http:
      method: POST
      url: https://api.podbean.com/v1/episodes
      body:
        type: urlencoded
        data: access_token=&title=My New Episode&content=Show notes&status=publish&type=public&media_key=&logo_key=
    docs: Publishes a new episode, referencing a media_key from the file upload authorization.
  - info:
      name: Read Episode
      type: http
    http:
      method: GET
      url: https://api.podbean.com/v1/episodes/:id
      params:
      - name: id
        value: ''
        type: path
        description: The episode ID.
      - name: access_token
        value: ''
        type: query
    docs: Returns a single episode by its ID.
  - info:
      name: Update Episode
      type: http
    http:
      method: POST
      url: https://api.podbean.com/v1/episodes/:id
      params:
      - name: id
        value: ''
        type: path
        description: The episode ID.
      body:
        type: urlencoded
        data: access_token=&title=Updated Episode Title
    docs: Updates an existing episode by ID.
  - info:
      name: Delete Episode
      type: http
    http:
      method: POST
      url: https://api.podbean.com/v1/episodes/:id/delete
      params:
      - name: id
        value: ''
        type: path
        description: The episode ID.
      body:
        type: urlencoded
        data: access_token=
    docs: Deletes an episode by ID.
- info:
    name: File Upload
    type: folder
  items:
  - info:
      name: Authorize File Upload
      type: http
    http:
      method: GET
      url: https://api.podbean.com/v1/files/uploadAuthorize
      params:
      - name: access_token
        value: ''
        type: query
      - name: filename
        value: episode.mp3
        type: query
      - name: filesize
        value: '10485760'
        type: query
      - name: content_type
        value: audio/mpeg
        type: query
    docs: Returns a presigned URL to PUT the file to, plus a file_key to pass to the Episodes API.
  - info:
      name: List Media Files
      type: http
    http:
      method: GET
      url: https://api.podbean.com/v1/medias
      params:
      - name: access_token
        value: ''
        type: query
    docs: Lists media files previously uploaded to the authorized podcast.
- info:
    name: oEmbed
    type: folder
  items:
  - info:
      name: oEmbed
      type: http
    http:
      method: GET
      url: https://api.podbean.com/v1/oembed
      params:
      - name: url
        value: https://www.podbean.com/ew/example
        type: query
      - name: format
        value: json
        type: query
    docs: Returns embeddable player markup and metadata for a podcast or episode URL. No authentication required.
- info:
    name: Analytics
    type: folder
  items:
  - info:
      name: Podcast Download Reports
      type: http
    http:
      method: GET
      url: https://api.podbean.com/v1/analytics/podcastReports
      params:
      - name: access_token
        value: ''
        type: query
    docs: Returns download/listen counts for the authorized podcast.
  - info:
      name: Podcast Engagement Reports
      type: http
    http:
      method: GET
      url: https://api.podbean.com/v1/analytics/podcastEngagementReports
      params:
      - name: access_token
        value: ''
        type: query
    docs: Returns listener engagement data for the authorized podcast.
  - info:
      name: Advertise Reports
      type: http
    http:
      method: GET
      url: https://api.podbean.com/v1/analytics/advertiseReports
      params:
      - name: access_token
        value: ''
        type: query
    docs: Returns advertising/monetization report data for the authorized podcast.