← Back to all sparks
R

rtoot

DEVOPS
Velocity0.0

Collecting and Analyzing Mastodon Data

rtoot reached 1.0 by rebuilding on httr2 rather than by adding anything new.

rmastodonfediverseapi-clienthttp
Current state
rtoot is the R client for Mastodon and the wider Fediverse, covering the REST endpoints, streaming, pagination and rate limits. The 1.0.0 release is infrastructure work — the HTTP layer moved to httr2, long-running queries are wrapped in tryCatch, and post_toot() gained basic error handling. The functional surface has been broadly stable since 0.2.0 added streaming and pagination.
Where it's heading
Development has slowed to roughly one release a year and shifted from endpoint coverage to durability: handling 429s, surviving editors that misreport as RStudio, accepting POSIXct where the API wants IDs. Most changes arrive as contributed pull requests against reported issues rather than from a roadmap.
Prediction
With httr2 in place and a 1.0.0 label attached, further releases most likely track Mastodon API changes and contributed fixes; the entries show no new capability in progress.

Recent moves

  1. 5mo ago

    HTTP layer migrated to httr2 for the 1.0.0 release

    The HTTP layer moves to httr2, long-running queries are wrapped in tryCatch, and post_toot() gets error handling and corrected return-value docs. A 1.0.0 that signals stability rather than new capability.

    View source ↗
  2. 1y ago

    POSIXct accepted for ID arguments; VSCode detection fixed

    Accepts POSIXct values for max_id, min_id and since_id, and stops treating VSCode as RStudio when detecting the environment. Two contributed fixes for friction users hit in normal use.

    View source ↗
  3. 2y ago

    Progress bar and 429 rate-limit handling added

    Adds a progress bar for long queries and a 429 rate-limit check, plus a confirmation step for headless auth setup. Durability work on the paths that take longest to fail.

    View source ↗
  4. 3y ago

    get_fedi_instances() switched to a new API

    Switches the API behind get_fedi_instances(), adds a minimal endpoint, and stops erroring when no rate limit is reported. Adjustments to a Fediverse whose own endpoints were still moving.

    View source ↗
  5. 3y ago

    Streaming functions, pagination and rate-limit checking added

    The release that filled out the client: streaming functions, result pagination, rate-limit checking, token configuration via environment variable and more instance endpoints. Everything since has refined this surface rather than extended it.

    View source ↗