Skip to content
/ substackR Public

❗ This is a read-only mirror of the CRAN R package repository. substackR — Access Substack Data via API. Homepage: https://github.com/posocap/substackR Report bugs for this package: https://github.com/posocap/substackR/issues

License

Notifications You must be signed in to change notification settings

cran/substackR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

substackR

R-CMD-check

A lightweight R client for the Substack API. All functions return data frames, handle errors with informative messages, and work out of the box once you’ve set your API key.

Installation

From CRAN:

install.packages("substackR")

Development version from GitHub:

# install.packages("pak")   # if needed
pak::pak("posocap/substackR")

Authentication

Provide your API key once per session with:

library(substackR)
set_substack_key("your-substack-api-key")

If you haven’t set the key, any API call will prompt you to call set_substack_key() first.

Main Functions

get_substack_latest()

Fetches the latest posts.

latest_posts <- get_substack_latest(
  publication_url = "posocap.substack.com",
  limit           = 10,
  offset          = 0
)

Returns a data frame with columns:

  • slug
  • url
  • title
  • description
  • excerpt
  • body_html
  • reading_time_minutes
  • audio_url
  • date
  • likes
  • paywall
  • cover_image
  • cover_image_color_palette
  • author
  • author_image

get_substack_top()

Fetches the top (most liked) posts.

top_posts <- get_substack_top("posocap.substack.com", limit = 5)

get_substack_search()

Searches posts by keyword.

search_results <- get_substack_search(
  publication_url = "posocap.substack.com",
  query           = "data science",
  limit           = 20
)

get_substack_post()

Retrieves a single post by slug.

single_post <- get_substack_post(
  publication_url = "posocap.substack.com",
  slug            = "your-post-slug"
)

Error Handling

  • Missing API key → error asking you to run set_substack_key().
  • HTTP errors (4xx, 5xx, rate limits) → cli::cli_abort() with status code and message.
  • JSON parsing issues → warning + empty data frame.

Contributing

  1. Fork the repo
  2. Create a branch (e.g. feature/xyz)
  3. Install dependencies:
    devtools::install_deps(dependencies = TRUE)
  4. Run tests:
    devtools::test()
  5. Submit a pull request.

License

MIT © Posocap.com
See LICENSE for details.

About

❗ This is a read-only mirror of the CRAN R package repository. substackR — Access Substack Data via API. Homepage: https://github.com/posocap/substackR Report bugs for this package: https://github.com/posocap/substackR/issues

Resources

License

Stars

Watchers

Forks

Packages

No packages published