Skip to content

Reddit Media Search

GET/v1/reddit/media/search
MCPreddit_search_media2 creditsLive

Updated

Description

Find Reddit image, video and gallery posts by keyword. Returns posts with a media object holding direct image or video URLs. Costs 2 credits per page. Tip: set kind=image, video or gallery to narrow results; the body field is empty for media results.

Parameters

q query, string, required
Search text. Reddit operators allowed.
kind query, enum
Media type to return. One of: image, video, gallery, all. Default all.
sort query, enum
Result order. One of: relevance, new, hot, top, comments. Default relevance.
time query, enum
Time window. One of: hour, day, week, month, year, all. Default all.
nsfw query, boolean,string
Include adult media. true needs the 18+ setting.
limit query, integer
Max rows to return (1-100). Reddit pages hold about 25 rows; larger values still return one page. Range 1 to 100. Default 25.
cursor query, string
Opaque cursor from the previous response's page.nextCursor. Length 1 to 2048.

Request examples

curl "https://chatterapi.com/v1/reddit/media/search?q=saas+dashboard&limit=10" \
  -H "Authorization: Bearer $CHATTERAPI_KEY"

Response

data is a list of RedditPost, with page.nextCursor and page.hasMore for the next page. Fields:

FieldTypeNullableDescription
idstringnoPlatform id.
fullnamestringnoReddit fullname (t3_ for posts, t1_ for comments). Dedupe on this.
titlestringnoTitle.
bodystringnoText body. Empty for link and media posts.
authorstringyesAuthor username, null when deleted.
subredditstringnoSubreddit name without r/.
permalinkstringnoPath on reddit.com.
urlstringnoFull URL on the platform.
externalUrlstringyesLink the post points to, when it is a link post.
scorenumberyesScore (upvotes minus downvotes) as Reddit reports it.
numCommentsnumberyesComment count.
upvoteRationumberyesShare of upvotes, 0 to 1.
createdAtstringnoISO 8601 UTC timestamp.
nsfwbooleannoMarked adult content.
lockedbooleanyesComments are locked.
mediaobjectyesImages, video or gallery URLs, or null.
response
{
  "data": [
    {
      "id": "ohisdo",
      "fullname": "t3_ohisdo",
      "title": "I made a time, habit and goal tracker web app that displays as a flexible dashboard. My first Vue 3 serverless SaaS.",
      "body": "",
      "author": "msign",
      "subreddit": "webdev",
      "permalink": "/r/webdev/comments/ohisdo/i_made_a_time_habit_and_goal_tracker_web_app_that/",
      "url": "https://www.reddit.com/r/webdev/comments/ohisdo/i_made_a_time_habit_and_goal_tracker_web_app_that/",
      "externalUrl": null,
      "score": 1810,
      "numComments": 177,
      "upvoteRatio": null,
      "createdAt": "2021-07-10T13:33:49.000Z",
      "nsfw": false,
      "locked": null,
      "media": {
        "type": "video",
        "urls": [
          "https://v.redd.it/54dpscm51ea71/DASH_720.mp4?source=fallback"
        ]
      }
    },
    {
      "id": "1wlokpk",
      "fullname": "t3_1wlokpk",
      "title": "This belongs here",
      "body": "",
      "author": "leisurechef",
      "subreddit": "enshittification",
      "permalink": "/r/enshittification/comments/1wlokpk/this_belongs_here/",
      "url": "https://www.reddit.com/r/enshittification/comments/1wlokpk/this_belongs_here/",
      "externalUrl": null,
      "score": 6279,
      "numComments": 136,
      "upvoteRatio": null,
      "createdAt": "2026-09-20T18:22:14.000Z",
      "nsfw": false,
      "locked": null,
      "media": {
        "type": "image",
        "urls": [
          "https://i.redd.it/hm0owv5iwpqh1.jpeg"
        ]
      }
    },
    {
      "id": "1wa1f1o",
      "fullname": "t3_1wa1f1o",
      "title": "I needed a metrics dashboard for my SaaS, so I built a medieval village instead, every paying customer is a villager",
      "body": "",
      "author": "speaklifeandaimup",
      "subreddit": "SaaS",
      "permalink": "/r/SaaS/comments/1wa1f1o/i_needed_a_metrics_dashboard_for_my_saas_so_i/",
      "url": "https://www.reddit.com/r/SaaS/comments/1wa1f1o/i_needed_a_metrics_dashboard_for_my_saas_so_i/",
      "externalUrl": null,
      "score": 157,
      "numComments": 34,
      "upvoteRatio": null,
      "createdAt": "2026-09-07T19:12:11.000Z",
      "nsfw": false,
      "locked": null,
      "media": {
        "type": "image",
        "urls": [
          "https://i.redd.it/8pd6h3qwc5oh1.png"
        ]
      }
    }
  ],
  "page": {
    "nextCursor": "eyJ2IjoxLCJwIjoiY2l0ZXJvY2tldCIsImMiOiJ0M18xdmU4dHlsIiwibyI6MCwiaCI6ImUxMDhmMTljMDU2NiJ9",
    "hasMore": true
  },
  "credits": {
    "charged": 2,
    "remaining": 24997
  },
  "requestId": "req_01JA7Q3V8K2N4P5R6S7T8V",
  "cached": false
}

Recorded live response captured 2026-10-13, truncated to 3 items. Credits and request id are illustrative.

Credits

2 credits per call. Failed calls cost 0. Cached responses cost the same. Test keys cost 0. Repeat calls with the same input within 10 minutes are served from cache.

Errors this tool can return

Try it