Skip to content
Scrappa Get API key
Reddit API 1 credit/request

Reddit Popular API Documentation

GET https://scrappa.co/api/reddit/popular

Reddit Popular API lists the posts of the Reddit popular feed (feed=popular, default) with the sorts hot, new, top, rising and controversial, or the best feed (feed=best). The best feed has no sort and no time window.

Each post has id, fullname, title, selftext (null for link posts), author, subreddit, score, upvote_ratio, num_comments, awards, flair, created_at and created_utc, permalink, url, domain, post_type (text, link, image, gallery, video or crosspost), the flags over_18, spoiler, stickied, locked and archived, removed_by_category, thumbnail_url, gallery, video and crosspost_parent. Deleted authors and removed posts show Reddit's own marker such as [deleted].

Every list has pagination with limit, after, next_after and has_more. Pass next_after as after 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.

Reddit Popular API Documentation 1 credit/request

Endpoint

Request preview
GET
https://scrappa.co/api/reddit/popular
Auth header
x-api-key
Cost
1 credit/request
Response preview
200 OK
{
    "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",
...

Parameters

Start with the required fields, then add optional filters only when your use case needs them.

Runnable path

This endpoint has no required query parameters.

5 optional filters available.

feed string Optional

popular (default) or best. Example: popular.

Example value example
sort string Optional

hot (default), new, top, rising or controversial. Not with feed best. Example: hot.

Example value relevance
t string Optional

Time window: hour, day, week, month, year or all. Only with sort top or controversial. Items outside the window are never returned. Example: week.

Example value example
after string Optional

Cursor from pagination.next_after of the previous page. Example: t3_1xhv532.

Example value example
limit integer Optional

Items per page, 1 to 100 (default 25). Example: 25.

Example value 10

Response Schema

Example response fields are illustrative; inspect the JSON before integrating.

Example response fields

Scan these fields before integrating.

data meta success
JSON Response
200 OK
{
    "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

Handle these documented responses before retrying or showing customer-facing failures.

422

Validation Error

A required parameter or a value is invalid. This response is not billable.

{
    "errors": {
        "query": [
            "The query field is required."
        ]
    },
    "message": "The request validation failed"
}
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.

{
    "meta": {
        "billable": false,
        "retryable": true,
        "endpoint_family": "popular"
    },
    "error": {
        "code": "UPSTREAM_UNAVAILABLE",
        "message": "Reddit could not be reached. Please retry shortly."
    },
    "success": false
}

Generate Code with AI

Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.

Try It Live

Test this endpoint in our interactive playground with real data.