{"id":18241084,"url":"https://github.com/rpodcast/podindexr","last_synced_at":"2025-10-07T03:42:34.220Z","repository":{"id":144835145,"uuid":"574339448","full_name":"rpodcast/podindexr","owner":"rpodcast","description":"Access the podcastindex API from R","archived":false,"fork":false,"pushed_at":"2023-06-12T13:08:49.000Z","size":309,"stargazers_count":7,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-09-23T16:44:55.966Z","etag":null,"topics":["api","podcast","r"],"latest_commit_sha":null,"homepage":"https://rpodcast.github.io/podindexr/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rpodcast.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-12-05T04:46:19.000Z","updated_at":"2025-08-27T03:40:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"f20f9322-aff5-4490-88ad-efe739d65164","html_url":"https://github.com/rpodcast/podindexr","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rpodcast/podindexr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpodcast%2Fpodindexr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpodcast%2Fpodindexr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpodcast%2Fpodindexr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpodcast%2Fpodindexr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rpodcast","download_url":"https://codeload.github.com/rpodcast/podindexr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpodcast%2Fpodindexr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278717436,"owners_count":26033539,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","podcast","r"],"created_at":"2024-11-05T05:06:27.093Z","updated_at":"2025-10-07T03:42:34.215Z","avatar_url":"https://github.com/rpodcast.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\noutput: github_document\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  out.width = \"100%\"\n)\n```\n\n# podindexr \u003cimg src='man/figures/logo.png' align=\"right\" width=\"25%\" min-width=\"120px\"/\u003e\n\n\u003c!-- badges: start --\u003e\n[![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental)\n\u003c!-- badges: end --\u003e\n\n`podindexr` is an R package providing a tidy interface to the [Podcast Index](https://podcastindex.org) database API available at \u003chttps://podcastindex-org.github.io/docs-api\u003e. \n\n\u003e The Podcast Index is here to preserve, protect and extend the open, independent podcasting ecosystem. We do this by enabling developers to have access to an open, categorized index that will always be available for free, for any use.\n\n## Acknowledgements\n\nThis package is my first contribution to the Podcast 2.0 movement, and I want to thank the following people/organizations for enabling me to create this package:\n\n* [Adam Curry](https://podcastindex.social/@adam) and [Dave Jones](https://podcastindex.social/@dave) for creating the [Podcast Index](https://podcastindex.org) and answering all of my many questions. I highly recommend listening to their [Podcating 2.0](https://podcastindex.org/podcast/920666) show for the latest developments in the Podcasting 2.0 ecosystem!\n* [Hadley Wickham](https://hadley.nz/) for creating the [{httr2}](https://httr2.r-lib.org/index.html) R package as well as his many contributions to the R community.\n* [Scott Chamberlain](https://fosstodon.org/@sckottie) and [Maëlle Salmon](https://masalmon.eu/) for authoring the [HTTP testing in R](https://books.ropensci.org/http-testing/index.html) online book, which is an excellent resource for how you can build automated testing efficiently in R packages utilizing APIs.\n* [Jenny Bryan](https://jennybryan.org/about/) \u0026 Hadley Wickham for authoring the comprehensive [R Packages](https://r-pkgs.org/) book.\n\n## Installation\n\nYou can install the development version of `{podindexr}` from [GitHub](https://github.com/) with:\n\n``` r\n# install.packages(\"devtools\")\ndevtools::install_github(\"rpodcast/podindexr\")\n```\n\n## Configuration\n\nThe majority of the API endpoints supported by `podindexr` require an API key and secret pair. To obtain your own set, create a free developer account at \u003chttps://api.podcastindex.org\u003e and save the credentials as environment variables called `PODCASTINDEX_API_KEY` and `PODCASTINDEX_API_SECRET` within a project-level or default user-directory `.Renviron` file. \n\n## Usage\n\nFor a comprehensive overview of the package functionality, visit the documentation site [rpodcast.github.io/podindexr](https://rpodcast.github.io/podindexr). Below are examples of obtaining metadata associated with the [RWeekly Highlights](https://rweekly.org) podcast:\n\n### Search\n\n```{r}\n#| label: search\nlibrary(podindexr)\nsearch_bytitle(\"R Weekly Highlights\")\n```\n\n### Episodes\n\n```{r}\n#| label: episodes\nepisodes_byfeedid(1062040)\n```\n\n## Code of Conduct\n  \nPlease note that the podindexr project is released with a [Contributor Code of Conduct](https://contributor-covenant.org/version/2/1/CODE_OF_CONDUCT.html). By contributing to this project, you agree to abide by its terms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frpodcast%2Fpodindexr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frpodcast%2Fpodindexr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frpodcast%2Fpodindexr/lists"}