---
title: "List Posts"
method: GET
path: "/api/v1/public-blog/posts"
tags: ["Public Blog"]
---

# List Posts

`GET /api/v1/public-blog/posts`

## Request

- Base URL: `https://api.seoproai.co`
- URL: `https://api.seoproai.co/api/v1/public-blog/posts`
- Auth: none required

List published blog posts with pagination.

This endpoint is public (no authentication required).
Only returns posts with status='published'.

## Query parameters

- `page` integer: Page number
- `per_page` integer: Posts per page
- `category` string, nullable: Filter by category slug
- `tag` string, nullable: Filter by tag

## Response `200`

Successful Response

- PublicBlogPostListResponse: Response model for listing blog posts with pagination
  - `posts` PublicBlogPostListItem[], required
    - `id` string, required
    - `title` string, required
    - `slug` string, required
    - `excerpt` string, nullable, required
    - `featured_image_url` string, nullable, required
    - `featured_image_alt` string, nullable, required
    - `category_name` string, nullable, required
    - `category_slug` string, nullable, required
    - `tags` string[], required
    - `published_at` string, nullable, required
    - `author_name` string, required
    - `reading_time_minutes` integer, nullable, required
  - `total` integer, required
  - `page` integer, required
  - `per_page` integer, required
  - `total_pages` integer, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/seoproai/apis/seopro-ai.md) · [All operations](https://skmtc.dev/seoproai/apis/seopro-ai/llms.txt) · [OpenAPI document](https://skmtc.dev/seoproai/apis/seopro-ai/revisions/5b4b6391ddc9?raw)
