Read public Reddit posts, full comment threads, subreddit listings and search results through one API key, returned as JSON. You skip the Reddit app registration and OAuth flow and pay per successful call.
| Endpoint | What it returns | Credits/call | USD/call (Freelance plan) |
|---|---|---|---|
/v1/reddit/post | Post | 1 | $0.0017 |
/v1/reddit/post_comments | Post Comments | 1 | $0.0017 |
/v1/reddit/search | Search | 1 | $0.0017 |
/v1/reddit/subreddit | Subreddit Posts | 1 | $0.0017 |
/v1/reddit/subreddit_details | Subreddit Details | 1 | $0.0017 |
/v1/reddit/subreddit_search | Subreddit Search | 1 | $0.0017 |
/v1/reddit/postPost 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | yes | Reddit post URL |
Sample response (trimmed):
{
"id": "1q6pxwn",
"author": "franik33",
"author_fullname": "t2_16xbknfp71",
"subreddit": "webscraping",
"title": "Just Started Web Scraping — Is This a Good Start?",
"selftext": "Hi everyone, I started getting into web scraping about 3–4 days ago. I already have some solid experience with Python, and my first scraping project was a pu...",
"downs": 0,
"name": "t3_1q6pxwn",
"upvote_ratio": 0.9230769230769231,
"ups": 33,
"total_awards_received": 0,
"score": 33,
"created": 1767816090,
"created_utc": 1767816090,
"created_at_iso": "2026-01-07T20:01:30.000Z",
"num_comments": 53,
"url": "https://www.reddit.com/r/webscraping/comments/1q6pxwn/just_started_web_scraping_is_this_a_good_start/",
"permalink": "/r/webscraping/comments/1q6pxwn/just_started_web_scraping_is_this_a_good_start/",
"subreddit_subscribers": null,
"is_video": false,
"archived": true,
"locked": false,
"over_18": false,
"spoiler": false
}/v1/reddit/post_commentsPost Comments 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | yes | Reddit post URL |
trim | boolean | no | Set to true for a trimmed down version of the response |
next_cursor | string | no | One opaque cursor returned by the previous response to get more comments or replies. Do not combine multiple cursors. |
/v1/reddit/searchSearch 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | yes | Search query |
filter | string | no | Search posts or comments |
sort | string | no | Sort by. Comment search supports relevance, new, and top; comment_count is for post search only. |
timeframe | string | no | Post search timeframe |
trim | boolean | no | Set to true for a trimmed down version of the response |
after | string | no | Used to paginate to next page |
/v1/reddit/subredditSubreddit Posts 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.
| Parameter | Type | Required | Description |
|---|---|---|---|
subreddit | string | yes | Subreddit name |
timeframe | string | no | Timeframe to get posts from |
sort | string | no | Sort order |
trim | boolean | no | Set to true for a trimmed down version of the response |
cache_max_age | string | no | If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). |
after | string | no | After to get more posts. Get 'after' from previous response. |
/v1/reddit/subreddit_detailsSubreddit Details 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.
| Parameter | Type | Required | Description |
|---|---|---|---|
subreddit | string | no | Subreddit name. MUST be case sensitive. So 'AskReddit' not 'askreddit'. |
url | string | no | Subreddit URL |
cache_max_age | string | no | If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). |
/v1/reddit/subreddit_searchSubreddit Search 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.
| Parameter | Type | Required | Description |
|---|---|---|---|
subreddit | string | yes | Subreddit name (e.g. 'Fitness', not 'r/Fitness' or a full URL) |
query | string | no | Search query to find matching content |
sort | string | no | Sort order. For posts/media: relevance, hot, top, new, comments. For comments: relevance, top, new |
timeframe | string | no | Timeframe to filter results |
next_cursor | string | no | Cursor to get more results. Get 'cursor' from previous response. |
curl -H "X-Scapi-Key: $SCAPI_KEY" "https://api.scrapall.bipsport.com/scapi/v1/reddit/post"import os, requests
r = requests.get("https://api.scrapall.bipsport.com/scapi/v1/reddit/post",
headers={"X-Scapi-Key": os.environ["SCAPI_KEY"]})
print(r.json())No. One Scrapall API key header is enough for every Reddit endpoint below.
Both. Use the search endpoint for site-wide queries and the subreddit listings endpoint to read one community.
Open the Buy page, pick the Freelance plan and pay in USDT on TRC20 or ERC20. The key is shown once, right after the payment is confirmed on-chain.
The cost table on this page lists credits per call for each endpoint. The Freelance plan is $45 for 27,000 credits per 30 days.
Full reference: all reddit endpoints.