Build with Micro.blog logo
Build with Micro.blog
API Documentation

Feeds and Reader

View .md

Feedbin-compatible reader endpoints, feed highlights, recap settings, public JSON feeds, and feed discovery helpers.

BASE URL https://micro.blog
GET /blogroll.org.json

Returns the public blogroll.org JSON feed.

Example Request

curl -X GET "https://micro.blog/blogroll.org.json"

Response

200 OK application/json

Returns a JSON Feed response.

Example Response

{
  "version": "https://jsonfeed.org/version/1.1",
  "items": []
}
GET /feeds/highlights

Returns reader highlights in JSON Feed format.

Example Request

curl -X GET "https://micro.blog/feeds/highlights" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Query Parameters

Name Type Required Description
limit integer Optional Maximum number of items to return.
Example: 25
offset integer Optional Number of items to skip before returning results.

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Response

200 OK application/json

Returns a JSON Feed response.

Example Response

{
  "version": "https://jsonfeed.org/version/1.1",
  "items": []
}
GET /feeds/photos.json

Returns the public photos feed in JSON Feed format.

Example Request

curl -X GET "https://micro.blog/feeds/photos.json"

Response

200 OK application/json

Returns a JSON Feed response.

Example Response

{
  "version": "https://jsonfeed.org/version/1.1",
  "items": []
}
POST /feeds/recap

Builds or queues an HTML recap for reader entries.

Example Request

curl -X POST "https://micro.blog/feeds/recap" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Query Parameters

Name Type Required Description
reset integer Optional Set to 1 to reset cached recap output.
Example: 1

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Request Body

Name Type Required Description
ids array Required Array of entry IDs to include in the recap.
Example: [123 456]

Response

202 OK text/html

Returns cached recap HTML when ready, otherwise queues work and returns 202.

Example Response

<article class="microblog-recap">
  <h2>Today in your feeds</h2>
  <p>Summary HTML for the requested entries.</p>
</article>
GET /feeds/recap/email

Returns reader recap email settings.

Example Request

curl -X GET "https://micro.blog/feeds/recap/email" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Response

200 OK application/json

Returns a JSON response.

Example Response

{
  "dayofweek": "monday"
}
POST /feeds/recap/email

Updates reader recap email settings.

Example Request

curl -X POST "https://micro.blog/feeds/recap/email?dayofweek=monday" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Query Parameters

Name Type Required Description
dayofweek string Required Recap email day of week.
Example: monday

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Response

200 OK application/json

Returns a JSON response.

Example Response

{
  "dayofweek": "monday"
}
GET /feeds/v2/entries.json

Returns Feedbin-compatible entries.

Example Request

curl -X GET "https://micro.blog/feeds/v2/entries.json" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Query Parameters

Name Type Required Description
ids string Optional Comma-separated entry IDs.
Example: 123,456
read string Optional Filter by read state. Use false for unread and true for read.
Example: false
since string Optional ISO 8601 timestamp used to return newer records.
Example: 2026-04-26T12:00:00Z
starred boolean Optional Filter starred entries.
Example: true
per_page integer Optional Number of entries per page.
Example: 25
page integer Optional Page number.
Example: 1
mode string Optional Response mode. Use extended to include extended fields.
Example: extended
include_enclosure boolean Optional Set to true to include enclosure data.
Example: true

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Response

200 OK application/json

Returns a JSON response.

Example Response

[
  {
    "id": 1001,
    "feed_id": 123,
    "title": "Example post",
    "url": "https://example.com/post",
    "extracted_content_url": null,
    "author": "Example Author",
    "content": "<p>Entry HTML.</p>",
    "summary": "Entry summary.",
    "published": "2026-04-26T12:00:00.000000Z",
    "created_at": "2026-04-26T12:05:00.000000Z"
  }
]
GET /feeds/v2/entries/{id}.json

Returns one Feedbin-compatible entry.

Example Request

curl -X GET "https://micro.blog/feeds/v2/entries/{id}.json" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Query Parameters

Name Type Required Description
mode string Optional Response mode. Use extended to include extended fields.
Example: extended
include_enclosure boolean Optional Set to true to include enclosure data.
Example: true

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Path Parameters

Name Type Required Description
id integer Required Resource identifier.
Example: 12345

Response

200 OK application/json

Returns a JSON response.

Example Response

{
  "id": 1001,
  "feed_id": 123,
  "title": "Example post",
  "url": "https://example.com/post",
  "extracted_content_url": null,
  "author": "Example Author",
  "content": "<p>Entry HTML.</p>",
  "summary": "Entry summary.",
  "published": "2026-04-26T12:00:00.000000Z",
  "created_at": "2026-04-26T12:05:00.000000Z"
}
GET /feeds/v2/feeds/{id}/entries.json

Returns entries for a single feed source.

Example Request

curl -X GET "https://micro.blog/feeds/v2/feeds/{id}/entries.json" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Query Parameters

Name Type Required Description
read string Optional Filter by read state. Use false for unread and true for read.
Example: false
starred boolean Optional Filter starred entries.
Example: true
since string Optional ISO 8601 timestamp used to return newer records.
Example: 2026-04-26T12:00:00Z
per_page integer Optional Number of entries per page.
Example: 25
page integer Optional Page number.
Example: 1
mode string Optional Response mode. Use extended to include extended fields.
Example: extended
include_enclosure boolean Optional Set to true to include enclosure data.
Example: true

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Path Parameters

Name Type Required Description
id integer Required Resource identifier.
Example: 12345

Response

200 OK application/json

Returns a JSON response.

Example Response

[
  {
    "id": 1001,
    "feed_id": 123,
    "title": "Example post",
    "url": "https://example.com/post",
    "extracted_content_url": null,
    "author": "Example Author",
    "content": "<p>Entry HTML.</p>",
    "summary": "Entry summary.",
    "published": "2026-04-26T12:00:00.000000Z",
    "created_at": "2026-04-26T12:05:00.000000Z"
  }
]
GET /feeds/v2/icons.json

Returns feed icon URLs for subscribed feeds.

Example Request

curl -X GET "https://micro.blog/feeds/v2/icons.json" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Response

200 OK application/json

Returns a JSON response.

Example Response

[
  {
    "host": "example.com",
    "url": "https://example.com/favicon.png"
  }
]
DELETE /feeds/v2/starred_entries.json

Unstars entries.

Example Request

curl -X DELETE "https://micro.blog/feeds/v2/starred_entries.json" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Request Body

Name Type Required Description
starred_entries array Required Array of entry IDs to star or unstar.
Example: [123 456]

Response

200 OK application/json

Returns a JSON response.

Example Response

[
  1001,
  1002
]
GET /feeds/v2/starred_entries.json

Returns starred entry IDs.

Example Request

curl -X GET "https://micro.blog/feeds/v2/starred_entries.json" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Response

200 OK application/json

Returns a JSON response.

Example Response

[
  1001,
  1002
]
POST /feeds/v2/starred_entries.json

Stars entries.

Example Request

curl -X POST "https://micro.blog/feeds/v2/starred_entries.json" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Request Body

Name Type Required Description
starred_entries array Required Array of entry IDs to star or unstar.
Example: [123 456]

Response

200 OK application/json

Returns a JSON response.

Example Response

[
  1001,
  1002
]
GET /feeds/v2/subscriptions.json

Returns Feedbin-compatible subscriptions.

Example Request

curl -X GET "https://micro.blog/feeds/v2/subscriptions.json" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Query Parameters

Name Type Required Description
since string Optional ISO 8601 timestamp used to return newer records.
Example: 2026-04-26T12:00:00Z
mode string Optional Response mode. Use extended to include extended fields.
Example: extended

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Response

200 OK application/json

Returns a JSON response.

Example Response

[
  {
    "id": 456,
    "created_at": "2026-04-26T12:00:00.000000Z",
    "feed_id": 123,
    "title": "Example Feed",
    "feed_url": "https://example.com/feed.json",
    "site_url": "https://example.com/"
  }
]
POST /feeds/v2/subscriptions.json

Creates a subscription from a feed URL.

Example Request

curl -X POST "https://micro.blog/feeds/v2/subscriptions.json?feed_url=https%3A%2F%2Fexample.com%2Ffeed.json" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Query Parameters

Name Type Required Description
feed_url string Required Feed URL.
Example: https://example.com/feed.json

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Response

200 OK application/json

Returns a JSON response.

Example Response

{
  "id": 456,
  "created_at": "2026-04-26T12:00:00.000000Z",
  "feed_id": 123,
  "title": "Example Feed",
  "feed_url": "https://example.com/feed.json",
  "site_url": "https://example.com/"
}
DELETE /feeds/v2/subscriptions/{id}.json

Deletes a subscription.

Example Request

curl -X DELETE "https://micro.blog/feeds/v2/subscriptions/{id}.json" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Path Parameters

Name Type Required Description
id integer Required Resource identifier.
Example: 12345

Response

204 OK text/plain

Returns no content on success.

Example Response

(empty response body)
GET /feeds/v2/subscriptions/{id}.json

Returns one Feedbin-compatible subscription.

Example Request

curl -X GET "https://micro.blog/feeds/v2/subscriptions/{id}.json" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Query Parameters

Name Type Required Description
mode string Optional Response mode. Use extended to include extended fields.
Example: extended

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Path Parameters

Name Type Required Description
id integer Required Resource identifier.
Example: 12345

Response

200 OK application/json

Returns a JSON response.

Example Response

{
  "id": 456,
  "created_at": "2026-04-26T12:00:00.000000Z",
  "feed_id": 123,
  "title": "Example Feed",
  "feed_url": "https://example.com/feed.json",
  "site_url": "https://example.com/"
}
PATCH /feeds/v2/subscriptions/{id}.json

Updates a subscription title.

Example Request

curl -X PATCH "https://micro.blog/feeds/v2/subscriptions/{id}.json" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93" \
  --data "title=Book title"

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Request Body

Name Type Required Description
title string Required Title value.
Example: Book title

Path Parameters

Name Type Required Description
id integer Required Resource identifier.
Example: 12345

Response

200 OK application/json

Returns a JSON response.

Example Response

{
  "id": 456,
  "created_at": "2026-04-26T12:00:00.000000Z",
  "feed_id": 123,
  "title": "Renamed Feed",
  "feed_url": "https://example.com/feed.json",
  "site_url": "https://example.com/"
}
POST /feeds/v2/subscriptions/{id}/update.json

Queues a refresh for a subscription.

Example Request

curl -X POST "https://micro.blog/feeds/v2/subscriptions/{id}/update.json" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Path Parameters

Name Type Required Description
id integer Required Resource identifier.
Example: 12345

Response

200 OK application/json

Returns a JSON response.

Example Response

{
  "id": 456,
  "created_at": "2026-04-26T12:00:00.000000Z",
  "feed_id": 123,
  "title": "Example Feed",
  "feed_url": "https://example.com/feed.json",
  "site_url": "https://example.com/"
}
DELETE /feeds/v2/unread_entries.json

Marks entries as read.

Example Request

curl -X DELETE "https://micro.blog/feeds/v2/unread_entries.json" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Request Body

Name Type Required Description
unread_entries array Required Array of entry IDs to mark unread or read.
Example: [123 456]

Response

200 OK application/json

Returns the entry IDs that were marked read.

Example Response

[
  1001,
  1002
]
GET /feeds/v2/unread_entries.json

Returns unread entry IDs.

Example Request

curl -X GET "https://micro.blog/feeds/v2/unread_entries.json" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Response

200 OK application/json

Returns a JSON response.

Example Response

[
  1001,
  1002
]
POST /feeds/v2/unread_entries.json

Marks entries as unread.

Example Request

curl -X POST "https://micro.blog/feeds/v2/unread_entries.json" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Request Body

Name Type Required Description
unread_entries array Required Array of entry IDs to mark unread or read.
Example: [123 456]

Response

200 OK application/json

Returns the entry IDs that were marked unread.

Example Response

[
  1001,
  1002
]
POST /feeds/v2/unread_entries/delete.json

Marks entries as read using Feedbin-compatible POST semantics.

Example Request

curl -X POST "https://micro.blog/feeds/v2/unread_entries/delete.json" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Request Body

Name Type Required Description
unread_entries array Required Array of entry IDs to mark unread or read.
Example: [123 456]

Response

200 OK application/json

Returns a JSON response.

Example Response

[
  1001,
  1002
]
GET /feeds/{entry_id}/highlights

Returns highlights for one reader entry in JSON Feed format.

Example Request

curl -X GET "https://micro.blog/feeds/{entry_id}/highlights" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Path Parameters

Name Type Required Description
entry_id integer Required Reader entry identifier.
Example: 789

Response

200 OK application/json

Returns a JSON Feed response.

Example Response

{
  "version": "https://jsonfeed.org/version/1.1",
  "items": []
}
POST /feeds/{entry_id}/highlights

Creates a highlight for a reader entry.

Example Request

curl -X POST "https://micro.blog/feeds/{entry_id}/highlights?text=Highlighted+text" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Query Parameters

Name Type Required Description
text string Required Text content.
Example: Highlighted text
start integer Optional Selection start offset.
Example: 10
end integer Optional Selection end offset.
Example: 40

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Path Parameters

Name Type Required Description
entry_id integer Required Reader entry identifier.
Example: 789

Response

200 OK application/json

Returns a JSON response.

Example Response

{
  "id": 987,
  "count": 3
}
DELETE /feeds/{entry_id}/highlights/{highlight_id}

Deletes a reader highlight.

Example Request

curl -X DELETE "https://micro.blog/feeds/{entry_id}/highlights/{highlight_id}" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Path Parameters

Name Type Required Description
entry_id integer Required Reader entry identifier.
Example: 789
highlight_id integer Required Highlight identifier.
Example: 987

Response

200 OK application/json

Returns an empty JSON object on success.

Example Response

{}
GET /feeds/{username}.json

Returns a public user feed in JSON Feed format.

Example Request

curl -X GET "https://micro.blog/feeds/{username}.json"

Query Parameters

Name Type Required Description
count integer Optional count parameter.
Example: example

Path Parameters

Name Type Required Description
username string Required Micro.blog username.
Example: vincent

Response

200 OK application/json

Returns a JSON Feed response.

Example Response

{
  "version": "https://jsonfeed.org/version/1.1",
  "items": []
}
GET /feeds/{username}/bookmarks/{readlater_queue}.json

Returns a private JSON Feed of bookmark and archived read-later links for a user queue.

Example Request

curl -X GET "https://micro.blog/feeds/{username}/bookmarks/{readlater_queue}.json"

Path Parameters

Name Type Required Description
username string Required Micro.blog username.
Example: vincent
readlater_queue string Required Private read-later queue token for the user.
Example: QUEUE_TOKEN

Response

200 OK application/json

Returns a JSON Feed response.

Example Response

{
  "version": "https://jsonfeed.org/version/1",
  "items": []
}
GET /feeds/{username}/mentions.json

Returns public mentions for a user in JSON Feed format.

Example Request

curl -X GET "https://micro.blog/feeds/{username}/mentions.json"

Query Parameters

Name Type Required Description
count integer Optional count parameter.
Example: example

Path Parameters

Name Type Required Description
username string Required Micro.blog username.
Example: vincent

Response

200 OK application/json

Returns a JSON Feed response.

Example Response

{
  "version": "https://jsonfeed.org/version/1.1",
  "items": []
}
GET /feeds/{username}/readlater/{readlater_queue}.json

Returns a private JSON Feed of read-later articles for a user queue.

Example Request

curl -X GET "https://micro.blog/feeds/{username}/readlater/{readlater_queue}.json"

Path Parameters

Name Type Required Description
username string Required Micro.blog username.
Example: vincent
readlater_queue string Required Private read-later queue token for the user.
Example: QUEUE_TOKEN

Response

200 OK application/json

Returns a JSON Feed response.

Example Response

{
  "version": "https://jsonfeed.org/version/1",
  "items": []
}
GET /feeds/{username}/webmentions.json

Returns public webmentions for a user in JSON Feed format.

Example Request

curl -X GET "https://micro.blog/feeds/{username}/webmentions.json"

Path Parameters

Name Type Required Description
username string Required Micro.blog username.
Example: vincent

Response

200 OK application/json

Returns a JSON Feed response.

Example Response

{
  "version": "https://jsonfeed.org/version/1.1",
  "items": []
}