# Micro.blog

> Read Micro.blog without an account: the posts it features on Discover, any of its thirty-odd topics, somebody's writing, photos, profile or timeline, the replies they have received, the links their blog has picked up from around the web, and the conversation under any post. Every post comes back as plain text as well as HTML, with its photos already pulled out.

App · Publishing & Community · 11 actions. Web page: https://docs.lodol.com/docs/integrations/microblog

## Actions

### Find featured photos

Read the photos Micro.blog is featuring across the whole network, newest first. Each one arrives with its full-size address, a thumbnail, the description its author wrote and the post it came from, so a step can put a photo straight into a message or a page. No API key required.

**Inputs**

- Maximum results (`limit`, number): Optional. How many results to return, newest first. Defaults to 20. Micro.blog's public feeds hold a fixed recent window rather than paging, so a quiet feed returns fewer than this; 'count' says how many came back. From 1 to 200. Default: `20`.
- Posted after (`posted_after`, date and time): Optional. Only include things posted after this moment. For something that runs on a schedule, pass the previous run's 'newest_published_at' here and each run returns only what it has not seen. Leave empty for everything the feed holds.

**Outputs**

- `count` (number): How many came back.
- `newest_published_at` (text): The most recent timestamp in this result. Pass it into 'Posted after' on the next run to pick up where this one left off. Null when nothing came back.
- `posts` (list): The posts, newest first.
- `summary` (text): What happened, as a sentence.

**Example output**

```json
{
  "count": 1,
  "newest_published_at": "2026-09-14T19:34:14Z",
  "posts": [
    {
      "author_avatar_url": "https://avatars.micro.blog/avatars/2025/22/3.jpg",
      "author_name": "Manton Reece",
      "author_url": "https://manton.org",
      "author_username": "manton",
      "book": null,
      "html": "<p>Walked down to the harbour before the fog lifted.</p>",
      "id": "97532806",
      "is_reply": false,
      "photo_count": 1,
      "photo_url": "https://cdn.uploads.micro.blog/10/2026/harbour.jpg",
      "photos": [
        {
          "alt": "Fishing boats at the harbour wall, early morning.",
          "thumbnail_url": "https://cdn.micro.blog/photos/400/harbour.jpg",
          "url": "https://cdn.uploads.micro.blog/10/2026/harbour.jpg"
        }
      ],
      "published_at": "2026-09-14T19:34:14Z",
      "text": "Walked down to the harbour before the fog lifted.",
      "url": "https://www.manton.org/2026/09/14/for-the-last-week.html"
    }
  ],
  "summary": "1 featured photo post from Micro.blog."
}
```

### Find featured posts

Read the posts Micro.blog is featuring on Discover: the hand-picked feed of writing from across the whole network, newest first. Every post comes back as plain text as well as HTML, with its author, its photos and the ID you would use to read its replies. Use 'Posted after' to see only what is new since the last run. No API key required.

**Inputs**

- Maximum results (`limit`, number): Optional. How many results to return, newest first. Defaults to 20. Micro.blog's public feeds hold a fixed recent window rather than paging, so a quiet feed returns fewer than this; 'count' says how many came back. From 1 to 200. Default: `20`.
- Posted after (`posted_after`, date and time): Optional. Only include things posted after this moment. For something that runs on a schedule, pass the previous run's 'newest_published_at' here and each run returns only what it has not seen. Leave empty for everything the feed holds.

**Outputs**

- `count` (number): How many came back.
- `newest_published_at` (text): The most recent timestamp in this result. Pass it into 'Posted after' on the next run to pick up where this one left off. Null when nothing came back.
- `posts` (list): The posts, newest first.
- `summary` (text): What happened, as a sentence.

**Example output**

```json
{
  "count": 1,
  "newest_published_at": "2026-09-14T19:34:14Z",
  "posts": [
    {
      "author_avatar_url": "https://avatars.micro.blog/avatars/2025/22/3.jpg",
      "author_name": "Manton Reece",
      "author_url": "https://manton.org",
      "author_username": "manton",
      "book": null,
      "html": "<p>Walked down to the harbour before the fog lifted.</p>",
      "id": "97532806",
      "is_reply": false,
      "photo_count": 1,
      "photo_url": "https://cdn.uploads.micro.blog/10/2026/harbour.jpg",
      "photos": [
        {
          "alt": "Fishing boats at the harbour wall, early morning.",
          "thumbnail_url": "https://cdn.micro.blog/photos/400/harbour.jpg",
          "url": "https://cdn.uploads.micro.blog/10/2026/harbour.jpg"
        }
      ],
      "published_at": "2026-09-14T19:34:14Z",
      "text": "Walked down to the harbour before the fog lifted.",
      "url": "https://www.manton.org/2026/09/14/for-the-last-week.html"
    }
  ],
  "summary": "1 featured post from Micro.blog Discover."
}
```

### Find links to someone's blog

Find out who has been linking to somebody's blog. Micro.blog collects the links other sites send it - webmentions - along with the likes and reposts relayed from social networks, and each one comes back saying which it is, which page of theirs it points at and which site it came from. Point it at your own username to see who is citing your writing. No API key required.

**Inputs**

- Username (`username`, text, required): Whose blog to check. Their Micro.blog username - the name in their profile address, so 'manton' for https://micro.blog/manton. Pasting the profile address or their name.micro.blog address works too.
- Maximum results (`limit`, number): Optional. How many results to return, newest first. Defaults to 20. Micro.blog's public feeds hold a fixed recent window rather than paging, so a quiet feed returns fewer than this; 'count' says how many came back. From 1 to 200. Default: `20`.
- Posted after (`posted_after`, date and time): Optional. Only include things posted after this moment. For something that runs on a schedule, pass the previous run's 'newest_published_at' here and each run returns only what it has not seen. Leave empty for everything the feed holds.

**Outputs**

- `count` (number): How many came back.
- `link_count` (number): How many of them are links from another site, as opposed to likes and reposts relayed from a social network.
- `mentions` (list): The mentions, newest first.
- `newest_published_at` (text): The most recent timestamp in this result. Pass it into 'Posted after' on the next run to pick up where this one left off. Null when nothing came back.
- `source_sites` (list): The sites the mentions came from, without repeats.
- `summary` (text): What happened, as a sentence.
- `username` (text): The account these came from.

**Example output**

```json
{
  "count": 1,
  "link_count": 1,
  "mentions": [
    {
      "id": "236214",
      "kind": "link",
      "published_at": "2026-09-14T21:02:11Z",
      "source_site": "tracydurnell.com",
      "source_url": "https://tracydurnell.com/2026/09/notes/",
      "target_url": "https://www.manton.org/2026/09/14/x.html"
    }
  ],
  "newest_published_at": "2026-09-14T21:02:11Z",
  "source_sites": [
    "tracydurnell.com"
  ],
  "summary": "1 mention of @manton's blog, 1 of them links.",
  "username": "manton"
}
```

### Find posts about a topic

Read one of Micro.blog's Discover topics - books, gardening, photography, bread, and around thirty-five more - newest first. The topic is picked from Micro.blog's own list, because asking for a topic that does not exist quietly returns nothing rather than saying so. Posts in the books topic also carry the book they are about. No API key required.

**Inputs**

- Topic (`topic`, text, required): The Micro.blog topic to read. Micro.blog files Discover posts under topics such as books, photography and gardening, and this list is its own - pick from it rather than typing a hashtag.
- Maximum results (`limit`, number): Optional. How many results to return, newest first. Defaults to 20. Micro.blog's public feeds hold a fixed recent window rather than paging, so a quiet feed returns fewer than this; 'count' says how many came back. From 1 to 200. Default: `20`.
- Posted after (`posted_after`, date and time): Optional. Only include things posted after this moment. For something that runs on a schedule, pass the previous run's 'newest_published_at' here and each run returns only what it has not seen. Leave empty for everything the feed holds.

**Outputs**

- `count` (number): How many came back.
- `newest_published_at` (text): The most recent timestamp in this result. Pass it into 'Posted after' on the next run to pick up where this one left off. Null when nothing came back.
- `posts` (list): The posts, newest first.
- `summary` (text): What happened, as a sentence.
- `topic` (text): The topic that was read, as Micro.blog names it.

**Example output**

```json
{
  "count": 1,
  "newest_published_at": "2026-09-14T19:34:14Z",
  "posts": [
    {
      "author_avatar_url": "https://avatars.micro.blog/avatars/2025/22/3.jpg",
      "author_name": "Manton Reece",
      "author_url": "https://manton.org",
      "author_username": "manton",
      "book": null,
      "html": "<p>Walked down to the harbour before the fog lifted.</p>",
      "id": "97532806",
      "is_reply": false,
      "photo_count": 1,
      "photo_url": "https://cdn.uploads.micro.blog/10/2026/harbour.jpg",
      "photos": [
        {
          "alt": "Fishing boats at the harbour wall, early morning.",
          "thumbnail_url": "https://cdn.micro.blog/photos/400/harbour.jpg",
          "url": "https://cdn.uploads.micro.blog/10/2026/harbour.jpg"
        }
      ],
      "published_at": "2026-09-14T19:34:14Z",
      "text": "Walked down to the harbour before the fog lifted.",
      "url": "https://www.manton.org/2026/09/14/for-the-last-week.html"
    }
  ],
  "summary": "1 post about books on Micro.blog.",
  "topic": "books"
}
```

### Find replies to a post

Read one post and everything said in reply to it, in the order Micro.blog threads them. The post itself comes back separately from its replies, so a step can quote what was said and then work through the answers. Micro.blog treats a post that does not exist the same as a post nobody replied to, so this tells the two apart. No API key required.

**Inputs**

- Post (`post_id`, text, required): The post to read the replies to. Every Micro.blog action returns an 'id' on each post it finds - use one of those, or paste the post's micro.blog address.

**Outputs**

- `count` (number): How many replies there are.
- `newest_published_at` (text): The most recent timestamp in this result. Pass it into 'Posted after' on the next run to pick up where this one left off. Null when nothing came back.
- `post` (object): The post the replies are to.
- `post_id` (text): The ID that was read, whatever was typed in.
- `repliers` (list): The usernames that replied, without repeats.
- `replies` (list): The replies, oldest first, as Micro.blog threads them.
- `summary` (text): What happened, as a sentence.

**Example output**

```json
{
  "count": 1,
  "newest_published_at": "2026-09-15T00:17:59Z",
  "post": {
    "author_avatar_url": "https://avatars.micro.blog/avatars/2025/22/3.jpg",
    "author_name": "Manton Reece",
    "author_url": "https://manton.org",
    "author_username": "manton",
    "book": null,
    "html": "<p>Walked down to the harbour before the fog lifted.</p>",
    "id": "97532806",
    "is_reply": false,
    "photo_count": 1,
    "photo_url": "https://cdn.uploads.micro.blog/10/2026/harbour.jpg",
    "photos": [
      {
        "alt": "Fishing boats at the harbour wall, early morning.",
        "thumbnail_url": "https://cdn.micro.blog/photos/400/harbour.jpg",
        "url": "https://cdn.uploads.micro.blog/10/2026/harbour.jpg"
      }
    ],
    "published_at": "2026-09-14T19:34:14Z",
    "text": "Walked down to the harbour before the fog lifted.",
    "url": "https://www.manton.org/2026/09/14/for-the-last-week.html"
  },
  "post_id": "97532806",
  "repliers": [
    "KimberlyHirsh"
  ],
  "replies": [
    {
      "author_avatar_url": "https://micro.blog/kimberlyhirsh/avatar.jpg",
      "author_name": "Kimberly Hirsh",
      "author_url": "https://kimberlyhirsh.com",
      "author_username": "KimberlyHirsh",
      "book": null,
      "html": "<p>@manton That is a lovely morning for it.</p>",
      "id": "97543236",
      "is_reply": true,
      "photo_count": 0,
      "photo_url": null,
      "photos": [],
      "published_at": "2026-09-15T00:17:59Z",
      "text": "@manton That is a lovely morning for it.",
      "url": "https://micro.blog/kimberlyhirsh/97543236"
    }
  ],
  "summary": "1 reply to @manton on Micro.blog."
}
```

### Find replies to someone

Read the replies and mentions somebody has received on Micro.blog, newest first, with who wrote each one. This is the action for noticing that a conversation has started: point it at your own username, run it on a schedule with 'Posted after', and each run returns only the replies you have not seen. No API key required.

**Inputs**

- Username (`username`, text, required): Who was replied to. Their Micro.blog username - the name in their profile address, so 'manton' for https://micro.blog/manton. Pasting the profile address or their name.micro.blog address works too.
- Maximum results (`limit`, number): Optional. How many results to return, newest first. Defaults to 20. Micro.blog's public feeds hold a fixed recent window rather than paging, so a quiet feed returns fewer than this; 'count' says how many came back. From 1 to 200. Default: `20`.
- Posted after (`posted_after`, date and time): Optional. Only include things posted after this moment. For something that runs on a schedule, pass the previous run's 'newest_published_at' here and each run returns only what it has not seen. Leave empty for everything the feed holds.

**Outputs**

- `count` (number): How many came back.
- `newest_published_at` (text): The most recent timestamp in this result. Pass it into 'Posted after' on the next run to pick up where this one left off. Null when nothing came back.
- `posts` (list): The posts, newest first.
- `summary` (text): What happened, as a sentence.
- `username` (text): The account these came from.

**Example output**

```json
{
  "count": 1,
  "newest_published_at": "2026-09-15T00:17:59Z",
  "posts": [
    {
      "author_avatar_url": "https://micro.blog/kimberlyhirsh/avatar.jpg",
      "author_name": "Kimberly Hirsh",
      "author_url": "https://kimberlyhirsh.com",
      "author_username": "KimberlyHirsh",
      "book": null,
      "html": "<p>@manton That is a lovely morning for it.</p>",
      "id": "97543236",
      "is_reply": true,
      "photo_count": 0,
      "photo_url": null,
      "photos": [],
      "published_at": "2026-09-15T00:17:59Z",
      "text": "@manton That is a lovely morning for it.",
      "url": "https://micro.blog/kimberlyhirsh/97543236"
    }
  ],
  "summary": "1 reply to @manton.",
  "username": "manton"
}
```

### Find someone's photos

Read somebody's photo posts, newest first, each with its full-size image, a thumbnail and the description they wrote for it. This is the photo half of their blog on its own, without the writing in between. No API key required.

**Inputs**

- Username (`username`, text, required): Whose photos to read. Their Micro.blog username - the name in their profile address, so 'manton' for https://micro.blog/manton. Pasting the profile address or their name.micro.blog address works too.
- Maximum results (`limit`, number): Optional. How many results to return, newest first. Defaults to 20. Micro.blog's public feeds hold a fixed recent window rather than paging, so a quiet feed returns fewer than this; 'count' says how many came back. From 1 to 200. Default: `20`.
- Posted after (`posted_after`, date and time): Optional. Only include things posted after this moment. For something that runs on a schedule, pass the previous run's 'newest_published_at' here and each run returns only what it has not seen. Leave empty for everything the feed holds.

**Outputs**

- `count` (number): How many came back.
- `newest_published_at` (text): The most recent timestamp in this result. Pass it into 'Posted after' on the next run to pick up where this one left off. Null when nothing came back.
- `posts` (list): The posts, newest first.
- `summary` (text): What happened, as a sentence.
- `username` (text): The account these came from.

**Example output**

```json
{
  "count": 1,
  "newest_published_at": "2026-09-14T19:34:14Z",
  "posts": [
    {
      "author_avatar_url": "https://avatars.micro.blog/avatars/2025/22/3.jpg",
      "author_name": "Manton Reece",
      "author_url": "https://manton.org",
      "author_username": "manton",
      "book": null,
      "html": "<p>Walked down to the harbour before the fog lifted.</p>",
      "id": "97532806",
      "is_reply": false,
      "photo_count": 1,
      "photo_url": "https://cdn.uploads.micro.blog/10/2026/harbour.jpg",
      "photos": [
        {
          "alt": "Fishing boats at the harbour wall, early morning.",
          "thumbnail_url": "https://cdn.micro.blog/photos/400/harbour.jpg",
          "url": "https://cdn.uploads.micro.blog/10/2026/harbour.jpg"
        }
      ],
      "published_at": "2026-09-14T19:34:14Z",
      "text": "Walked down to the harbour before the fog lifted.",
      "url": "https://www.manton.org/2026/09/14/for-the-last-week.html"
    }
  ],
  "summary": "1 photo post from @manton.",
  "username": "manton"
}
```

### Find someone's posts

Read what somebody has been posting on Micro.blog, newest first. Micro.blog keeps a person's replies in the same feed as the things they wrote, so 'Which posts' separates the two: a digest of somebody's writing wants their own posts, and watching a conversation wants their replies. No API key required.

**Inputs**

- Username (`username`, text, required): Whose posts to read. Their Micro.blog username - the name in their profile address, so 'manton' for https://micro.blog/manton. Pasting the profile address or their name.micro.blog address works too.
- Which posts (`include`, text): Optional. Micro.blog puts somebody's replies in the same feed as the things they wrote, so a digest of what a person is writing usually wants 'Only their own posts'. Defaults to everything. One of: `all` (Everything they posted), `posts` (Only their own posts, no replies), `replies` (Only their replies to other people). Default: `all`.
- Maximum results (`limit`, number): Optional. How many results to return, newest first. Defaults to 20. Micro.blog's public feeds hold a fixed recent window rather than paging, so a quiet feed returns fewer than this; 'count' says how many came back. From 1 to 200. Default: `20`.
- Posted after (`posted_after`, date and time): Optional. Only include things posted after this moment. For something that runs on a schedule, pass the previous run's 'newest_published_at' here and each run returns only what it has not seen. Leave empty for everything the feed holds.

**Outputs**

- `count` (number): How many came back.
- `include` (text): Which posts were kept: "all", "posts" or "replies".
- `newest_published_at` (text): The most recent timestamp in this result. Pass it into 'Posted after' on the next run to pick up where this one left off. Null when nothing came back.
- `posts` (list): The posts, newest first.
- `summary` (text): What happened, as a sentence.
- `username` (text): The account these came from.

**Example output**

```json
{
  "count": 1,
  "include": "posts",
  "newest_published_at": "2026-09-14T19:34:14Z",
  "posts": [
    {
      "author_avatar_url": "https://avatars.micro.blog/avatars/2025/22/3.jpg",
      "author_name": "Manton Reece",
      "author_url": "https://manton.org",
      "author_username": "manton",
      "book": null,
      "html": "<p>Walked down to the harbour before the fog lifted.</p>",
      "id": "97532806",
      "is_reply": false,
      "photo_count": 1,
      "photo_url": "https://cdn.uploads.micro.blog/10/2026/harbour.jpg",
      "photos": [
        {
          "alt": "Fishing boats at the harbour wall, early morning.",
          "thumbnail_url": "https://cdn.micro.blog/photos/400/harbour.jpg",
          "url": "https://cdn.uploads.micro.blog/10/2026/harbour.jpg"
        }
      ],
      "published_at": "2026-09-14T19:34:14Z",
      "text": "Walked down to the harbour before the fog lifted.",
      "url": "https://www.manton.org/2026/09/14/for-the-last-week.html"
    }
  ],
  "summary": "1 post from @manton.",
  "username": "manton"
}
```

### Find someone's timeline

Read what somebody sees on Micro.blog: the posts from everyone they follow, newest first, the same feed their own timeline shows. It is the fastest way to follow a community through one person who already follows it, without following forty accounts yourself. No API key required.

**Inputs**

- Username (`username`, text, required): Whose timeline to read. Their Micro.blog username - the name in their profile address, so 'manton' for https://micro.blog/manton. Pasting the profile address or their name.micro.blog address works too.
- Maximum results (`limit`, number): Optional. How many results to return, newest first. Defaults to 20. Micro.blog's public feeds hold a fixed recent window rather than paging, so a quiet feed returns fewer than this; 'count' says how many came back. From 1 to 200. Default: `20`.
- Posted after (`posted_after`, date and time): Optional. Only include things posted after this moment. For something that runs on a schedule, pass the previous run's 'newest_published_at' here and each run returns only what it has not seen. Leave empty for everything the feed holds.

**Outputs**

- `count` (number): How many came back.
- `newest_published_at` (text): The most recent timestamp in this result. Pass it into 'Posted after' on the next run to pick up where this one left off. Null when nothing came back.
- `posts` (list): The posts, newest first.
- `summary` (text): What happened, as a sentence.
- `username` (text): The account these came from.

**Example output**

```json
{
  "count": 1,
  "newest_published_at": "2026-09-14T19:34:14Z",
  "posts": [
    {
      "author_avatar_url": "https://avatars.micro.blog/avatars/2025/22/3.jpg",
      "author_name": "Manton Reece",
      "author_url": "https://manton.org",
      "author_username": "manton",
      "book": null,
      "html": "<p>Walked down to the harbour before the fog lifted.</p>",
      "id": "97532806",
      "is_reply": false,
      "photo_count": 1,
      "photo_url": "https://cdn.uploads.micro.blog/10/2026/harbour.jpg",
      "photos": [
        {
          "alt": "Fishing boats at the harbour wall, early morning.",
          "thumbnail_url": "https://cdn.micro.blog/photos/400/harbour.jpg",
          "url": "https://cdn.uploads.micro.blog/10/2026/harbour.jpg"
        }
      ],
      "published_at": "2026-09-14T19:34:14Z",
      "text": "Walked down to the harbour before the fog lifted.",
      "url": "https://www.manton.org/2026/09/14/for-the-last-week.html"
    }
  ],
  "summary": "1 post from the accounts @manton follows.",
  "username": "manton"
}
```

### Get someone's profile

Look somebody up on Micro.blog: their display name, the description on their profile, their blog's address, their profile picture, how many accounts they follow and how many of their posts Micro.blog has featured on Discover. Use it to check an account exists before a workflow starts reading it, or to put a real name and picture next to a username. No API key required.

**Inputs**

- Username (`username`, text, required): Whose profile to read. Their Micro.blog username - the name in their profile address, so 'manton' for https://micro.blog/manton. Pasting the profile address or their name.micro.blog address works too.

**Outputs**

- `avatar_url` (text): Their profile picture.
- `bio` (text): The description on their profile.
- `discover_count` (number): How many of their posts Micro.blog has featured.
- `following_count` (number): How many accounts they follow.
- `name` (text): Their display name.
- `profile_url` (text): Their page on Micro.blog.
- `pronouns` (text): Their pronouns, when they have set any.
- `summary` (text): What happened, as a sentence.
- `username` (text): The username, spelled the way the account spells it.
- `website_url` (text): Their blog or website.

**Example output**

```json
{
  "avatar_url": "https://avatars.micro.blog/avatars/2025/22/3.jpg",
  "bio": "I created Micro.blog.",
  "discover_count": 0,
  "following_count": 916,
  "name": "Manton Reece",
  "profile_url": "https://micro.blog/manton",
  "pronouns": null,
  "summary": "Manton Reece on Micro.blog following 916 accounts.",
  "username": "manton",
  "website_url": "https://manton.org"
}
```

### List topics

List every topic Micro.blog files Discover posts under, with the emoji it shows each one with and whether it is one of the featured ones. These names are exactly what 'Find posts about a topic' takes, so this is the step to run first when a workflow should sweep several topics rather than one. No API key required.

**Inputs**: None.

**Outputs**

- `count` (number): How many came back.
- `featured_names` (list): Just the ones Micro.blog puts on the front of Discover.
- `names` (list): Just the names, in the same order, to loop a topic step over.
- `summary` (text): What happened, as a sentence.
- `topics` (list): Every topic, in the order Micro.blog lists them.

**Example output**

```json
{
  "count": 2,
  "featured_names": [
    "books",
    "knitting"
  ],
  "names": [
    "books",
    "knitting"
  ],
  "summary": "2 Micro.blog topics, 2 of them featured on Discover.",
  "topics": [
    {
      "emoji": "\ud83d\udcda",
      "is_featured": true,
      "title": "books",
      "topic": "books"
    },
    {
      "emoji": "\ud83e\uddf6",
      "is_featured": true,
      "title": "knitting & crochet",
      "topic": "knitting"
    }
  ]
}
```
