RSS and JSON feeds are available for hosted blogs and to retrieve the timeline for any user. These feeds do not need authentication. Be reasonable about how often you hit them.

RSS feeds are available at these URLs:

  • https://micro.blog/feeds/username.xml — Friends’ posts for what the specified user sees in their timeline.
  • https://username.micro.blog/feed.xml — Posts for the published microblog.
  • https://username.micro.blog/categories/my-category/feed.xml— Posts from a specific category on a blog.

JSON versions in JSON Feed format are available at these URLs:

  • https://micro.blog/feeds/username.json — Friends’ posts for what the specified user sees in their timeline.
  • https://micro.blog/feeds/photos.json — Featured photos across Micro.blog.
  • https://username.micro.blog/feed.json — Posts for the published microblog.
  • https://username.micro.blog/photos/index.json — Photo posts for the microblog.
  • https://micro.blog/posts/discover — Posts for the Discover section.
  • https://micro.blog/posts/discover/books — Posts for a specific emoji like “books”. See the emoji help page for details.

In addition to RSS and JSON, the HTML for all hosted microblogs are marked up with Microformats using these class names:

  • h-feed
  • h-entry
  • u-url
  • dt-published
  • e-content

Real-time posting is possible with WebSub or by sending a “ping” to Micro.blog when you post to your blog. WebSub (formerly PubSubHubbub) lets Micro.blog subscribe to your feed and get notified whenever you post. WordPress.com and some other services support WebSub automatically.

To tell Micro.blog to refresh a feed right away, you can send a ping from your blogging software. In WordPress, add https://micro.blog/ping in WordPress under Settings → Writing → “Update Services”. WordPress will send an XML-RPC request for weblogUpdates.ping. You can also POST /pingand pass an url for the RSS feed.

Messing around with cross-posting.

My root JSON feed cross-posts exactly as expected.

Turns out this was a bit much for Medium (three stories per 24 hour period). Probably best for me to curate what is cross-posted anywho … so I tried adding a category RSS feed setup to cross-post. It didn’t wanna cross-post.

Best guess, have I Hugo configged my way out of this working (I did verify the RSS feed with a validator), do RSS feeds not cross-post, or is this unexpected behavior?

The follow up would be: since the JSON feed works nicely, is there a JSON version of the category feed (or a way to tag filter the primary feed via url parameters)? Short of that I would assume I could configure Hugo to generate the category-specific feed but y’all stop me if you happen to know this would be a dead end.

Update: As soon as I get my config duplicating your PhotosJSON feed Imma crack this nut.

1 Like

@manton - When I tried plugging my site into my RSS reader, I noticed that my JSON feed is out of date when compared to my XML version. Any idea what the problem might be?

Update: it appears my test blog shows both feed formats up to date, but not my live blog.

Solved: The problem was in the default layouts/list.archivejson.json template. It includes “photos” in the feed_url when it should just be the base. Is this an issue with what the default is set to that would need to be fixed on the backend?