Skip to content

ListenNotes/demo.podcastapi.com

Repository files navigation

Podcast API Demo (Cloudflare Pages)

Apache 2

A simplified podcast search engine web app, using Cloudflare Pages (Javascript) and Listen API.

In the functions code, we use our official podcast api package to talk to Listen API.

You can find code snippets in different languages on the API Docs page, including Node.js, Python, Ruby, Java, PHP, Golang, Kotlin...

Note: You can easily implement similar apps using Django + React, or no code tools like Bubble and Retool.

Overview

Your frontend code (e.g., Web, iOS, Android...) shouldn't talk to Listen API directly. For Web, your users can inspect request headers in their web browsers to find your API key, if you use Ajax to hit Listen API endpoints directly. For iOS / Android, you can't easily reset your API key, if you put API keys in the source code of your app. Once the app is in the hands of your users, you can't easily change the code or force users to upgrade.

Typically, you'll hit Listen API endpoints from your backend (e.g., Django, Rails, Nodejs, Cloudflare Workers, Cloudflare Pages w/ functions...). So you can protect your API key and reset it if needed. Your frontend code will talk to your backend via GraphQL, RESTful APIs or the likes.

In this demo, we provide a reference implementation for a backend (Cloudflare Pages functions) that talks to Listen API, and a ReactJs implementation for a web frontend that talks to the Cloudflare Pages "backend" (functions).

Running the project

On your local dev

Make sure you're on Node.js 20+ for Wrangler 4.x.

yarn install
LISTEN_API_KEY=$YOUR_SECRET_KEY yarn dev

Where to get LISTEN_API_KEY?

If LISTEN_API_KEY is not set, then we'll use the API mock server that returns fake data.

yarn dev runs:

  • react-scripts on port 3000.
  • wrangler pages dev (functions + Pages runtime) on port 8788.

Deploy to Cloudflare Pages

Please follow instructions on Cloudflare Pages Docs to deploy to production.

You need to set the build command at /settings/production :

Screenshot 2026-03-11 at 11 19 51 AM

And set Variables and Secrets at /settings/production#variables:

Screenshot 2026-03-11 at 11 20 40 AM

Demo UI Screenshots

On desktop

PodcastAPI.com demo on Desktop

On mobile

PodcastAPI.com demo on Mobile

Further readings

What have 12,000+ companies & developers built with Listen Notes Podcast API:

About

A simplified podcast search engine web app, using Cloudflare Pages (Javascript) and Listen API.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors