**Version: 202601**

# List blogs

**GET** `/openapi/2026-01/blogs`

Retrieve a list of all blogs with pagination.

## Request

**Query Parameters**

- `cursor` string

  Cursor for pagination
- `page_size` int32

  Page size, default 10
- `keyword` string

  Optional keyword to fuzzy-match blog title
- `page` int32

  Page number (1-based). Mutually exclusive with cursor

## Responses

**200**

OK

**application/json**

**Schema | Example**

**Schema**

- `code` string

  error code
- `message` string

  error message
- `data` object

  - `blogs` object[]

    List of blogs

    *   Array \[

    - `id` string

      Blog ID
    - `title` string

      Title of the blog
    - `handle` string

      SEO URL
    - `seo_title` string

      SEO title
    - `seo_description` string

      SEO description
    - `seo_keywords` string[]

      SEO keywords
    - `created_at` string

      Created time
    - `updated_at` string

      Updated time
    - `article_count` int32

      Number of articles under this blog
    *   \]
  - `cursor` string

    Cursor for the next page
  - `has_more` boolean

    Whether there are more records
  - `count` int32

    Total number of blogs (from the backend)

```json
{
  "code": "string",
  "message": "string",
  "data": {
    "blogs": [
      {
        "id": "string",
        "title": "string",
        "handle": "string",
        "seo_title": "string",
        "seo_description": "string",
        "seo_keywords": [
          "string"
        ],
        "created_at": "string",
        "updated_at": "string",
        "article_count": 0
      }
    ],
    "cursor": "string",
    "has_more": true,
    "count": 0
  }
}
```
