Blubrry API Statistics API

Podcast download statistics.

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/blubrry-api-restful-api-for-podcast-publishing-statistics-statistics-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 email required.

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

OpenAPI Specification

blubrry-api-restful-api-for-podcast-publishing-statistics-statistics-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Blubrry Podcast Hosting & Episode Statistics API
  version: '2'
  description: 'REST API for podcast publishing, media hosting, episode management, and

    podcast download statistics on Blubrry. Authentication is OAuth 2.0

    Bearer; obtain a client_id / secret from Blubrry and request an access

    token at https://api.blubrry.com/oauth2/token.


    Source spec: https://blubrry.com/developer/api/podcaster.yaml

    '
  contact:
    name: Blubrry Developer
    url: https://blubrry.com/developer/api/
servers:
- url: https://api.blubrry.com/2
  description: Production
security:
- OAuth2: []
tags:
- name: Statistics
  description: Podcast download statistics.
paths:
  /stats/index.{format}:
    get:
      tags:
      - Statistics
      summary: List shows with statistics access
      operationId: listStatsShows
      parameters:
      - $ref: '#/components/parameters/Format'
      responses:
        '200':
          description: Shows returned.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /stats/{keyword}/summary.{format}:
    get:
      tags:
      - Statistics
      summary: Show statistics summary
      description: Overall download summary for a show.
      operationId: getShowStatsSummary
      parameters:
      - $ref: '#/components/parameters/Keyword'
      - $ref: '#/components/parameters/Format'
      responses:
        '200':
          description: Summary returned.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /stats/{keyword}/show-episodes/:
    get:
      tags:
      - Statistics
      summary: Episode-level download counts for a show
      operationId: getShowEpisodeStats
      parameters:
      - $ref: '#/components/parameters/Keyword'
      responses:
        '200':
          description: Episode stats returned.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /stats/{keyword}/:
    get:
      tags:
      - Statistics
      summary: Monthly download breakdown for a show
      operationId: getShowMonthlyStats
      parameters:
      - $ref: '#/components/parameters/Keyword'
      responses:
        '200':
          description: Monthly stats returned.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /stats/{keyword}/countries/:
    get:
      tags:
      - Statistics
      summary: Show downloads by country
      operationId: getShowCountryStats
      parameters:
      - $ref: '#/components/parameters/Keyword'
      responses:
        '200':
          description: Country stats returned.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /stats/{keyword}/app-types/:
    get:
      tags:
      - Statistics
      summary: Show downloads by application type
      operationId: getShowAppTypeStats
      parameters:
      - $ref: '#/components/parameters/Keyword'
      responses:
        '200':
          description: App type stats returned.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /stats/{keyword}/apps/:
    get:
      tags:
      - Statistics
      summary: Show downloads by application
      operationId: getShowAppStats
      parameters:
      - $ref: '#/components/parameters/Keyword'
      responses:
        '200':
          description: App stats returned.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /stats/{keyword}/episodes/:
    get:
      tags:
      - Statistics
      summary: List episodes with stats
      operationId: listStatsEpisodes
      parameters:
      - $ref: '#/components/parameters/Keyword'
      responses:
        '200':
          description: Episode list returned.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /stats/{keyword}/{episode_id}/countries/:
    get:
      tags:
      - Statistics
      summary: Episode downloads by country
      operationId: getEpisodeCountryStats
      parameters:
      - $ref: '#/components/parameters/Keyword'
      - $ref: '#/components/parameters/EpisodeId'
      responses:
        '200':
          description: Country stats returned.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /stats/{keyword}/{episode_id}/app-types/:
    get:
      tags:
      - Statistics
      summary: Episode downloads by application type
      operationId: getEpisodeAppTypeStats
      parameters:
      - $ref: '#/components/parameters/Keyword'
      - $ref: '#/components/parameters/EpisodeId'
      responses:
        '200':
          description: App type stats returned.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /stats/{keyword}/{episode_id}/apps/:
    get:
      tags:
      - Statistics
      summary: Episode downloads by application
      operationId: getEpisodeAppStats
      parameters:
      - $ref: '#/components/parameters/Keyword'
      - $ref: '#/components/parameters/EpisodeId'
      responses:
        '200':
          description: App stats returned.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /stats/{keyword}/widget/preview.json:
    get:
      tags:
      - Statistics
      summary: Stats widget preview
      operationId: getStatsWidgetPreview
      parameters:
      - $ref: '#/components/parameters/Keyword'
      responses:
        '200':
          description: Widget preview returned.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /stats/{keyword}/totals.json:
    get:
      tags:
      - Statistics
      summary: Lifetime totals for a show
      operationId: getShowStatsTotals
      parameters:
      - $ref: '#/components/parameters/Keyword'
      responses:
        '200':
          description: Totals returned.
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  parameters:
    Keyword:
      name: keyword
      in: path
      required: true
      description: Program keyword that identifies the show.
      schema:
        type: string
    Format:
      name: format
      in: path
      required: true
      description: Response serialization format.
      schema:
        type: string
        enum:
        - json
        - xml
    EpisodeId:
      name: episode_id
      in: path
      required: true
      schema:
        type: integer
  responses:
    Unauthorized:
      description: Missing or invalid access token.
  securitySchemes:
    OAuth2:
      type: oauth2
      description: 'OAuth 2.0 Bearer token. Contact Blubrry to receive a client_id and

        secret. Tokens expire after one hour; refresh tokens do not expire.

        '
      flows:
        authorizationCode:
          authorizationUrl: https://api.blubrry.com/oauth2/authorize
          tokenUrl: https://api.blubrry.com/oauth2/token
          refreshUrl: https://api.blubrry.com/oauth2/token
          scopes: {}