# Micro.blog Discover API
> Live Micro.blog Discover timeline as an API — a window into what the Micro.blog community is sharing right now. Micro.blog is an independent, ad-free microblogging and short-form blogging platform, and its Discover feed is a human-curated stream of the best recent posts, also sliced into curated topics: books, photos, music, art, movies, podcasts, travel and writing. For each post this returns the author (name, username, profile URL and avatar), the post text and HTML, its permalink and publish time, and flags such as whether it is a conversation or a link-post. Pull the main Discover stream, a single topic, or the list of curated topics. A clean discovery layer for social readers, dashboards and content apps. Live, no key. Distinct from Mastodon, Misskey and Mbin APIs (other platforms) and from book or reading APIs — this is Micro.blog's own curated discovery feed.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/microblog-api/..."
```

## Pricing
- **Free** (Free) — 10,000 calls/Mo, 5 req/s
- **Starter** ($8/Mo) — 150,000 calls/Mo, 15 req/s
- **Pro** ($21/Mo) — 750,000 calls/Mo, 40 req/s
- **Scale** ($48/Mo) — 4,000,000 calls/Mo, 100 req/s

## Endpoints

### Discover

#### `GET /v1/discover` — Main curated Discover stream

**Parameters:**
- `limit` (query, optional, string) — Posts to return (1-100) Example: `30`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/microblog-api/v1/discover?limit=30"
```

**Response:**
```json
{
    "data": {
        "count": 30,
        "posts": [
            {
                "id": "91797127",
                "url": "https://ross.karchner.com/2026/06/08/i-saw-this-on-my.html",
                "rank": 1,
                "text": "I saw this on my walk tonight. I’ve decided that it’s the Godot guy, and he wants me to stop slacking on gamedev stuff. Tonight, my goal is to get get my Jezzball-like-game to the point where it identifies and fills in areas that have been closed off.",
                "author": {
                    "url": "https://ross.karchner.com",
                    "name": "Ross Karchner",
                    "avatar": "https://cdn.micro.blog/photos/96/https%3A%2F%2Favatars.micro.blog%2Favatars%2F2023%2F43%2F1498288.jpg",
                    "username": "ross.karchner.com"
                },
                "excerpt": "I saw this on my walk tonight. I’ve decided that it’s the Godot guy, and he wants me to stop slacking on gamedev stuff. Tonight, my goal is to get get my Jezzball-like-game to the point where it identifies and fills in areas that have been closed off.",
                "published": "2026-06-09T00:40:12+00:00",
                "timestamp": 1780965612,
                "is_mention": false,
                "is_linkpost": false,
                "is_conversation": false
            },
            {
                "id": "91796772",
                "url": "https://andshewas.micro.blog/2026/06/08/obiter-dictum-why-i-havent.html",
    
…(truncated, see openapi.json for full schema)
```

### Topic

#### `GET /v1/topic` — Posts for a curated topic

**Parameters:**
- `topic` (query, required, string) — Topic: books|photos|music|art|movies|podcasts|travel|writing Example: `books`
- `limit` (query, optional, string) — Posts to return (1-100) Example: `30`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/microblog-api/v1/topic?topic=books&limit=30"
```

**Response:**
```json
{
    "data": {
        "count": 30,
        "posts": [
            {
                "id": "91800419",
                "url": "https://samfiske.net/2026/06/08/this-book-is-as-insightful.html",
                "rank": 1,
                "text": "This book is as insightful as people claimed. Homelessness is one of those issues people see some stats on, then move on. This grounds those stats in real life experiences, but names and faces to numbers. Finished reading: There Is No Place for Us by Brian Goldstone 📚",
                "author": {
                    "url": "http://samfiske.net",
                    "name": "Sam Fiske",
                    "avatar": "https://avatars.micro.blog/avatars/2025/04/1717217.jpg",
                    "username": "samfiske.net"
                },
                "excerpt": "This book is as insightful as people claimed. Homelessness is one of those issues people see some stats on, then move on. This grounds those stats in real life experiences, but names and faces to numbers. Finished reading: There Is No Place for Us by Brian Goldstone 📚",
                "published": "2026-06-09T01:38:46+00:00",
                "timestamp": 1780969126,
                "is_mention": false,
                "is_linkpost": false,
                "is_conversation": false
            },
            {
                "id": "91780157",
                "url": "https://dain.micro.blog/2026/06/08/currently-reading-yellowface-by-rf.html",
                "rank": 2,
…(truncated, see openapi.json for full schema)
```

### Topics

#### `GET /v1/topics` — List curated Discover topics

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/microblog-api/v1/topics"
```

**Response:**
```json
{
    "data": {
        "count": 8,
        "topics": [
            {
                "url": "https://micro.blog/discover/books",
                "slug": "books",
                "description": "Books, reading and literature"
            },
            {
                "url": "https://micro.blog/discover/photos",
                "slug": "photos",
                "description": "Photography and photo posts"
            },
            {
                "url": "https://micro.blog/discover/music",
                "slug": "music",
                "description": "Music, albums and listening"
            },
            {
                "url": "https://micro.blog/discover/art",
                "slug": "art",
                "description": "Art, illustration and design"
            },
            {
                "url": "https://micro.blog/discover/movies",
                "slug": "movies",
                "description": "Film and television"
            },
            {
                "url": "https://micro.blog/discover/podcasts",
                "slug": "podcasts",
                "description": "Podcasts and audio"
            },
            {
                "url": "https://micro.blog/discover/travel",
                "slug": "travel",
                "description": "Travel and places"
            },
            {
                "url": "https://micro.blog/discover/writing",
                "slug": "writing",
                "description": "Writing, blogging and the craft"
   
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Service metadata

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/microblog-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "source": "Micro.blog public Discover JSON Feed (live)",
        "topics": [
            "books",
            "photos",
            "music",
            "art",
            "movies",
            "podcasts",
            "travel",
            "writing"
        ],
        "service": "microblog-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/topic": "Posts for a curated topic (topic=books|photos|music|art|movies|podcasts|travel|writing, limit).",
            "GET /v1/topics": "List the curated Discover topics.",
            "GET /v1/discover": "Main curated Discover stream (limit up to 100)."
        },
        "description": "Live Micro.blog Discover timeline as an API: the human-curated stream of the best recent posts on Micro.blog, plus curated topics (books, photos, music, art, movies, podcasts, travel, writing). Each post carries author (name, username, profile, avatar), text and HTML, permalink, publish time and post-type flags. Pull the main Discover stream, a topic, or the topic list. Live, no key. Distinct from Mastodon / Misskey / Mbin and from book/reading APIs — this is Micro.blog's curated discovery layer.",
        "discover_items_now": 50
    },
    "meta": {
        "timestamp": "2026-06-09T03:02:48.108Z",
        "request_id": "79081c75-7055-4242-8e09-c9b282de563f"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/microblog-api
OpenAPI spec: https://www.oanor.com/api/microblog-api/openapi.json
