Skip to main content

Buzzsprout

Buzzsprout is a podcast hosting and distribution platform that enables creators to publish, manage, and promote podcasts. The Buzzsprout API provides programmatic access to podcasts and episodes on your account, allowing you to list podcasts, retrieve episode details, create new episodes, and update or delete existing episodes.

Buzzsprout icon

Power end-to-end data operations for your Buzzsprout API with Nexla. Our bi-directional Buzzsprout connector is purpose-built for Buzzsprout, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Buzzsprout or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Buzzsprout workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a Buzzsprout credential in Nexla, you will need a Buzzsprout account with API access and the following information from your account:

  • API Token — A token-based authentication string used to authorize API requests.

  • Podcast ID — The numeric identifier of the Buzzsprout podcast that the credential will be scoped to.

Locate Your Buzzsprout API Token and Podcast ID

Buzzsprout exposes a single account-level API page where both the API token and the podcast ID are listed.

  1. Sign in to your Buzzsprout account at https://www.buzzsprout.com.

  2. Navigate to the API page in your profile by going to https://www.buzzsprout.com/my/profile/api. You can also reach this page from the Buzzsprout admin by opening the account menu and selecting the API section of your profile.

  3. Copy the API Token value displayed on this page. This is the secret token Nexla will use to authenticate API calls.

    Treat the API token like a password. Anyone with this token can read and modify data in your Buzzsprout podcast through the API.

  4. Locate your Podcast ID on the same page. Buzzsprout displays the numeric podcast ID alongside the token — this is the same numeric identifier that appears in your podcast's public Buzzsprout URL (for example, the 123456 in buzzsprout.com/123456).

Reference

For additional details about the Buzzsprout API, including the full set of supported request formats, see the official Buzzsprout API documentation.

Authenticate

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

Buzzsprout uses a token-based HTTP authentication scheme. Nexla automatically sends the API token in the Authorization HTTP header using the format Token token=<your_api_token> for every request. You only need to provide the token value and the podcast ID — Nexla handles the header construction.

  1. Enter the API token copied from your Buzzsprout profile API page in the API Key Value field. This value is stored as a secret and is used to construct the Authorization header for all calls to the Buzzsprout API.

  2. Enter the numeric podcast identifier in the Podcast ID field. This is the same ID found on the Buzzsprout API profile page and in your public Buzzsprout podcast URL. The podcast ID is used to scope test requests and to build API paths such as https://www.buzzsprout.com/api/<podcast_id>/episodes.json.

    A single Buzzsprout credential is scoped to a single podcast. To work with multiple podcasts on the same account, create one credential per podcast ID.

  3. Click the Save button at the bottom of the overlay to save the configured credential. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Buzzsprout connector tile, then select the credential that will be used to connect to the Buzzsprout instance, and click Next; or, create a new Buzzsprout credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Buzzsprout endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

List Episodes

This endpoint returns a list of all episodes for a Buzzsprout podcast. Use it to bulk-ingest your episode catalog for analytics, syndication, or backup workflows. The template issues paginated GET requests against https://www.buzzsprout.com/api/<podcast_id>/episodes.json and automatically advances through pages until no further data is returned.

  • Enter the podcast identifier in the Podcast ID field. This is the same numeric ID configured on your Buzzsprout credential and appears in your Buzzsprout URL (for example, the 9999 in /api/9999/episodes.json). This field is required.
  • No additional pagination configuration is needed — the template uses Buzzsprout's page and per_page query parameters with a default page size of 50 and stops automatically when an empty page is returned.

For the full list of episode attributes returned by this endpoint, see the Buzzsprout episodes API reference.

Get Episode

This endpoint returns a single episode by ID. Use it when you already know the episode ID and want to fetch the latest details for that one record — for example, to refresh a specific episode after an edit in Buzzsprout.

  • Enter the podcast identifier in the Podcast ID field. This identifies the podcast that contains the episode.
  • Enter the target episode identifier in the Episode ID field. The episode ID can be obtained from the List Episodes endpoint or from the Buzzsprout admin UI.

This endpoint is not paginated and returns a single JSON object representing the episode.

Return all podcasts associated with the authenticated user's account.

This endpoint retrieves all podcasts associated with the authenticated user's Buzzsprout account. Use it to discover the set of podcast IDs available to your credential — useful when an account hosts more than one podcast and you need to build downstream flows per podcast.

  • This endpoint takes no additional parameters. It issues a GET request to https://www.buzzsprout.com/api/podcasts.json using the credential's API token.
  • The response is a JSON array of podcast objects, each containing the podcast's ID, title, and metadata.

Use the podcast IDs returned by this endpoint to configure the List Episodes and Get Episode endpoints, or to scope additional credentials.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Buzzsprout data sources can also be manually configured to ingest data from any valid Buzzsprout API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

All Buzzsprout API URLs end in .json, and read endpoints support only the GET method. Common endpoint URLs include https://www.buzzsprout.com/api/<podcast_id>/episodes.json (list episodes), https://www.buzzsprout.com/api/<podcast_id>/episodes/<episode_id>.json (single episode), and https://www.buzzsprout.com/api/podcasts.json (list podcasts).

Buzzsprout list endpoints return a top-level JSON array with no surrounding metadata wrapper, so set the path to data to $[*] for list endpoints; single-record endpoints return a JSON object and use $. Buzzsprout recommends setting an explicit User-Agent request header, as requests using a default library user agent may be blocked. The Authorization: Token token=... header is added automatically by Nexla from your credential.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Buzzsprout data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Buzzsprout destination, and select the Send to Destination option from the menu. Select the Buzzsprout connector from the list of available destination connectors, then select the credential that will be used to connect to the Buzzsprout account, and click Next; or, create a new Buzzsprout credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Buzzsprout endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Create Episode

This endpoint creates a new episode for a Buzzsprout podcast. Use it to programmatically publish episodes — for example, when audio files and metadata arrive from an upstream production system. The template issues a POST request to https://www.buzzsprout.com/api/<podcast_id>/episodes.json with each Nexset record serialized as the JSON request body.

  • Enter the podcast identifier in the Podcast ID field. This identifies the podcast under which the new episode will be created.
  • Each Nexset record is sent as the JSON body of the POST call. Use the Nexla transform layer to shape upstream attributes into the field names expected by Buzzsprout, such as title, description, and audio_url.

For the full set of supported episode attributes, see the Buzzsprout episodes API reference.

Update Episode

This endpoint partially updates an existing episode using HTTP PATCH. Only fields included in the request body are modified — fields omitted from the body are preserved. Use it when an upstream record carries a delta against an existing Buzzsprout episode (for example, updating only the description or publication date).

  • Enter the podcast identifier in the Podcast ID field. This identifies the podcast that contains the episode.
  • Enter the target episode identifier in the Episode ID field. The episode ID can be obtained from the List Episodes data source endpoint or from the Buzzsprout admin UI.
  • Send only the attributes you wish to change in the request body. Any attributes not included will retain their existing values.

Because PATCH performs a partial update, this endpoint is the safer choice when you only want to overwrite specific fields rather than the entire episode.

Replace Episode

This endpoint replaces an existing episode in full using HTTP PUT. All episode fields must be supplied in the request body; any field omitted will be cleared. Use it when the upstream record represents the complete, authoritative state of the episode.

  • Enter the podcast identifier in the Podcast ID field. This identifies the podcast that contains the episode.
  • Enter the target episode identifier in the Episode ID field.
  • Send the full set of episode attributes in the request body. Any attributes omitted from the payload will be cleared on the Buzzsprout side.

Prefer the Update Episode (PATCH) endpoint when you only need to change a subset of fields — PUT will overwrite the entire episode.

Delete Episode

This endpoint deletes an episode by ID using HTTP DELETE. Use it to remove episodes from a Buzzsprout podcast as part of a downstream cleanup or de-publishing workflow.

  • Enter the podcast identifier in the Podcast ID field. This identifies the podcast that contains the episode.
  • Enter the target episode identifier in the Episode ID field. Records flowing through this destination must supply the episode ID via the configured field mapping.

Episode deletion is permanent and cannot be undone. Confirm that your upstream flow only emits delete requests for episodes that should actually be removed.

Manual configuration

Buzzsprout destinations can also be manually configured to send data to any valid Buzzsprout API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

The Buzzsprout episodes API supports POST (create), PATCH (partial update), PUT (full replace), and DELETE, and requires JSON — select JSON as the content format so that Nexla serializes each record and sends it with Content-Type: application/json. All Buzzsprout API URLs end in .json; for update, replace, and delete operations, include the episode ID at the end of the URL (for example, https://www.buzzsprout.com/api/<podcast_id>/episodes/<episode_id>.json).

Buzzsprout recommends setting an explicit User-Agent request header, as default library user agents may be blocked. The Authorization: Token token=... header and Content-Type: application/json are handled automatically by Nexla. The Buzzsprout episodes API processes one episode per request, so only enable record batching when targeting a custom endpoint that explicitly accepts an array of records. You can also configure Nexla to send each Buzzsprout API response to a new Nexla webhook data source — useful for capturing the Buzzsprout-assigned id of newly created episodes.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send data to the configured Buzzsprout endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to Buzzsprout until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.