Migrate to Netlify Today

Netlify announces the next evolution of Gatsby Cloud. Learn more

ContactSign Up
Community Plugin
View plugin on GitHub

Gatsby icon Simplecast icon


A Gatsby plugin to load podcast episodes from the Simplecast API.


$ npm i gatsby-source-simplecast


$ yarn add gatsby-source-simplecast


In your gatsby-config.js file, load in the plugin along with the parameters of which podcast episodes to load:

module.exports = {
  plugins: [
      resolve: 'gatsby-source-simplecast',
      options: {
        token: 'abcdefghijklmnopqrstuvwxyz1234567890',
        podcastId: 'abc123de-456f-gh78-90ij-klmn1234opqr',

In your page, construct a query to get the data you need from the API.

import React from 'react';
import { graphql } from 'gatsby';
import Layout from 'components/Layout';

// Data from the pageQuery below is available as props to your page component!
const PodcastPage = ({
  data: {
    allSimplecastPodcastEpisode: { edges: episodes },
}) => {
  return (
      <h1>My Podcast Episodes</h1>
        {episodes.map(({ node }) => (
          <li key={node.id}>
                Episode {node.number}: {node.title}
              <p>Published {node.publishedAt}</p>
              <hr />
              <a href={`/podcasts/${node.slug}`}>Listen</a>
              <a href={node.enclosureUrl}>Download</a>

export const pageQuery = graphql`
  query PodcastPageQuery {
    allSimplecastPodcastEpisode {
      edges {
        node {
          publishedAt(formatString: "MMMM D, Y")

export default PodcastPage;

Options API

Option Type Description Default
token string (required) Simplecast API key. See the Simplecast API documentation for details.
podcastId string (required) The ID of the podcast you want to fetch. The podcast ID can be found in the URL from your Simplecast dashboard under podcast episode settings.
fetchLimit number The maximum number of episodes retrieved. 99
© 2023 Gatsby, Inc.