> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openbridge.shop/llms.txt
> Use this file to discover all available pages before exploring further.

# .list()

> Fetch multiple articles

```javascript theme={null}
openbridge.articles.list()
openbridge.articles.list().blog('news').limit(10)
```

Fetches a list of articles. Supports chaining methods to configure the query.

## Chainable Methods

| Method            | Description                              |
| ----------------- | ---------------------------------------- |
| `.limit(count)`   | Limit number of results (default: 250)   |
| `.after(cursor)`  | Fetch results after cursor (pagination)  |
| `.before(cursor)` | Fetch results before cursor (pagination) |
| `.search(query)`  | Filter by search query                   |
| `.blog(handle)`   | Filter by blog handle                    |
| `.reverse()`      | Reverse the order                        |
| `.select(fields)` | Limit returned fields                    |

## Returns

[`ArticlesResult`](/api/types/articles#articlesresult)

```typescript theme={null}
{
  items: ShopifyArticle[]
  pageInfo: ShopifyPageInfo
}
```

## Examples

### Basic usage

```javascript theme={null}
const { items, pageInfo } = await openbridge.articles.list()
```

### From specific blog

```javascript theme={null}
const { items } = await openbridge.articles
    .list()
    .blog('news')
    .limit(10)
```

### With chained methods

```javascript theme={null}
const { items, pageInfo } = await openbridge.articles
    .list()
    .blog('news')
    .limit(10)
    .select(['title', 'handle', 'image', 'excerpt'])
```

### Pagination

```javascript theme={null}
const page1 = await openbridge.articles.list().limit(10)

if (page1.pageInfo.hasNextPage && page1.pageInfo.endCursor) {
    const page2 = await openbridge.articles
        .list()
        .limit(10)
        .after(page1.pageInfo.endCursor)
}
```
