Skip to content

Integrate PodcastIndex API functionalities into your .NET projects with this class library

License

Notifications You must be signed in to change notification settings

pluto-dev/PodcastIndex.Net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PodcastIndex.Net

Logo

Integrate PodcastIndex API functionalities into your .NET projects with this class library
Report Bug

Table of Contents
  1. Overview
  2. Installation
  3. Getting Started
  4. Available Endpoints
  5. Built With
  6. Contributing
  7. License
  8. Contact
  9. Acknowledgments

Overview

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.

Installation

To use this library in your projects, you can download the source code and compile it manually.

Currently there is no nuget packet available.

Get Started

  1. Obtain an API Key and Secret from podcastindex.org

  2. Add the following to your service collection:

    services.AddPodcastIndexNet(Configuration);

    The Configuration is the reference to your IConfiguration.

  3. Update your appsettings.json:

    {
    "PodcastIndex": {
         "BaseUrl": "https://api.podcastindex.org",
         "UserAgent": "SuperPodcastPlayer/1.3",
         "ApiKey": "YOUR_API_KEY",
         "ApiSecret": "YOU_API_SECRET"
         }
    }
  4. Inject IPodcastIndex into your constructor

    public Test(IPodcastIndex podcastIndex) { }
  5. At last use it like this

    var searchResponse = await podcastIndex.Search().GetByTermAsync("Batman");

Available Endpoints

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.

Built With

This library makes heavily use of refit

refit logo

Contributing

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".

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License.

Contact

https://github.com/pluto-dev

Acknowledgments

Special thanks to the developers at PodcastIndex for providing this amazing API!

About

Integrate PodcastIndex API functionalities into your .NET projects with this class library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages