See what's launched

The next gen Gatsby is here Performance, developer velocity, and scaling to meet Enterprise needs - See what’s launched

Sign Up for Free
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>
        {{ node }) => (
          <li key={}>
                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
© 2022 Gatsby, Inc.