---
title: "List blog posts"
method: GET
path: "/api/v1/blog/posts"
---

# List blog posts

`GET /api/v1/blog/posts`

## Request

- Base URL: `https://www.serverless.com`
- URL: `https://www.serverless.com/api/v1/blog/posts`
- Auth: none required

Paginated list of Serverless blog posts, newest first, with links to each post’s HTML and markdown representations.

## Query parameters

- `limit` integer
- `offset` integer

## Response `200`

List blog posts

- object
  - `data` BlogPost[], required
    - `slug` string, required
    - `title` string, required
    - `description` string, nullable
    - `date` string, nullable: Publication date (ISO 8601).
    - `authors` string[]
    - `categories` string[]
    - `url` string, uri, required: HTML representation.
    - `markdown_url` string, uri, required: Markdown representation.
  - `pagination` Pagination, required
    - `total` integer, required: Total items available.
    - `limit` integer, required
    - `offset` integer, required
    - `hasMore` boolean, required: Whether more items exist beyond this page.

## Other responses

- `400`: Invalid limit or offset parameter.
- `429`: Rate limit exceeded. Wait `Retry-After` seconds, then retry; honor the RateLimit headers to self-throttle.

---

[API](https://skmtc.dev/serverless/apis/serverless-framework-serverless-com.md) - [All operations](https://skmtc.dev/serverless/apis/serverless-framework-serverless-com/llms.txt) - [OpenAPI document](https://skmtc.dev/serverless/apis/serverless-framework-serverless-com/revisions/3eaea5299640?raw)
