---
title: "List recently read articles"
method: GET
path: "/api/v1/articles/recently-read"
tags: ["Articles"]
---

# List recently read articles

`GET /api/v1/articles/recently-read`

## Request

- Base URL: `https://feednest.com`
- URL: `https://feednest.com/api/v1/articles/recently-read`
- Auth: HTTP bearer

Returns the articles the user opened most recently, newest first. Paginated by `before_opened_at` rather than `before_published_at`, because the ordering is by reading time and not publication time. The `since` parameter is an alias for `date_from`. Requires the `read` scope.

## Query parameters

- `limit` integer
- `before_opened_at` string, date-time
- `before_id` string, uuid
- `q` string
- `since` string, date
- `date_from` string, date
- `date_to` string, date
- `sort` 'newest' | 'oldest'

## Response `200`

Paginated recently-read list

- object
  - `data` RecentlyReadV1[], required
    - `id` string, uuid, required
    - `title` string, nullable, required
    - `source` string, nullable, required
    - `url` string, uri, required
    - `published_at` string, date-time, nullable, required
    - `summary_preview` string, nullable, required
    - `image_url` string, uri, nullable, required
    - `is_read` boolean, required
    - `is_saved` boolean, required
    - `tags` string[], required
    - `highlights_count` integer, required
    - `notes_count` integer, required
    - `opened_at` string, date-time, nullable, required
    - `reading_time_seconds` integer, nullable, required
  - `meta` object, required
    - `has_more` boolean, required

## Other responses

- `400`: Input validation failed
- `401`: Missing or invalid API key
- `403`: Insufficient permissions or subscription required
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/feednest/apis/feednest-public-api.md) · [All operations](https://skmtc.dev/feednest/apis/feednest-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/feednest/apis/feednest-public-api/revisions/51c8242d8418?raw)
