Simplecast Analytics API

Audience analytics for podcasts and episodes.

Business capability
Content Performance Analytics BC-3770.30

Operations 30

GET /analytics Retrieve overview analytics #
GET /analytics/downloads Retrieve download analytics #
GET /analytics/listeners Retrieve listener analytics #
GET /analytics/listeners/last_7 Retrieve listeners over the last 7 days #
GET /analytics/episodes Retrieve episode analytics #
GET /analytics/episodes/average_downloads Retrieve average downloads per episode #
GET /analytics/episodes/hours_listened Retrieve hours listened per episode #
GET /analytics/episodes/listeners Retrieve listeners per episode #
GET /analytics/episodes/top_10 Retrieve the top 10 episodes #
GET /analytics/podcasts/listeners Retrieve podcast-level listener analytics #
GET /analytics/location Retrieve location analytics #
GET /analytics/time_of_week Retrieve time-of-week analytics #
GET /analytics/campaigns/{campaign_id} Retrieve campaign analytics #
GET /analytics/technology Retrieve technology analytics #
GET /analytics/technology/applications Retrieve listening-application analytics #
GET /analytics/technology/browsers Retrieve browser analytics #
GET /analytics/technology/device_class Retrieve device-class analytics #
GET /analytics/technology/devices Retrieve device analytics #
GET /analytics/technology/listening_methods Retrieve listening-method analytics #
GET /analytics/technology/network_types Retrieve network-type analytics #
GET /analytics/technology/operating_systems Retrieve operating-system analytics #
GET /analytics/technology/providers Retrieve provider analytics #
GET /analytics/technology/web_players Retrieve web-player analytics #
GET /analytics/embed Retrieve embed-player analytics #
GET /analytics/embed/avg_completion Retrieve average completion for the embed player #
GET /analytics/embed/episodes Retrieve embed-player analytics by episode #
GET /analytics/embed/heatmap Retrieve embed-player heatmap analytics #
GET /analytics/embed/listens Retrieve embed-player listens #
GET /analytics/embed/locations Retrieve embed-player location analytics #
GET /analytics/embed/speeds Retrieve embed-player playback-speed analytics #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/simplecast-analytics-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

simplecast-analytics-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Simplecast Analytics API
  description: The Simplecast API lets you manage and read your podcasting data on the Simplecast platform - podcasts (shows), episodes, audience analytics, and distribution channels.
  version: '1.0'
  contact:
    name: Simplecast
    url: https://www.simplecast.com
servers:
- url: https://api.simplecast.com
  description: Simplecast production API
security:
- bearerAuth: []
tags:
- name: Analytics
  description: Audience analytics for podcasts and episodes.
paths:
  /analytics:
    get:
      operationId: getAnalytics
      tags:
      - Analytics
      summary: Retrieve overview analytics
      description: Returns overview analytics, scoped by a podcast query parameter.
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Analytics data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/downloads:
    get:
      operationId: getAnalyticsDownloads
      tags:
      - Analytics
      summary: Retrieve download analytics
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Download analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/listeners:
    get:
      operationId: getAnalyticsListeners
      tags:
      - Analytics
      summary: Retrieve listener analytics
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Listener analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/listeners/last_7:
    get:
      operationId: getAnalyticsListenersLast7
      tags:
      - Analytics
      summary: Retrieve listeners over the last 7 days
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Listener analytics for the last seven days.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/episodes:
    get:
      operationId: getAnalyticsEpisodes
      tags:
      - Analytics
      summary: Retrieve episode analytics
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Episode analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/episodes/average_downloads:
    get:
      operationId: getAnalyticsEpisodesAverageDownloads
      tags:
      - Analytics
      summary: Retrieve average downloads per episode
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Average downloads analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/episodes/hours_listened:
    get:
      operationId: getAnalyticsEpisodesHoursListened
      tags:
      - Analytics
      summary: Retrieve hours listened per episode
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Hours listened analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/episodes/listeners:
    get:
      operationId: getAnalyticsEpisodesListeners
      tags:
      - Analytics
      summary: Retrieve listeners per episode
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Episode listener analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/episodes/top_10:
    get:
      operationId: getAnalyticsEpisodesTop10
      tags:
      - Analytics
      summary: Retrieve the top 10 episodes
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Top episodes analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/podcasts/listeners:
    get:
      operationId: getAnalyticsPodcastsListeners
      tags:
      - Analytics
      summary: Retrieve podcast-level listener analytics
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Podcast listener analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/location:
    get:
      operationId: getAnalyticsLocation
      tags:
      - Analytics
      summary: Retrieve location analytics
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Location analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/time_of_week:
    get:
      operationId: getAnalyticsTimeOfWeek
      tags:
      - Analytics
      summary: Retrieve time-of-week analytics
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Time-of-week analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/campaigns/{campaign_id}:
    get:
      operationId: getAnalyticsCampaign
      tags:
      - Analytics
      summary: Retrieve campaign analytics
      parameters:
      - name: campaign_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Campaign analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/technology:
    get:
      operationId: getAnalyticsTechnology
      tags:
      - Analytics
      summary: Retrieve technology analytics
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Technology analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/technology/applications:
    get:
      operationId: getAnalyticsTechnologyApplications
      tags:
      - Analytics
      summary: Retrieve listening-application analytics
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Application analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/technology/browsers:
    get:
      operationId: getAnalyticsTechnologyBrowsers
      tags:
      - Analytics
      summary: Retrieve browser analytics
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Browser analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/technology/device_class:
    get:
      operationId: getAnalyticsTechnologyDeviceClass
      tags:
      - Analytics
      summary: Retrieve device-class analytics
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Device-class analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/technology/devices:
    get:
      operationId: getAnalyticsTechnologyDevices
      tags:
      - Analytics
      summary: Retrieve device analytics
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Device analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/technology/listening_methods:
    get:
      operationId: getAnalyticsTechnologyListeningMethods
      tags:
      - Analytics
      summary: Retrieve listening-method analytics
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Listening-method analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/technology/network_types:
    get:
      operationId: getAnalyticsTechnologyNetworkTypes
      tags:
      - Analytics
      summary: Retrieve network-type analytics
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Network-type analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/technology/operating_systems:
    get:
      operationId: getAnalyticsTechnologyOperatingSystems
      tags:
      - Analytics
      summary: Retrieve operating-system analytics
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Operating-system analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/technology/providers:
    get:
      operationId: getAnalyticsTechnologyProviders
      tags:
      - Analytics
      summary: Retrieve provider analytics
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Provider analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/technology/web_players:
    get:
      operationId: getAnalyticsTechnologyWebPlayers
      tags:
      - Analytics
      summary: Retrieve web-player analytics
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Web-player analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/embed:
    get:
      operationId: getAnalyticsEmbed
      tags:
      - Analytics
      summary: Retrieve embed-player analytics
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Embed analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/embed/avg_completion:
    get:
      operationId: getAnalyticsEmbedAvgCompletion
      tags:
      - Analytics
      summary: Retrieve average completion for the embed player
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Average completion analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/embed/episodes:
    get:
      operationId: getAnalyticsEmbedEpisodes
      tags:
      - Analytics
      summary: Retrieve embed-player analytics by episode
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Embed episode analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/embed/heatmap:
    get:
      operationId: getAnalyticsEmbedHeatmap
      tags:
      - Analytics
      summary: Retrieve embed-player heatmap analytics
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Heatmap analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/embed/listens:
    get:
      operationId: getAnalyticsEmbedListens
      tags:
      - Analytics
      summary: Retrieve embed-player listens
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Listens analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/embed/locations:
    get:
      operationId: getAnalyticsEmbedLocations
      tags:
      - Analytics
      summary: Retrieve embed-player location analytics
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Location analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/embed/speeds:
    get:
      operationId: getAnalyticsEmbedSpeeds
      tags:
      - Analytics
      summary: Retrieve embed-player playback-speed analytics
      parameters:
      - $ref: '#/components/parameters/PodcastQuery'
      responses:
        '200':
          description: Playback-speed analytics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    Analytics:
      type: object
      description: An analytics result. Shape varies by analytics endpoint; modeled generically.
      properties:
        id:
          type: string
        downloads:
          type: object
        by_interval:
          type: array
          items:
            type: object
    Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
  parameters:
    PodcastQuery:
      name: podcast
      in: query
      required: false
      description: The podcast ID to scope the analytics query to.
      schema:
        type: string
  responses:
    Unauthorized:
      description: Missing or invalid bearer token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Bearer token generated from the Private Apps page in the Simplecast dashboard. Sent as "authorization: Bearer {token}".'