---
title: "List Newsfeed Events"
method: GET
path: "/api/v3/newsfeed"
tags: ["Newsfeed"]
---

# List Newsfeed Events

`GET /api/v3/newsfeed`

Return a paginated list of newsfeed events ordered by most recent first. Supports an optional type filter via the "type" query parameter and fixed page sizes (10, 20, 25, 50).

## Query parameters

- `page_size` integer
- `page_number` integer
- `type` 'new_map' | 'record' | 'archive' | 'unarchive' | 'bulk_archive' | 'bulk_unarchive' | 'guide' | 'legacy_record' | 'map_edit' | 'role' | 'announcement' | 'linked_map' | 'unlinked_map' | 'null', nullable

## Response `200`

Request fulfilled, document follows

- NewsfeedEvent[], nullable
  - `id` integer, nullable
  - `timestamp` string, date-time, required
  - `payload` union, required
    - NewsfeedRecord
      - `code` string, required
      - `map_name` string, required
      - `time` number, required
      - `video` string, required — Must be a valid URL starting with http:// or https://.
      - `rank_num` integer, required
      - `name` string, required
      - `medal` 'Gold' | 'Silver' | 'Bronze' | 'null', nullable
      - `difficulty` 'Easy -' | 'Easy' | 'Easy +' | 'Medium -' | 'Medium' | 'Medium +' | 'Hard -' | 'Hard' | 'Hard +' | 'Very Hard -' | 'Very Hard' | 'Very Hard +' | 'Extreme -' | 'Extreme' | 'Extreme +' | 'Hell', required
      - `type` 'record', required
    - NewsfeedNewMap
      - `code` string, required
      - `map_name` string, required
      - `difficulty` 'Easy -' | 'Easy' | 'Easy +' | 'Medium -' | 'Medium' | 'Medium +' | 'Hard -' | 'Hard' | 'Hard +' | 'Very Hard -' | 'Very Hard' | 'Very Hard +' | 'Extreme -' | 'Extreme' | 'Extreme +' | 'Hell', required
      - `creators` string[], required
      - `title` string, nullable
      - `banner_url` string, nullable
      - `official` boolean
      - `type` 'new_map', required
    - NewsfeedArchive
      - `code` string, required
      - `map_name` string, required
      - `creators` string[], required
      - `difficulty` 'Easy -' | 'Easy' | 'Easy +' | 'Medium -' | 'Medium' | 'Medium +' | 'Hard -' | 'Hard' | 'Hard +' | 'Very Hard -' | 'Very Hard' | 'Very Hard +' | 'Extreme -' | 'Extreme' | 'Extreme +' | 'Hell', required
      - `reason` string, required
      - `type` 'archive', required
    - NewsfeedUnarchive
      - `code` string, required
      - `map_name` string, required
      - `creators` string[], required
      - `difficulty` 'Easy -' | 'Easy' | 'Easy +' | 'Medium -' | 'Medium' | 'Medium +' | 'Hard -' | 'Hard' | 'Hard +' | 'Very Hard -' | 'Very Hard' | 'Very Hard +' | 'Extreme -' | 'Extreme' | 'Extreme +' | 'Hell', required
      - `reason` string, required
      - `type` 'unarchive', required
    - NewsfeedBulkArchive
      - `codes` string[], required
      - `reason` string, required
      - `type` 'bulk_archive', required
    - NewsfeedBulkUnarchive
      - `codes` string[], required
      - `reason` string, required
      - `type` 'bulk_unarchive', required
    - NewsfeedGuide
      - `code` string, required
      - `guide_url` string, required — Must be a valid URL starting with http:// or https://.
      - `name` string, required
      - `type` 'guide', required
    - NewsfeedLegacyRecord
      - `code` string, required
      - `affected_count` integer, required
      - `reason` string, required
      - `type` 'legacy_record', required
    - NewsfeedMapEdit
      - `code` string, required
      - `changes` NewsfeedFieldChange[], required
        - `field` string, required
        - `old` union
          - string
          - integer
          - number
          - boolean
        - `new` union
          - string
          - integer
          - number
          - boolean
      - `reason` string, required
      - `type` 'map_edit', required
    - NewsfeedRole
      - `user_id` integer, required
      - `name` string, required
      - `added` string[], required
      - `type` 'role', required
    - NewsfeedAnnouncement
      - `title` string, required
      - `content` string, required
      - `url` string, nullable
      - `banner_url` string, nullable
      - `thumbnail_url` string, nullable
      - `from_discord` boolean
      - `type` 'announcement', required
    - NewsfeedLinkedMap
      - `official_code` string, required
      - `unofficial_code` string, required
      - `playtest_id` integer, nullable
      - `type` 'linked_map', required
    - NewsfeedUnlinkedMap
      - `official_code` string, required
      - `unofficial_code` string, required
      - `reason` string, required
      - `type` 'unlinked_map', required
  - `event_type` 'new_map' | 'record' | 'archive' | 'unarchive' | 'bulk_archive' | 'bulk_unarchive' | 'guide' | 'legacy_record' | 'map_edit' | 'role' | 'announcement' | 'linked_map' | 'unlinked_map' | 'null', nullable
  - `total_results` integer, nullable

## Other responses

- `400` — Bad request syntax or unsupported method

---

[API](https://skmtc.net/genji/apis/genji-shimada-api.md) · [All operations](https://skmtc.net/genji/apis/genji-shimada-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/genji/genji-shimada-api/versions/6db12055b305/schema)
