Skip to content

Resource ArticleResource

CrucifiedPain edited this page Jun 26, 2026 · 10 revisions

ArticleResource (client.article)

Endpoints: • article.getArticleById • article.getArticleLiteById • article.getArticlesPaginated (cursor-paginated)

.collect_all()

Fetch all items across all pages concurrently using parallel time-slicing.

Signature

await client.article.collect_all(**kwargs: 'typing.Any') -> 'list[ArticleLite]'

Parameters

Name Type Default
kwargs Any Required

Return Models

ArticleLite

Field Type Required
_id string Optional
__v integer Optional
title string Optional
authorId string Optional
countryId string Optional
type string Optional
category string Optional
language string Optional
score integer Optional
views integer Optional
image string Optional
createdAt string Optional
author string Optional
content string Optional
isDeleted boolean Optional
isPublished boolean Optional
isPublic boolean Optional
slug string Optional
publishedAt string Optional
stats ArticleStats Optional
updatedAt string Optional

ArticleStats

Field Type Required
_id string Optional
__v integer Optional
comments integer Optional
dislikes integer Optional
gemTips integer Optional
likes integer Optional
score integer Optional
subs integer Optional
tips integer Optional
views integer Optional

.get()

Get a full article by ID (includes content body).

Signature

await client.article.get(article_id: 'str') -> 'Article'

Parameters

Name Type Default
article_id str Required

Return Models

Article

Field Type Required
_id string Optional
__v integer Optional
title string Optional
content string Optional
authorId string Optional
countryId string Optional
type string Optional
category string Optional
language string Optional
score integer Optional
views integer Optional
comments integer Optional
image string Optional
createdAt string Optional
author string Optional
isDeleted boolean Optional
isPublished boolean Optional
isPublic boolean Optional
slug string Optional
publishedAt string Optional
stats ArticleStats Optional
updatedAt string Optional

ArticleStats

Field Type Required
_id string Optional
__v integer Optional
comments integer Optional
dislikes integer Optional
gemTips integer Optional
likes integer Optional
score integer Optional
subs integer Optional
tips integer Optional
views integer Optional

.get_lite()

Get a lightweight article by ID (metadata only, no content body).

Signature

await client.article.get_lite(article_id: 'str') -> 'ArticleLite'

Parameters

Name Type Default
article_id str Required

Return Models

ArticleLite

Field Type Required
_id string Optional
__v integer Optional
title string Optional
authorId string Optional
countryId string Optional
type string Optional
category string Optional
language string Optional
score integer Optional
views integer Optional
image string Optional
createdAt string Optional
author string Optional
content string Optional
isDeleted boolean Optional
isPublished boolean Optional
isPublic boolean Optional
slug string Optional
publishedAt string Optional
stats ArticleStats Optional
updatedAt string Optional

ArticleStats

Field Type Required
_id string Optional
__v integer Optional
comments integer Optional
dislikes integer Optional
gemTips integer Optional
likes integer Optional
score integer Optional
subs integer Optional
tips integer Optional
views integer Optional

.get_paginated()

Get articles (cursor-paginated).

Args: type: Article feed type (daily, weekly, top, my, subscriptions, last). user_id: Filter to articles by a specific author. categories: Filter by category list. languages: Filter by language codes (e.g. ["en", "ro"]). positive_score_only: When True, exclude downvoted articles. auto_items: If True, returns an AsyncIterator of individual items. max_pages: Maximum number of pages to fetch when auto-paginating. cursor_end: Date string. Auto-pagination stops when cursor date is older than this.

Signature

await client.article.get_paginated(type: 'ArticleType | str', *, limit: 'int' = 10, cursor: 'str | None' = None, user_id: 'str | None' = None, categories: 'list[str] | None' = None, languages: 'list[str] | None' = None, positive_score_only: 'bool | None' = None, auto_items: 'bool' = False, max_pages: 'int | float' = inf, cursor_end: 'str | None' = None) -> 'CursorPage[ArticleLite] | AsyncIterator[ArticleLite]'

Parameters

Name Type Default
type ArticleType | str Required
limit int 10
cursor str None
user_id str None
categories list[str] None
languages list[str] None
positive_score_only bool None
auto_items bool False
max_pages int | float inf
cursor_end str None

Return Models

ArticleLite

Field Type Required
_id string Optional
__v integer Optional
title string Optional
authorId string Optional
countryId string Optional
type string Optional
category string Optional
language string Optional
score integer Optional
views integer Optional
image string Optional
createdAt string Optional
author string Optional
content string Optional
isDeleted boolean Optional
isPublished boolean Optional
isPublic boolean Optional
slug string Optional
publishedAt string Optional
stats ArticleStats Optional
updatedAt string Optional

ArticleStats

Field Type Required
_id string Optional
__v integer Optional
comments integer Optional
dislikes integer Optional
gemTips integer Optional
likes integer Optional
score integer Optional
subs integer Optional
tips integer Optional
views integer Optional

CursorPage[ArticleLite]

Field Type Required
_id string Optional
__v integer Optional
items array[ArticleLite] Required
nextCursor string Optional
hasMore boolean Optional

.invalidate_cache()

Clear the SWR cache for all resources.

Signature

await client.article.invalidate_cache() -> 'None'

Clone this wiki locally