Integrate PodcastIndex API functionalities into your .NET projects with this class library
Report Bug
Table of Contents
This is a C# class library that provides easy access to the PodcastIndex API. The library allows developers to interact with the PodcastIndex API endpoints and retrieve podcast related information.
The Podcast Index API is a powerful service that offers a wide range of functionalities related to podcasting, including searching for podcasts, retrieving episodes, and much more. To use this library, you'll need a valid API key from PodcastIndex. If you don't have one yet, you can request it from PodcastIndex.
To use this library in your projects, you can download the source code and compile it manually.
Currently there is no nuget packet available.
-
Obtain an API Key and Secret from podcastindex.org
-
Add the following to your service collection:
services.AddPodcastIndexNet(Configuration);
The
Configuration
is the reference to yourIConfiguration
. -
Update your
appsettings.json
:{ "PodcastIndex": { "BaseUrl": "https://api.podcastindex.org", "UserAgent": "SuperPodcastPlayer/1.3", "ApiKey": "YOUR_API_KEY", "ApiSecret": "YOU_API_SECRET" } }
-
Inject
IPodcastIndex
into your constructorpublic Test(IPodcastIndex podcastIndex) { }
-
At last use it like this
var searchResponse = await podcastIndex.Search().GetByTermAsync("Batman");
Search | |
---|---|
/search/byterm | ✅ |
/search/title | ✅ |
/search/byperson | ✅ |
/search/music/byterm | ✅ |
Podcasts | |
---|---|
/podcasts/byfeedid | ✅ |
/podcasts/byfeedurl | ✅ |
/podcasts/byitunesid | ✅ |
/podcasts/byguid | ✅ |
/podcasts/bytag | ✅ |
/podcasts/bymedium | ✅ |
/podcasts/trending | ✅ |
/podcasts/dead | ✅ |
Episodes | |
---|---|
/episodes/byfeedid | ✅ |
/episodes/byfeedurl | ✅ |
/episodes/bypodcastguid | ✅ |
/episodes/byitunesid | ✅ |
/episodes/byid | ✅ |
/episodes/byguid | ✅ |
/episodes/live | ✅ |
/episodes/random | ✅ |
Recent | |
---|---|
/recent/episodes | ✅ |
/recent/feeds | ✅ |
/recent/newfeeds | ✅ |
/recent/newvaluefeeds | ✅ |
/recent/data | ✅ |
/recent/soundbites | ✅ |
Value | |
---|---|
/value/byfeedid | ✅ |
/value/byfeedurl | ✅ |
Stats | |
---|---|
/stats/current | ✅ |
Categories | |
---|---|
/categories/list | ✅ |
Hub | |
---|---|
/hub/pubnotify | ✅ |
Apple Replacement | |
---|---|
/search | ✅ |
/lookup | ✅ |
Add | |
---|---|
/add/byfeedurl | ❌ |
/add/byitunesid | ❌ |
POST /add/byfeedurl | ❌ |
POST /add/byitunesid | ❌ |
Please refer to the official PodcastIndex API documentation for more details on each endpoint.
This library makes heavily use of refit
Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License.
Special thanks to the developers at PodcastIndex for providing this amazing API!