The Reddit API provides endpoints for searching content, retrieving posts, accessing individual post details, and fetching user-specific data, enabling streamlined interaction with Reddit's platform features.
GET /v1/search
requires authentication
Search specific topics on Reddit and filter results based on posts, comments, users, and communities. This endpoint also allows you to sort the results based on relevant, hot, new, rising, and time frame.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/reddit/search'
params = {
'search': 'investing',
'subreddit': 'wallstreetbets',
'filter': 'posts',
'timeFilter': 'all',
'sortType': 'relevance',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/reddit/search';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'search' => 'investing',
'subreddit' => 'wallstreetbets',
'filter' => 'posts',
'timeFilter' => 'all',
'sortType' => 'relevance',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/reddit/search"
);
const params = {
"search": "investing",
"subreddit": "wallstreetbets",
"filter": "posts",
"timeFilter": "all",
"sortType": "relevance",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/reddit/search?search=investing&subreddit=wallstreetbets&filter=posts&timeFilter=all&sortType=relevance" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"total": 25
},
"body": [
{
"approved_at_utc": null,
"subreddit": "wallstreetbets",
"selftext": "",
"author_fullname": "t2_f7674uoa",
"saved": false,
"mod_reason_title": null,
"gilded": 0,
"clicked": false,
"title": "Burry has one play",
"link_flair_richtext": [
{
"e": "text",
"t": "Meme"
}
],
"subreddit_name_prefixed": "r/wallstreetbets",
"hidden": false,
"pwls": 7,
"link_flair_css_class": "meme",
"downs": 0,
"thumbnail_height": 140,
"top_awarded_type": null,
"hide_score": false,
"name": "t3_15tq51f",
"quarantine": false,
"link_flair_text_color": "light",
"upvote_ratio": 0.96,
"author_flair_background_color": null,
"ups": 2146,
"total_awards_received": 0,
"media_embed": [],
"thumbnail_width": 140,
"author_flair_template_id": null,
"is_original_content": false,
"user_reports": [],
"secure_media": null,
"is_reddit_media_domain": true,
"is_meta": false,
"category": null,
"secure_media_embed": [],
"link_flair_text": "Meme",
"can_mod_post": false,
"score": 2146,
"approved_by": null,
"is_created_from_ads_ui": false,
"author_premium": false,
"thumbnail": "https://a.thumbs.redditmedia.com/aRzqUDY1KGUN3_BrAPBEUWFDiaQYuR1wCRCsP6J5Yv0.jpg",
"edited": false,
"author_flair_css_class": null,
"author_flair_richtext": [],
"gildings": [],
"post_hint": "image",
"content_categories": null,
"is_self": false,
"subreddit_type": "public",
"created": 1692284657,
"link_flair_type": "richtext",
"wls": 7,
"removed_by_category": null,
"banned_by": null,
"author_flair_type": "text",
"domain": "i.redd.it",
"allow_live_comments": false,
"selftext_html": null,
"likes": null,
"suggested_sort": "confidence",
"banned_at_utc": null,
"url_overridden_by_dest": "https://i.redd.it/3enbey74roib1.jpg",
"view_count": null,
"archived": false,
"no_follow": false,
"is_crosspostable": false,
"pinned": false,
"over_18": false,
...
},
...
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/posts
requires authentication
Retrieve hot, new, and top Reddit posts from a given subreddit URL.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/reddit/posts'
params = {
'url': 'https://www.reddit.com/r/wallstreetbets',
'sortType': 'top',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/reddit/posts';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'url' => 'https://www.reddit.com/r/wallstreetbets',
'sortType' => 'top',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/reddit/posts"
);
const params = {
"url": "https://www.reddit.com/r/wallstreetbets",
"sortType": "top",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/reddit/posts?url=https%3A%2F%2Fwww.reddit.com%2Fr%2Fwallstreetbets&sortType=top" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"total": 25
},
"body": [
{
"approved_at_utc": null,
"subreddit": "wallstreetbets",
"selftext": "",
"author_fullname": "t2_f7674uoa",
"saved": false,
"mod_reason_title": null,
"gilded": 0,
"clicked": false,
"title": "Burry has one play",
"link_flair_richtext": [
{
"e": "text",
"t": "Meme"
}
],
"subreddit_name_prefixed": "r/wallstreetbets",
"hidden": false,
"pwls": 7,
"link_flair_css_class": "meme",
"downs": 0,
"thumbnail_height": 140,
"top_awarded_type": null,
"hide_score": false,
"name": "t3_15tq51f",
"quarantine": false,
"link_flair_text_color": "light",
"upvote_ratio": 0.96,
"author_flair_background_color": null,
"ups": 2146,
"total_awards_received": 0,
"media_embed": [],
"thumbnail_width": 140,
"author_flair_template_id": null,
"is_original_content": false,
"user_reports": [],
"secure_media": null,
"is_reddit_media_domain": true,
"is_meta": false,
"category": null,
"secure_media_embed": [],
"link_flair_text": "Meme",
"can_mod_post": false,
"score": 2146,
"approved_by": null,
"is_created_from_ads_ui": false,
"author_premium": false,
"thumbnail": "https://a.thumbs.redditmedia.com/aRzqUDY1KGUN3_BrAPBEUWFDiaQYuR1wCRCsP6J5Yv0.jpg",
"edited": false,
"author_flair_css_class": null,
"author_flair_richtext": [],
"gildings": [],
"post_hint": "image",
"content_categories": null,
"is_self": false,
"subreddit_type": "public",
"created": 1692284657,
"link_flair_type": "richtext",
"wls": 7,
"removed_by_category": null,
"banned_by": null,
"author_flair_type": "text",
"domain": "i.redd.it",
"allow_live_comments": false,
"selftext_html": null,
"likes": null,
"suggested_sort": "confidence",
"banned_at_utc": null,
"url_overridden_by_dest": "https://i.redd.it/3enbey74roib1.jpg",
"view_count": null,
"archived": false,
"no_follow": false,
"is_crosspostable": false,
"pinned": false,
"over_18": false,
...
},
...
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/post
requires authentication
Get post content such as thread content, upvotes, comments, etc...
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/reddit/post'
params = {
'url': 'https://www.reddit.com/r/wallstreetbets/comments/p0esdp/do_hedge_funds_beat_the_market_i_analyzed_the',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/reddit/post';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'url' => 'https://www.reddit.com/r/wallstreetbets/comments/p0esdp/do_hedge_funds_beat_the_market_i_analyzed_the',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/reddit/post"
);
const params = {
"url": "https://www.reddit.com/r/wallstreetbets/comments/p0esdp/do_hedge_funds_beat_the_market_i_analyzed_the",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/reddit/post?url=https%3A%2F%2Fwww.reddit.com%2Fr%2Fwallstreetbets%2Fcomments%2Fp0esdp%2Fdo_hedge_funds_beat_the_market_i_analyzed_the" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"total": 25
},
"body": [
{
"approved_at_utc": null,
"subreddit": "wallstreetbets",
"selftext": "",
"author_fullname": "t2_f7674uoa",
"saved": false,
"mod_reason_title": null,
"gilded": 0,
"clicked": false,
"title": "Burry has one play",
"link_flair_richtext": [
{
"e": "text",
"t": "Meme"
}
],
"subreddit_name_prefixed": "r/wallstreetbets",
"hidden": false,
"pwls": 7,
"link_flair_css_class": "meme",
"downs": 0,
"thumbnail_height": 140,
"top_awarded_type": null,
"hide_score": false,
"name": "t3_15tq51f",
"quarantine": false,
"link_flair_text_color": "light",
"upvote_ratio": 0.96,
"author_flair_background_color": null,
"ups": 2146,
"total_awards_received": 0,
"media_embed": [],
"thumbnail_width": 140,
"author_flair_template_id": null,
"is_original_content": false,
"user_reports": [],
"secure_media": null,
"is_reddit_media_domain": true,
"is_meta": false,
"category": null,
"secure_media_embed": [],
"link_flair_text": "Meme",
"can_mod_post": false,
"score": 2146,
"approved_by": null,
"is_created_from_ads_ui": false,
"author_premium": false,
"thumbnail": "https://a.thumbs.redditmedia.com/aRzqUDY1KGUN3_BrAPBEUWFDiaQYuR1wCRCsP6J5Yv0.jpg",
"edited": false,
"author_flair_css_class": null,
"author_flair_richtext": [],
"gildings": [],
"post_hint": "image",
"content_categories": null,
"is_self": false,
"subreddit_type": "public",
"created": 1692284657,
"link_flair_type": "richtext",
"wls": 7,
"removed_by_category": null,
"banned_by": null,
"author_flair_type": "text",
"domain": "i.redd.it",
"allow_live_comments": false,
"selftext_html": null,
"likes": null,
"suggested_sort": "confidence",
"banned_at_utc": null,
"url_overridden_by_dest": "https://i.redd.it/3enbey74roib1.jpg",
"view_count": null,
"archived": false,
"no_follow": false,
"is_crosspostable": false,
"pinned": false,
"over_18": false,
...
},
...
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/subreddit/popular
requires authentication
Get a list of popular subreddits.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/reddit/subreddit/popular'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/reddit/subreddit/popular';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/reddit/subreddit/popular"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/reddit/subreddit/popular" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"subreddit": "wallstreetbets",
"cursor": "t5_2cneq"
},
"body": [
{
"user_flair_background_color": null,
"submit_text_html": null,
"restrict_posting": true,
"user_is_banned": false,
"free_form_reports": true,
"wiki_enabled": null,
"user_is_muted": false,
"user_can_flair_in_sr": null,
"display_name": "Home",
"header_img": null,
"title": "Home",
"allow_galleries": true,
"icon_size": null,
"primary_color": "",
"active_user_count": null,
"icon_img": "",
"display_name_prefixed": "r/Home",
"accounts_active": null,
"public_traffic": false,
"subscribers": 350314,
"user_flair_richtext": [],
"videostream_links_count": 0,
"name": "t5_2qs0k",
"quarantine": false,
"hide_ads": false,
"prediction_leaderboard_entry_type": 2,
"emojis_enabled": false,
"advertiser_category": "",
"public_description": "",
"comment_score_hide_mins": 0,
"allow_predictions": false,
"user_has_favorited": false,
"user_flair_template_id": null,
"community_icon": "",
"banner_background_image": "",
"original_content_tag_enabled": false,
"community_reviewed": true,
"submit_text": "",
"description_html": "<!-- SC_OFF --><div class=\"md\"><p>Everything home related: interior design, home improvement, architecture.</p>\n\n<h2><strong>Related subreddits</strong></h2>\n\n<ul>\n<li><a href=\"http://www.reddit.com/r/interiordesign\">/r/InteriorDesign</a></li>\n<li><a href=\"http://www.reddit.com/r/architecture\">/r/architecture</a></li>\n<li><a href=\"http://www.reddit.com/r/houseporn\">/r/houseporn</a></li>\n<li><a href=\"http://www.reddit.com/r/roomporn\">/r/roomporn</a></li>\n<li><a href=\"http://www.reddit.com/r/designmyroom\">/r/designmyroom</a></li>\n</ul>\n</div><!-- SC_ON -->",
"spoilers_enabled": true,
"comment_contribution_settings": {
"allowed_media_types": null
},
"allow_talks": false,
"header_size": null,
"user_flair_position": "right",
"all_original_content": false,
"has_menu_widget": false,
"is_enrolled_in_new_modmail": null,
"key_color": "",
"can_assign_user_flair": true,
"created": 1232850357,
"wls": 6,
"show_media_preview": true,
"submission_type": "any",
"user_is_subscriber": false,
"allowed_media_in_comments": [],
"allow_videogifs": true,
"should_archive_posts": false,
"user_flair_type": "text",
"allow_polls": true,
"collapse_deleted_comments": false,
"emojis_custom_size": null,
"public_description_html": null,
"allow_videos": true,
"is_crosspostable_subreddit": true,
"suggested_comment_sort": null,
"should_show_media_in_comments_setting": true,
"can_assign_link_flair": true,
"accounts_active_is_fuzzed": false,
"allow_prediction_contributors": false,
"submit_text_label": "",
"link_flair_position": "right",
"user_sr_flair_enabled": null,
"user_flair_enabled_in_sr": false,
"allow_discovery": true,
"accept_followers": true,
"user_sr_theme_enabled": true,
"link_flair_enabled": true,
"disable_contributor_requests": false,
"subreddit_type": "public",
"notification_level": null,
"banner_img": "",
"user_flair_text": null,
"banner_background_color": "",
"show_media": true,
"id": "2qs0k",
"user_is_contributor": false,
"over18": false,
"header_title": "",
"description": "Everything home related: interior design, home improvement, architecture.\n\n**Related subreddits**\n--------------------------\n* [/r/InteriorDesign](http://www.reddit.com/r/interiordesign)\n* [/r/architecture](http://www.reddit.com/r/architecture)\n* [/r/houseporn](http://www.reddit.com/r/houseporn)\n* [/r/roomporn](http://www.reddit.com/r/roomporn)\n* [/r/designmyroom](http://www.reddit.com/r/designmyroom)",
"submit_link_label": "",
"user_flair_text_color": null,
"restrict_commenting": false,
"user_flair_css_class": null,
"allow_images": true,
"lang": "en",
"url": "/r/Home/",
"created_utc": 1232850357,
"banner_size": null,
"mobile_banner_image": "",
"user_is_moderator": false,
"allow_predictions_tournament": false
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/subreddit/info
requires authentication
Get public metadata for a subreddit.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/reddit/subreddit/info'
params = {
'subreddit': 'AskReddit',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/reddit/subreddit/info';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'subreddit' => 'AskReddit',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/reddit/subreddit/info"
);
const params = {
"subreddit": "AskReddit",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/reddit/subreddit/info?subreddit=AskReddit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"subreddit": "AskReddit"
},
"body": {
"name": "AskReddit",
"title": "Ask Reddit...",
"public_description": "r/AskReddit is the place to ask and answer thought-provoking questions.",
"description": "You must post a clear and direct question in the title. The title may contain two, short,...",
"subscribers": 57603394,
"created_utc": 1201233135,
"over18": false,
"lang": "es",
"subreddit_type": "public",
"icon_img": "https://b.thumbs.redditmedia.com/LSHrisQApf1H5F8nWShTx3_KjTOMc3R_ss3kx3XAyXQ.png",
"community_icon": "https://styles.redditmedia.com/t5_2qh1i/styles/communityIcon_p6kb2m6b185b1.png?width=256&amp;s=c28b9f038c305e139b62739f2133d7b776582696",
"banner_background_image": "https://styles.redditmedia.com/t5_2qh1i/styles/bannerBackgroundImage_fs33xogq946f1.png?width=4000&amp;s=460f7387ea96fb4707fad8acaa81643df40f19a9",
"banner_img": "https://b.thumbs.redditmedia.com/RdyIGEa9Ghu94wr5v3oQQ_zvE1C1cntehzZJChVFkcw.png",
"url": "/r/AskReddit/"
}
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/subreddit/new
requires authentication
Get a list of new subreddits.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/reddit/subreddit/new'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/reddit/subreddit/new';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/reddit/subreddit/new"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/reddit/subreddit/new" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"subreddit": "wallstreetbets",
"cursor": "t5_fcbwik"
},
"body": [
{
"user_flair_background_color": null,
"submit_text_html": null,
"restrict_posting": true,
"user_is_banned": false,
"free_form_reports": false,
"wiki_enabled": null,
"user_is_muted": false,
"user_can_flair_in_sr": null,
"display_name": "TheRakerzDozen",
"header_img": null,
"title": "TheRakerzDozen",
"allow_galleries": true,
"icon_size": null,
"primary_color": "",
"active_user_count": null,
"icon_img": "",
"display_name_prefixed": "r/TheRakerzDozen",
"accounts_active": null,
"public_traffic": false,
"subscribers": 1,
"user_flair_richtext": [],
"videostream_links_count": 0,
"name": "t5_fcbxyd",
"quarantine": false,
"hide_ads": false,
"prediction_leaderboard_entry_type": 1,
"emojis_enabled": false,
"advertiser_category": "",
"public_description": "A True Paranormal Story Podcast. After 37 years, I'm finally sharing my experiences. If you have a story you'd like share I'd love to hear it!!!",
"comment_score_hide_mins": 0,
"allow_predictions": false,
"user_has_favorited": false,
"user_flair_template_id": null,
"community_icon": "",
"banner_background_image": "https://styles.redditmedia.com/t5_fcbxyd/styles/bannerBackgroundImage_z8wfk4dsa1nf1.jpg?width=4000&s=a4f11c6929834ce82fa35a0f49dc8d37b77e71db",
"original_content_tag_enabled": false,
"community_reviewed": false,
"submit_text": "",
"description_html": "<!-- SC_OFF --><div class=\"md\"><p>A True Paranormal Story Podcast. After 37 years, I&#39;m finally sharing my experiences. If you have a story you&#39;d like share I&#39;d love to hear it!!!</p>\n</div><!-- SC_ON -->",
"spoilers_enabled": true,
"comment_contribution_settings": {
"allowed_media_types": [
"giphy",
"static",
"animated",
"expression"
]
},
"allow_talks": false,
"header_size": null,
"user_flair_position": "right",
"all_original_content": false,
"has_menu_widget": false,
"is_enrolled_in_new_modmail": null,
"key_color": "",
"can_assign_user_flair": false,
"created": 1756960059,
"wls": null,
"show_media_preview": true,
"submission_type": "any",
"user_is_subscriber": false,
"allowed_media_in_comments": [
"giphy",
"static",
"animated",
"expression"
],
"allow_videogifs": true,
"should_archive_posts": false,
"user_flair_type": "text",
"allow_polls": true,
"collapse_deleted_comments": true,
"emojis_custom_size": null,
"public_description_html": "<!-- SC_OFF --><div class=\"md\"><p>A True Paranormal Story Podcast. After 37 years, I&#39;m finally sharing my experiences. If you have a story you&#39;d like share I&#39;d love to hear it!!!</p>\n</div><!-- SC_ON -->",
"allow_videos": true,
"is_crosspostable_subreddit": true,
"suggested_comment_sort": null,
"should_show_media_in_comments_setting": true,
"can_assign_link_flair": false,
"accounts_active_is_fuzzed": false,
"allow_prediction_contributors": false,
"submit_text_label": "",
"link_flair_position": "",
"user_sr_flair_enabled": null,
"user_flair_enabled_in_sr": false,
"allow_discovery": true,
"accept_followers": true,
"user_sr_theme_enabled": true,
"link_flair_enabled": false,
"disable_contributor_requests": false,
"subreddit_type": "public",
"notification_level": null,
"banner_img": "",
"user_flair_text": null,
"banner_background_color": "",
"show_media": true,
"id": "fcbxyd",
"user_is_contributor": false,
"over18": false,
"header_title": "",
"description": "A True Paranormal Story Podcast. After 37 years, I'm finally sharing my experiences. If you have a story you'd like share I'd love to hear it!!!",
"submit_link_label": "",
"user_flair_text_color": null,
"restrict_commenting": false,
"user_flair_css_class": null,
"allow_images": true,
"lang": "en",
"url": "/r/TheRakerzDozen/",
"created_utc": 1756960059,
"banner_size": null,
"mobile_banner_image": "",
"user_is_moderator": false,
"allow_predictions_tournament": false
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/subreddit/comments
requires authentication
Get the latest comments from a subreddit.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/reddit/subreddit/comments'
params = {
'subreddit': 'wallstreetbets',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/reddit/subreddit/comments';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'subreddit' => 'wallstreetbets',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/reddit/subreddit/comments"
);
const params = {
"subreddit": "wallstreetbets",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/reddit/subreddit/comments?subreddit=wallstreetbets" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"subreddit": "wallstreetbets",
"cursor": "t1_ncbf8hn"
},
"body": [
{
"subreddit_id": "t5_2th52",
"approved_at_utc": null,
"author_is_blocked": false,
"comment_type": null,
"link_title": "What Are Your Moves Tomorrow, September 04, 2025",
"mod_reason_by": null,
"banned_by": null,
"ups": 1,
"num_reports": null,
"author_flair_type": "richtext",
"total_awards_received": 0,
"subreddit": "wallstreetbets",
"link_author": "wsbapp",
"likes": null,
"replies": "",
"user_reports": [],
"saved": false,
"id": "ncbfmda",
"banned_at_utc": null,
"mod_reason_title": null,
"gilded": 0,
"archived": false,
"collapsed_reason_code": null,
"no_follow": true,
"author": "AfraidAnalyst",
"num_comments": 4524,
"can_mod_post": false,
"send_replies": true,
"parent_id": "t1_ncbfigo",
"score": 1,
"author_fullname": "t2_565zfnri",
"over_18": false,
"report_reasons": null,
"removal_reason": null,
"approved_by": null,
"controversiality": 0,
"body": "Yeah, kinda dug a big hole and trying to escape",
"edited": false,
"top_awarded_type": null,
"downs": 0,
"author_flair_css_class": null,
"is_submitter": false,
"collapsed": false,
"author_flair_richtext": [
{
"e": "text",
"t": "Paid $3 for this"
}
],
"author_patreon_flair": false,
"body_html": "<div class=\"md\"><p>Yeah, kinda dug a big hole and trying to escape</p>\n</div>",
"gildings": [],
"collapsed_reason": null,
"distinguished": null,
"associated_award": null,
"stickied": false,
"author_premium": false,
"can_gild": false,
"link_id": "t3_1n7p6c1",
"unrepliable_reason": null,
"author_flair_text_color": "dark",
"score_hidden": false,
"permalink": "/r/wallstreetbets/comments/1n7p6c1/what_are_your_moves_tomorrow_september_04_2025/ncbfmda/",
"subreddit_type": "public",
"link_permalink": "https://www.reddit.com/r/wallstreetbets/comments/1n7p6c1/what_are_your_moves_tomorrow_september_04_2025/",
"name": "t1_ncbfmda",
"author_flair_template_id": "acf21f8a-b20b-11e8-8717-0ee9cf2d415a",
"subreddit_name_prefixed": "r/wallstreetbets",
"author_flair_text": "Paid $3 for this",
"treatment_tags": [],
"created": 1756958905,
"created_utc": 1756958905,
"awarders": [],
"all_awardings": [],
"locked": false,
"author_flair_background_color": "#ffffff",
"collapsed_because_crowd_control": null,
"mod_reports": [],
"quarantine": false,
"mod_note": null,
"link_url": "https://www.reddit.com/r/wallstreetbets/comments/1n7p6c1/what_are_your_moves_tomorrow_september_04_2025/"
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/user-stats
requires authentication
Get public statistics for a given Reddit user. This includes total karma, post/comment karma, awarder/awardee karma, and account metadata.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/reddit/user-stats'
params = {
'username': 'spez',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/reddit/user-stats';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'username' => 'spez',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/reddit/user-stats"
);
const params = {
"username": "spez",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/reddit/user-stats?username=spez" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"username": "spez"
},
"body": {
"name": "spez",
"total_karma": 934614,
"link_karma": 180843,
"comment_karma": 753771,
"awardee_karma": 0,
"awarder_karma": 0,
"created_utc": 1118030400,
"is_gold": true,
"is_mod": true,
"verified": true,
"profile": {
"icon_img": "https://styles.redditmedia.com/t5_3k30p/styles/profileIcon_uj015iwx9s7g1.png?width=256&amp;height=256&amp;crop=256:256,smart&amp;s=aa819b0964f6e3019e769d1cc8ede7318c3869a3",
"subreddit": { ... }
}
}
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/user-data
requires authentication
Get posts and comments from a given user. This endpoint also allows you to sort the results based on hot, top, and new.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/reddit/user-data'
params = {
'username': 'spez',
'filter': 'posts',
'sortType': 'new',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/reddit/user-data';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'username' => 'spez',
'filter' => 'posts',
'sortType' => 'new',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/reddit/user-data"
);
const params = {
"username": "spez",
"filter": "posts",
"sortType": "new",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/reddit/user-data?username=spez&filter=posts&sortType=new" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"username": "Real_Grapefruit_5570",
"filter": "comments",
"sortType": "new"
},
"body": [
{
"subreddit_id": "t5_366bm",
"approved_at_utc": null,
"author_is_blocked": false,
"comment_type": null,
"link_title": "help with using APIs in google sheets ",
"mod_reason_by": null,
"banned_by": null,
"ups": 4,
"num_reports": null,
"author_flair_type": "text",
"total_awards_received": 0,
"subreddit": "googlesheets",
"link_author": "Synthetic2802",
"likes": true,
"replies": "",
"user_reports": [],
"saved": false,
"id": "l2r9qy1",
"banned_at_utc": null,
"mod_reason_title": null,
"gilded": 0,
"archived": false,
"collapsed_reason_code": null,
"no_follow": false,
"author": "Real_Grapefruit_5570",
"num_comments": 1,
"can_mod_post": false,
"send_replies": true,
"parent_id": "t3_1cft4pg",
"score": 4,
"author_fullname": "t2_cx7hwzvs",
"over_18": false,
"report_reasons": null,
"removal_reason": null,
"approved_by": null,
"controversiality": 0,
"body": "I will recommend you use an REST API. I know steadyapi.com provides dividends, eps, earnings, etc. You also might want to checkout polygon and tiingo",
"edited": false,
"top_awarded_type": null,
"downs": 0,
"author_flair_css_class": null,
"is_submitter": false,
"collapsed": false,
"author_flair_richtext": [],
"author_patreon_flair": false,
"body_html": "<div class=\"md\"><p>I will recommend you use an REST API. I know steadyapi.com provides dividends, eps, earnings, etc. You also might want to checkout polygon and tiingo</p>\n</div>",
"gildings": [],
"collapsed_reason": null,
"distinguished": null,
"associated_award": null,
"stickied": false,
"author_premium": false,
"can_gild": false,
"link_id": "t3_1cft4pg",
"unrepliable_reason": null,
"author_flair_text_color": null,
"score_hidden": false,
"permalink": "/r/googlesheets/comments/1cft4pg/help_with_using_apis_in_google_sheets/l2r9qy1/",
"subreddit_type": "public",
"link_permalink": "https://www.reddit.com/r/googlesheets/comments/1cft4pg/help_with_using_apis_in_google_sheets/",
"name": "t1_l2r9qy1",
"created": 1714951748,
"subreddit_name_prefixed": "r/googlesheets",
"author_flair_text": null,
"treatment_tags": [],
"rte_mode": "richtext",
"created_utc": 1714951748,
"awarders": [],
"all_awardings": [],
"locked": false,
"author_flair_background_color": null,
"collapsed_because_crowd_control": null,
"mod_reports": [],
"quarantine": false,
"mod_note": null,
"link_url": "https://www.reddit.com/r/googlesheets/comments/1cft4pg/help_with_using_apis_in_google_sheets/",
"author_flair_template_id": null
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (403, Unauthorized):
{
"message": "This action is unauthorized."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.