# Reddit Popular API Documentation

<p><strong>Reddit Popular API</strong> lists the posts of the Reddit popular feed (<code>feed=popular</code>, default) with the sorts <code>hot</code>, <code>new</code>, <code>top</code>, <code>rising</code> and <code>controversial</code>, or the best feed (<code>feed=best</code>). The best feed has no sort and no time window.</p><p>Each post has id, fullname, title, selftext (<code>null</code> for link posts), author, subreddit, score, upvote_ratio, num_comments, awards, flair, created_at and created_utc, permalink, url, domain, <code>post_type</code> (text, link, image, gallery, video or crosspost), the flags over_18, spoiler, stickied, locked and archived, <code>removed_by_category</code>, <code>thumbnail_url</code>, <code>gallery</code>, <code>video</code> and <code>crosspost_parent</code>. Deleted authors and removed posts show Reddit's own marker such as <code>[deleted]</code>.</p><p>Every list has <code>pagination</code> with <code>limit</code>, <code>after</code>, <code>next_after</code> and <code>has_more</code>. Pass <code>next_after</code> as <code>after</code> to read the next page. A page is never another page's data under a new label. Reddit ends every list after about 1000 items.</p>

- **Documentation:** [https://scrappa.co/docs/reddit-api/reddit_popular](https://scrappa.co/docs/reddit-api/reddit_popular)
- **API group:** Reddit API
- **Endpoint:** `GET https://scrappa.co/api/reddit/popular`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `feed` | string | No | popular (default) or best. Example: popular. |
| `sort` | string | No | hot (default), new, top, rising or controversial. Not with feed best. Example: hot. |
| `t` | string | No | Time window: hour, day, week, month, year or all. Only with sort top or controversial. Items outside the window are never returned. Example: week. |
| `after` | string | No | Cursor from pagination.next_after of the previous page. Example: t3_1xhv532. |
| `limit` | integer | No | Items per page, 1 to 100 (default 25). Example: 25. |

## Example response

```json
{
    "data": {
        "feed": "popular",
        "sort": "hot",
        "time": null,
        "posts": [
            {
                "id": "1xi3p7g",
                "url": "https://hologram.page/blog/local-first-means-three-different-things",
                "flair": null,
                "score": 28,
                "title": "Local-First Means Three Different Things",
                "video": null,
                "author": "BartBlast",
                "awards": [],
                "domain": "hologram.page",
                "locked": false,
                "gallery": null,
                "over_18": false,
                "spoiler": false,
                "archived": false,
                "fullname": "t3_1xi3p7g",
                "selftext": "Author here. I've been designing a local-first data layer for most of this year, and I kept having the same conversation. I'd say \"local-...",
                "stickied": false,
                "edited_at": null,
                "permalink": "https://www.reddit.com/r/programming/comments/1xi3p7g/localfirst_means_three_different_things/",
                "post_type": "link",
                "subreddit": "programming",
                "created_at": "2026-10-28T23:12:53+00:00",
                "created_utc": 1793229173,
                "preview_url": null,
                "author_flair": null,
                "num_comments": 0,
                "subreddit_id": "t5_2fwo",
                "upvote_ratio": 0.81,
                "distinguished": null,
                "thumbnail_url": null,
                "num_crossposts": 0,
                "author_fullname": "t2_1bgrwwfuj4",
                "crosspost_parent": null,
                "is_original_content": false,
                "removed_by_category": null,
                "subreddit_subscribers": 6930652,
                "total_awards_received": 0
            }
        ],
        "pagination": {
            "after": null,
            "limit": 2,
            "has_more": true,
            "next_after": "t3_1xi16s3"
        }
    },
    "meta": {
        "billable": true,
        "endpoint_family": "popular"
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A required parameter or a value is invalid. This response is not billable. |
| 503 | Upstream Unavailable | Reddit could not be reached or returned data that does not match the request. This response is not billable and is retryable. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
