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 Description
_id `string null` No
__v `integer null` No
title `string null` No
authorId `string null` No
countryId `string null` No
type `string null` No
category `string null` No
language `string null` No
score `integer null` No
views `integer null` No
image `string null` No
createdAt `string null` No
author `string null` No
content `string null` No
isDeleted `boolean null` No
isPublished `boolean null` No
isPublic `boolean null` No
slug `string null` No
publishedAt `string null` No
stats `ArticleStats null` No
updatedAt `string null` No

ArticleStats

Field Type Required Description
_id `string null` No
__v `integer null` No
comments `integer null` No
dislikes `integer null` No
gemTips `integer null` No
likes `integer null` No
score `integer null` No
subs `integer null` No
tips `integer null` No
views `integer null` No

.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 Description
_id `string null` No
__v `integer null` No
title `string null` No
content `string null` No
authorId `string null` No
countryId `string null` No
type `string null` No
category `string null` No
language `string null` No
score `integer null` No
views `integer null` No
comments `integer null` No
image `string null` No
createdAt `string null` No
author `string null` No
isDeleted `boolean null` No
isPublished `boolean null` No
isPublic `boolean null` No
slug `string null` No
publishedAt `string null` No
stats `ArticleStats null` No
updatedAt `string null` No

ArticleStats

Field Type Required Description
_id `string null` No
__v `integer null` No
comments `integer null` No
dislikes `integer null` No
gemTips `integer null` No
likes `integer null` No
score `integer null` No
subs `integer null` No
tips `integer null` No
views `integer null` No

.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 Description
_id `string null` No
__v `integer null` No
title `string null` No
authorId `string null` No
countryId `string null` No
type `string null` No
category `string null` No
language `string null` No
score `integer null` No
views `integer null` No
image `string null` No
createdAt `string null` No
author `string null` No
content `string null` No
isDeleted `boolean null` No
isPublished `boolean null` No
isPublic `boolean null` No
slug `string null` No
publishedAt `string null` No
stats `ArticleStats null` No
updatedAt `string null` No

ArticleStats

Field Type Required Description
_id `string null` No
__v `integer null` No
comments `integer null` No
dislikes `integer null` No
gemTips `integer null` No
likes `integer null` No
score `integer null` No
subs `integer null` No
tips `integer null` No
views `integer null` No

.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`
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`
cursor_end `str None`

Return Models

ArticleLite

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

ArticleStats

Field Type Required Description
_id `string null` No
__v `integer null` No
comments `integer null` No
dislikes `integer null` No
gemTips `integer null` No
likes `integer null` No
score `integer null` No
subs `integer null` No
tips `integer null` No
views `integer null` No

CursorPage[ArticleLite]

Field Type Required Description
_id `string null` No
__v `integer null` No
items array[ArticleLite] Yes
nextCursor `string null` No
hasMore boolean No

.invalidate_cache()

Clear the SWR cache for all resources.

Signature

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

Clone this wiki locally