REST API

Subreddits

Read a subreddit's profile, paginate its posts, search within it, or trigger background tracking to unlock trend signals.

GET/v1/subreddits/{name}

Get subreddit metadata

Return the subreddit's about payload: display name, subscriber count, public description, NSFW flag, and creation timestamp.

Parameters

name
string·path·required
Subreddit short name without the `r/` prefix. 2-32 chars, alphanumeric + underscore.
example: python

Request

curl -X GET https://api.redditintel.dev/v1/subreddits/{name} \
  -H "Authorization: Bearer <YOUR_API_KEY>"

Response · 200

X-RateLimit-Limit: 100000
{
  "data": {
    "id": "2qh0y",
    "fullname": "t5_2qh0y",
    "display_name": "Python",
    "name_prefixed": "r/Python",
    "title": "Python",
    "public_description": "The largest Python community for Reddit! Stay up to date with the latest news, packages, and meta information relating to the Python programming language. 
---

If you have questions or are new to Python use r/LearnPython",
    "description": "####[The Python Discord](https://discord.gg/python)

News about the dynamic, interpreted, interactive, object-oriented, extensible programming language Python

# Upcoming Events
[Full Events Calendar](https://www.python.org/events/) 

# Ple…" /* 5689 more chars */,
    "description_html": "<!-- SC_OFF --><div class="md"><h4><a href="https://discord.gg/python">The Python Discord</a></h4>

<p>News about the dynamic, interpreted, interactive, object-oriented, extensible programming language Python</p>

<h1>Upcoming Events</h1>

…" /* 7850 more chars */,
    "subreddit_type": "public",
    "subscribers": 1479142,
    "active_user_count": null,
    "created_utc": "2008-01-25T03:14:39+00:00",
    "over_18": false,
    "lang": "en",
    "icon_img": null,
    "banner_img": null,
    "header_img": "https://b.thumbs.redditmedia.com/8HiO52_EuT_h63Qg.png",
    "url": "/r/Python/"
  },
  "meta": {
    "request_id": "<redacted>"
  }
}

Error responses

404GET /v1/subreddits/this-sub-cannot-exist-zzz/about
{
  "error": {
    "code": "RESOURCE_NOT_FOUND",
    "message": "Not Found",
    "request_id": "<redacted>"
  }
}
GET/v1/subreddits/{name}/posts

List subreddit posts

Paginated post listing for a subreddit. Cursor pagination via the `next_cursor` field in the envelope's meta block.

Parameters

name
string·path·required
Subreddit short name.
example: python
limit
integer·query
Number of posts to return. Default 25, max 100 (or your plan's max_page_size, whichever is lower).
example: 25
sort
string·query
One of `new`, `hot`, `top`, `rising`. Default `hot`.
example: new
cursor
string·query
Signed cursor token from a previous response's `meta.page.next_cursor`. Omit for the first page.

Request

curl -X GET https://api.redditintel.dev/v1/subreddits/{name}/posts \
  -H "Authorization: Bearer <YOUR_API_KEY>"

Response · 200

X-RateLimit-Limit: 100000
{
  "data": [
    {
      "id": "1te6ay5",
      "fullname": "t3_1te6ay5",
      "subreddit": "Python",
      "subreddit_id": "t5_2qh0y",
      "permalink": "/r/Python/comments/1te6ay5/reel_vcr_for_llm_apis_record_real/",
      "title": "Reel — VCR for LLM APIs: record real OpenAI/Anthropic/Gemini calls once, replay them in tests.",
      "body": "**TL;DR**: `pip install reel-vcr`, point your LLM SDK at a local proxy, and your test suite captures every call into JSONL on the first run and replays it for free forever. No mocks, no monkey-patches, no API key in CI.

I wrote this after …" /* 3753 more chars */,
      "body_html": "<!-- SC_OFF --><div class="md"><p><strong>TL;DR</strong>: <code>pip install reel-vcr</code>, point your LLM SDK at a local proxy, and your test suite captures every call into JSONL on the first run and replays it for free forever. No mocks,…" /* 4350 more chars */,
      "url": "https://www.reddit.com/r/Python/comments/1te6ay5/reel_vcr_for_llm_apis_record_real/",
      "domain": "self.Python",
      "author": "Ok-Breakfast4351",
      "author_fullname": "t2_5mdba3cm",
      "created_utc": "2026-05-15T19:20:15+00:00",
      "edited_utc": null,
      "score": 0,
      "ups": 0,
      "downs": 0,
      "upvote_ratio": 0.33,
      "num_comments": 0,
      "num_crossposts": 0,
      "is_self": true,
      "is_video": false,
      "over_18": false,
      "spoiler": false,
      "locked": false,
      "archived": false,
      "pinned": false,
      "stickied": false,
      "is_original_content": false,
      "is_crosspostable": false,
      "hidden": false,
      "saved": false,
      "removed_by_category": null,
      "distinguished": null,
      "link_flair_text": "Resource",
      "link_flair_template_id": "f9716fb2-4113-11ea-a3f1-0ef51f60f757",
      "link_flair_background_color": "#ddbd37",
      "link_flair_text_color": "light",
      "thumbnail": null,
      "thumbnail_width": null,
      "thumbnail_height": null,
      "crosspost_parent_fullname": null
    },
    {
      "id": "1te2tmb",
      "fullname": "t3_1te2tmb",
      "subreddit": "Python",
      "subreddit_id": "t5_2qh0y",
      "permalink": "/r/Python/comments/1te2tmb/building_in_public/",
      "title": "building in public",
      "body": "I am right now just beginning in a hackathon of IBM. I just scrapped my idea of building an automatic git pushing machine. I read the IBM Bob IDE guide to realize that it has these features I wanted to build. 

If you have any ideas, please…" /* 77 more chars */,
      "body_html": "<!-- SC_OFF --><div class="md"><p>I am right now just beginning in a hackathon of IBM. I just scrapped my idea of building an automatic git pushing machine. I read the IBM Bob IDE guide to realize that it has these features I wanted to buil…" /* 143 more chars */,
      "url": "https://www.reddit.com/r/Python/comments/1te2tmb/building_in_public/",
      "domain": "self.Python",
      "author": "LifeChampionship2347",
      "author_fullname": "t2_2bo8ipvl33",
      "created_utc": "2026-05-15T17:18:11+00:00",
      "edited_utc": null,
      "score": 0,
      "ups": 0,
      "downs": 0,
      "upvote_ratio": 0.18,
      "num_comments": 0,
      "num_crossposts": 1,
      "is_self": true,
      "is_video": false,
      "over_18": false,
      "spoiler": false,
      "locked": false,
      "archived": false,
      "pinned": false,
      "stickied": false,
      "is_original_content": false,
      "is_crosspostable": false,
      "hidden": false,
      "saved": false,
      "removed_by_category": null,
      "distinguished": null,
      "link_flair_text": "Resource",
      "link_flair_template_id": "f9716fb2-4113-11ea-a3f1-0ef51f60f757",
      "link_flair_background_color": "#ddbd37",
      "link_flair_text_color": "light",
      "thumbnail": null,
      "thumbnail_width": null,
      "thumbnail_height": null,
      "crosspost_parent_fullname": null
    },
    {
      "id": "1tdfo9l",
      "fullname": "t3_1tdfo9l",
      "subreddit": "Python",
      "subreddit_id": "t5_2qh0y",
      "permalink": "/r/Python/comments/1tdfo9l/friday_daily_thread_rpython_meta_and_freetalk/",
      "title": "Friday Daily Thread: r/Python Meta and Free-Talk Fridays",
      "body": "# Weekly Thread: Meta Discussions and Free Talk Friday 🎙️

Welcome to Free Talk Friday on /r/Python! This is the place to discuss the r/Python community (meta discussions), Python news, projects, or anything else Python-related!

## How it…" /* 1025 more chars */,
      "body_html": "<!-- SC_OFF --><div class="md"><h1>Weekly Thread: Meta Discussions and Free Talk Friday 🎙️</h1>

<p>Welcome to Free Talk Friday on <a href="/r/Python">/r/Python</a>! This is the place to discuss the <a href="/r/Python">r/Python</a> communi…" /* 1465 more chars */,
      "url": "https://www.reddit.com/r/Python/comments/1tdfo9l/friday_daily_thread_rpython_meta_and_freetalk/",
      "domain": "self.Python",
      "author": "AutoModerator",
      "author_fullname": "t2_6l4z3",
      "created_utc": "2026-05-15T00:00:20+00:00",
      "edited_utc": null,
      "score": 11,
      "ups": 11,
      "downs": 0,
      "upvote_ratio": 0.87,
      "num_comments": 9,
      "num_crossposts": 0,
      "is_self": true,
      "is_video": false,
      "over_18": false,
      "spoiler": false,
      "locked": false,
      "archived": false,
      "pinned": false,
      "stickied": true,
      "is_original_content": false,
      "is_crosspostable": false,
      "hidden": false,
      "saved": false,
      "removed_by_category": null,
      "distinguished": null,
      "link_flair_text": ":pythonLogo: Daily Thread",
      "link_flair_template_id": "6c024934-de3f-11ea-a05a-0ea86b2be9a1",
      "link_flair_background_color": "#00a6a5",
      "link_flair_text_color": "light",
      "thumbnail": null,
      "thumbnail_width": null,
      "thumbnail_height": null,
      "crosspost_parent_fullname": null
    }
  ],,
  "meta": {
    "request_id": "<redacted>",
    "page": {
      "limit": 3,
      "next_cursor": "SwpuJhhDHwQ_gPuC34zgU3siciI6InQzXzF0ZGZvOWwiLCJzIjoxNzc4ODc1MzM2LCJ0Ijoici5zdWJyZWRkaXQucG9zdHMifQ"
    }
  }
}
25 of 143 lines

Error responses

400GET /v1/subreddits/python/posts?cursor=garbage
{
  "error": {
    "code": "INVALID_CURSOR",
    "message": "cursor is missing, malformed, expired, or signed for a different route",
    "request_id": "<redacted>"
  }
}
400GET /v1/subreddits/python/posts?limit=999999
{
  "error": {
    "code": "BAD_REQUEST",
    "message": "request validation failed",
    "request_id": "<redacted>",
    "details": {
      "errors": [
        {
          "loc": [
            "query",
            "limit"
          ],,
          "type": "less_than_equal",
          "msg": "Input should be less than or equal to 100"
        }
      ]
    }
  }
}
GET/v1/r/{name}/posts

List subreddit posts (Reddit-style alias)

Identical to `/v1/subreddits/{name}/posts`. Provided for Reddit-style URL parity.

Parameters

name
string·path·required
Subreddit short name.
example: python
limit
integer·query
1-100. Defaults to 25.
example: 10

Request

curl -X GET https://api.redditintel.dev/v1/r/{name}/posts \
  -H "Authorization: Bearer <YOUR_API_KEY>"

Response · 200

X-RateLimit-Limit: 100000
{
  "data": [
    {
      "id": "1te6ay5",
      "fullname": "t3_1te6ay5",
      "subreddit": "Python",
      "subreddit_id": "t5_2qh0y",
      "permalink": "/r/Python/comments/1te6ay5/reel_vcr_for_llm_apis_record_real/",
      "title": "Reel — VCR for LLM APIs: record real OpenAI/Anthropic/Gemini calls once, replay them in tests.",
      "body": "**TL;DR**: `pip install reel-vcr`, point your LLM SDK at a local proxy, and your test suite captures every call into JSONL on the first run and replays it for free forever. No mocks, no monkey-patches, no API key in CI.

I wrote this after …" /* 3753 more chars */,
      "body_html": "<!-- SC_OFF --><div class="md"><p><strong>TL;DR</strong>: <code>pip install reel-vcr</code>, point your LLM SDK at a local proxy, and your test suite captures every call into JSONL on the first run and replays it for free forever. No mocks,…" /* 4350 more chars */,
      "url": "https://www.reddit.com/r/Python/comments/1te6ay5/reel_vcr_for_llm_apis_record_real/",
      "domain": "self.Python",
      "author": "Ok-Breakfast4351",
      "author_fullname": "t2_5mdba3cm",
      "created_utc": "2026-05-15T19:20:15+00:00",
      "edited_utc": null,
      "score": 0,
      "ups": 0,
      "downs": 0,
      "upvote_ratio": 0.33,
      "num_comments": 0,
      "num_crossposts": 0,
      "is_self": true,
      "is_video": false,
      "over_18": false,
      "spoiler": false,
      "locked": false,
      "archived": false,
      "pinned": false,
      "stickied": false,
      "is_original_content": false,
      "is_crosspostable": false,
      "hidden": false,
      "saved": false,
      "removed_by_category": null,
      "distinguished": null,
      "link_flair_text": "Resource",
      "link_flair_template_id": "f9716fb2-4113-11ea-a3f1-0ef51f60f757",
      "link_flair_background_color": "#ddbd37",
      "link_flair_text_color": "light",
      "thumbnail": null,
      "thumbnail_width": null,
      "thumbnail_height": null,
      "crosspost_parent_fullname": null
    },
    {
      "id": "1te2tmb",
      "fullname": "t3_1te2tmb",
      "subreddit": "Python",
      "subreddit_id": "t5_2qh0y",
      "permalink": "/r/Python/comments/1te2tmb/building_in_public/",
      "title": "building in public",
      "body": "I am right now just beginning in a hackathon of IBM. I just scrapped my idea of building an automatic git pushing machine. I read the IBM Bob IDE guide to realize that it has these features I wanted to build. 

If you have any ideas, please…" /* 77 more chars */,
      "body_html": "<!-- SC_OFF --><div class="md"><p>I am right now just beginning in a hackathon of IBM. I just scrapped my idea of building an automatic git pushing machine. I read the IBM Bob IDE guide to realize that it has these features I wanted to buil…" /* 143 more chars */,
      "url": "https://www.reddit.com/r/Python/comments/1te2tmb/building_in_public/",
      "domain": "self.Python",
      "author": "LifeChampionship2347",
      "author_fullname": "t2_2bo8ipvl33",
      "created_utc": "2026-05-15T17:18:11+00:00",
      "edited_utc": null,
      "score": 0,
      "ups": 0,
      "downs": 0,
      "upvote_ratio": 0.1,
      "num_comments": 0,
      "num_crossposts": 1,
      "is_self": true,
      "is_video": false,
      "over_18": false,
      "spoiler": false,
      "locked": false,
      "archived": false,
      "pinned": false,
      "stickied": false,
      "is_original_content": false,
      "is_crosspostable": false,
      "hidden": false,
      "saved": false,
      "removed_by_category": null,
      "distinguished": null,
      "link_flair_text": "Resource",
      "link_flair_template_id": "f9716fb2-4113-11ea-a3f1-0ef51f60f757",
      "link_flair_background_color": "#ddbd37",
      "link_flair_text_color": "light",
      "thumbnail": null,
      "thumbnail_width": null,
      "thumbnail_height": null,
      "crosspost_parent_fullname": null
    }
  ],,
  "meta": {
    "request_id": "<redacted>",
    "page": {
      "limit": 2,
      "next_cursor": "tglnfGem55u033CFH9FoE3siciI6InQzXzF0ZTJ0bWIiLCJzIjoxNzc4ODc1MzM3LCJ0Ijoici5zdWJyZWRkaXQucG9zdHMifQ"
    }
  }
}
25 of 99 lines
POST/v1/subreddits/{name}/trackPro+

Start tracking a subreddit

Adds the subreddit to the active polling set and backfills the velocity buckets. Required before trend signals will return data.

Parameters

name
string·path·required
Subreddit to track.
example: python

Request body (JSON)

backfill_hoursinteger (1-24, default 7)

Request

curl -X POST https://api.redditintel.dev/v1/subreddits/{name}/track \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"backfill_hours":7}'

Response · 200

X-RateLimit-Limit: 100000
{
  "data": {
    "subreddit": "python",
    "tracked_since": "2026-05-15T20:01:28.911506+00:00",
    "newly_tracked": false,
    "backfill": {
      "ran": true,
      "posts_seen": 100,
      "posts_observed": 100,
      "oldest_post_iso": "2026-04-19T06:57:54+00:00",
      "newest_post_iso": "2026-05-15T19:20:15+00:00"
    },
    "trends_available_now": true
  },
  "meta": {
    "request_id": "<redacted>"
  }
}