Reddit Scraping API
Extract Reddit posts, comments, and community data with advanced search capabilities and filtering options for comprehensive social media monitoring and analysis.
🚀 Key Features
- Dual Functionality - Search Reddit content OR scrape specific URLs
- Advanced Search - Search posts and comments with multiple sorting options
- Time-Based Filtering - Filter posts by hour, day, week, month, or year
- Multiple Sort Options - Relevance, new, top, hot, and comment-based sorting
- Automatic Retries - Automatic retries to achieve 99%+ uptime
- URL Validation - Comprehensive Reddit URL pattern validation
- Flexible Parameters - Support for both search queries and direct URLs
- High Success Rate - Automatic retries to achieve 99%+ uptime with comprehensive error handling
📋 Endpoint
POST requests only - All Reddit scraping requests must use the POST method:
POST https://scrapingapi.qoest.com/v1/reddit
🔑 Authentication
All requests must include your API token in the Authorization header using Bearer authentication:
Authorization: Bearer YOUR_API_TOKEN
📊 Parameters
Search Mode Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
query | Yes* | string | Search query text |
type | Yes* | string | Content type: posts or comments |
sort | No | string | Sort method (varies by type) |
time_range | No | string | Time filter for posts only |
Direct URL Mode Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
url | Yes* | string | Reddit URL to scrape |
*Note: Either query + type OR url is required, not both.
Sort Options by Type
For Posts (type: "posts")
| Sort Value | Description |
|---|---|
relevance | Most relevant (default) |
new | Newest first |
top | Highest scored |
hot | Currently trending |
comments | Most commented |
For Comments (type: "comments")
| Sort Value | Description |
|---|---|
relevance | Most relevant (default) |
new | Newest first |
top | Highest scored |
Time Range Options (Posts Only)
| Value | Description |
|---|---|
hour | Past hour |
day | Past 24 hours |
week | Past week |
month | Past month |
year | Past year |
all | All time |
URL Format Requirements
- Must start with
http://orhttps:// - Must be from
reddit.comdomain (with or without www) - Examples of valid URLs:
https://reddit.com/r/programming/comments/abc123/titlehttps://www.reddit.com/r/technologyhttps://reddit.com/user/username
📝 Examples
Search for Posts
curl --location 'https://scrapingapi.qoest.com/v1/reddit' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"query": "upwork job alerts",
"type": "posts",
"sort": "relevance",
"time_range": "week"
}'
Search for Comments
curl --location 'https://scrapingapi.qoest.com/v1/reddit' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"query": "upwork job alerts",
"type": "comments",
"sort": "relevance",
"time_range": "week"
}'
Reddit Post URL Scraping Example
curl --location 'https://scrapingapi.qoest.com/v1/reddit' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"url": "https://www.reddit.com/r/Upwork/comments/1ncgsfe/just_came_across_this_upwork_job_posting_that/"
}'
Response:
{
"response": {
"subreddit": "Upwork",
"author": "HandyCode",
"time": "3 hr. ago",
"created_at": "2025-09-09T11:53:27.744Z",
"title": "Just came across this Upwork job posting that made me laugh and cry at the same time",
"votes": 10,
"comments": [
{
"author": "Mravirockx",
"time": "2h ago",
"created_at": "2025-09-09T12:25:34.699Z",
"content": "Client uses chatgpt as for writing projects. But how would they fulfill their needs? What's the clear requirement?\n \n People work and accept these wages, and clients usually manipulate freelancers over low wages.\n \n Low wage = low-level freelancer\n \n \n \n track me",
"votes": "4",
"url": "https://www.reddit.com/r/Upwork/comments/1ncgsfe/comment/nd9486v/"
},
{
"author": "9toNone",
"time": "2h ago",
"created_at": "2025-09-09T13:13:34.687Z",
"content": "That guy thinks he's hiring Gandalf the Grey but budgeting for an intern at Mordor.",
"votes": "5",
"url": "https://www.reddit.com/r/Upwork/comments/1ncgsfe/comment/nd9cdgg/"
},
{
"author": "Winter-Seaweed8458",
"time": "16m ago",
"created_at": "2025-09-09T14:32:26.551Z",
"content": "Because they know that someone overseas will take that... so many \"agencies\" overseas have fivver workers who will do it for $4.00 an hour, and the agency makes a profit.",
"votes": "2",
"url": "https://www.reddit.com/r/Upwork/comments/1ncgsfe/comment/nd9rixr/"
}
],
"content": "The client is looking for an 'Elite Google Ads Media Buyer, long-term, world-class talent, master of GA4, GTM, YouTube, Display, PMax, scaling 7-figure eCom brands' … and then you scroll down and see their average pay rate is $7/hour."
}
}
📤 Response Format
Successful Response (200)
Posts Search Response
{
"response": [
{
"title": "Just came across this Upwork job posting that made me laugh and cry at the same time",
"url": "https://www.reddit.com/r/Upwork/comments/1ncgsfe/just_came_across_this_upwork_job_posting_that/",
"time": "",
"created_at": "",
"subreddit": "Upwork",
"votes": "0",
"comments": "0"
},
{
"title": "Woke up to this at 6:12am",
"url": "https://www.reddit.com/r/recruitinghell/comments/1n9ytzm/woke_up_to_this_at_612am/",
"time": "",
"created_at": "",
"subreddit": "recruitinghell",
"votes": "0",
"comments": "0"
},
{
"title": "Is this a sure way to get suspended?",
"url": "https://www.reddit.com/r/Upwork/comments/1n6chr4/is_this_a_sure_way_to_get_suspended/",
"time": "",
"created_at": "",
"subreddit": "Upwork",
"votes": "0",
"comments": "0"
},
{
"title": "Struggling to get my first job on Upwork. Any advice?",
"url": "https://www.reddit.com/r/Upwork/comments/1naxq42/struggling_to_get_my_first_job_on_upwork_any/",
"time": "",
"created_at": "",
"subreddit": "Upwork",
"votes": "0",
"comments": "0"
},
{
"title": "This is getting ridiculous at this point",
"url": "https://www.reddit.com/r/jobs/comments/1n9z8os/this_is_getting_ridiculous_at_this_point/",
"time": "",
"created_at": "",
"subreddit": "jobs",
"votes": "0",
"comments": "0"
},
{
"title": "How can I disable job alerts on upwork?",
"url": "https://www.reddit.com/r/Upwork/comments/1n98k8j/how_can_i_disable_job_alerts_on_upwork/",
"time": "",
"created_at": "",
"subreddit": "Upwork",
"votes": "0",
"comments": "0"
},
{
"title": "Invited to a mystery shopping job via Upwork. Not experienced, not looking, not mentioned on my profile. Scam ?",
"url": "https://www.reddit.com/r/mysteryshopping/comments/1nb5jd4/invited_to_a_mystery_shopping_job_via_upwork_not/",
"time": "",
"created_at": "",
"subreddit": "mysteryshopping",
"votes": "0",
"comments": "0"
}
]
}
Comments Search Response
{
"response": [
{
"subreddit": "phmigrate",
"post_url": "https://www.reddit.com/r/phmigrate/comments/1moxgqv/moving_back_from_canada_to_the_philippines/",
"post_time": "27 days ago",
"post_created_at": "2025-08-13T21:00:06.693Z",
"post_votes": "82",
"post_comments": "129",
"post_title": "Moving back from Canada to the Philippines",
"comment_url": "https://www.reddit.com/r/phmigrate/comments/1moxgqv/moving_back_from_canada_to_the_philippines/n8jc4an/",
"comment_author": "Key-Boat-7519",
"comment_time": "27 days ago",
"comment_created_at": "2025-08-13T07:01:10.840Z",
"comment_votes": "0",
"comment_content": "The only way to keep Canadian-level money while living here is to land a remote role before you step off the plane. Entry ECE offers in Manila sit around 18-25k, provincial semicon posts are even lower, and HR will still tag you 'fresh grad' no matter how long your co-op was. Line up a remote gig now: hunt Canadian power or EV startups on LinkedIn, pitch your internship results, and agree on fully remote after grad. For fallback, I track openings on Upwork for short design contracts and keep JobStreet alerts on to spot local firms that pay above 40k plus allowances; when those two go quiet, Remote Rocketship's daily scrape occasionally surfaces niche power-systems roles that never hit the usual boards. Build a small emergency fund while you're still earning CAD, then fly home-remote paycheck + PH cost of living is the real win."
},
{
"subreddit": "remoteworks",
"post_url": "https://www.reddit.com/r/remoteworks/comments/1mptt2x/looking_for_job/",
"post_time": "26 days ago",
"post_created_at": "2025-08-14T09:49:14.118Z",
"post_votes": "8",
"post_comments": "13",
"post_title": "Looking for job",
"comment_url": "https://www.reddit.com/r/remoteworks/comments/1mptt2x/looking_for_job/n8mgq9s/",
"comment_author": "Titsnium",
"comment_time": "26 days ago",
"comment_created_at": "2025-08-14T07:27:55.675Z",
"comment_votes": "0",
"comment_content": "Most legit part-time VA gigs come from stacking three channels instead of waiting for DMs. Specialized boards: OnlineJobs.ph, Remotive's 'customer support' tag, and WeWorkRemotely's 'ops' feed post fresh roles daily; set alerts and apply within the first hour. Agencies: Belay, Boldly, and Time Etc hire part-time assistants on payroll-one application covers dozens of clients and you dodge 'pay per milestone' headaches. Direct outreach: scrape 100 Shopify brands doing 500-2k reviews on Stamped.io, record a 60-second Loom showing how you'd fix their order/refund flow in Gorgias, then email the founder-conversion rate's low but the gigs pay best. For extra income between contracts, do microtasks on Clickworker or test websites on UserTesting, they pay out weekly. I've relied on Upwork and Slack talent channels, but Pulse for Reddit helps me spot hidden one-off projects inside niche subs faster than both. Keep a tight portfolio in Notion, reply within an hour, and you'll land something by month-end. Stack channels, move fast, and you'll secure a legit part-time VA job soon."
},
{
"subreddit": "Upwork",
"post_url": "https://www.reddit.com/r/Upwork/comments/1n98k8j/how_can_i_disable_job_alerts_on_upwork/",
"post_time": "4 days ago",
"post_created_at": "2025-09-05T16:25:15.136Z",
"post_votes": "1",
"post_comments": "5",
"post_title": "How can I disable job alerts on upwork?",
"comment_url": "https://www.reddit.com/r/Upwork/comments/1n98k8j/how_can_i_disable_job_alerts_on_upwork/nckxh1s/",
"comment_author": "SilentButDeadlySquid",
"comment_time": "4 days ago",
"comment_created_at": "2025-09-05T15:37:07.959Z",
"comment_votes": "0",
"comment_content": "u/khawajaasim you can't turn them off but you can go here: Notifications Click on Alert Preferences, turn off email and mobile app notifications, then do some extreme thing to the rate or fixed priced or both to make it unlikely to notify you."
}
]
}
Reddit Post URL Response
{
"response": {
"post": {
"title": "Best Programming Practices for 2024",
"author": "senior_dev",
"subreddit": "r/programming",
"score": 892,
"comments_count": 156,
"content": "Here are the essential programming practices...",
"created_utc": "2024-01-15T12:00:00Z",
"upvote_ratio": 0.89
},
"comments": [
{
"author": "code_reviewer",
"content": "I completely agree with these practices...",
"score": 67,
"created_utc": "2024-01-15T12:15:00Z",
"replies": []
}
]
}
}
Error Responses
Validation Error (422)
{
"message": "The given data was invalid.",
"errors": {
"query": ["The query field is required when url is not present."],
"type": ["The type field is required when url is not present."],
"sort": ["The selected sort is invalid."],
"time_range": ["The selected time range is invalid."],
"url": ["The url must be a valid URL.", "The url format is invalid."]
}
}
Invalid Sort for Type (422)
{
"message": "The given data was invalid.",
"errors": {
"sort": ["The selected sort is invalid for comments."]
}
}
Insufficient Credits (403)
{
"message": "You do not have enough credits to perform this action."
}
Scraping Failed (400)
{
"message": "Failed to fetch Reddit data"
}
Authentication Required (401)
{
"message": "Unauthenticated."
}
⚠️ Validation Rules
Search Mode Requirements
- Query: Required when URL not provided, must be non-empty string
- Type: Required when URL not provided, must be
postsorcomments - Sort: Optional, must match allowed values for the specified type
- Time Range: Optional, only valid for posts, must be valid time period
URL Mode Requirements
- URL: Required when query not provided, must be valid Reddit URL
- Domain: Must be reddit.com (with or without www)
- Protocol: Must include http:// or https://
Parameter Conflicts
- Cannot provide both
query/typeandurlin the same request time_rangeonly applies to posts search, not comments search- Sort options vary between posts and comments
Automatic Retry Logic
- Automatic retries to achieve 99%+ uptime
- Error handling: Comprehensive logging of failed attempts
- Success criteria: HTTP 200 response with valid JSON data
🚨 Common Issues
- Parameter Conflicts: Cannot mix search parameters with direct URL
- Invalid Sort Options: Ensure sort value matches the content type (posts/comments)
- Time Range Restriction: Time filters only work with posts, not comments
- URL Format: Ensure Reddit URLs follow the correct domain pattern
- Content Availability: Some posts/comments may be deleted or private
- Rate Limiting: Reddit platform restrictions may affect availability
- Insufficient Credits: Check credit balance before making requests
- Authentication: Ensure Bearer token is correctly formatted and valid
🎯 Use Cases
Social Media Monitoring & Brand Tracking
Monitor brand mentions, product discussions, and customer feedback across Reddit communities.
curl --location 'https://scrapingapi.qoest.com/v1/reddit' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"query": "your_brand_name",
"type": "posts",
"sort": "new",
"time_range": "day"
}'
Market Research & Consumer Insights
Analyze consumer opinions, product reviews, and market trends from Reddit discussions.
curl --location 'https://scrapingapi.qoest.com/v1/reddit' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"query": "smartphone reviews",
"type": "comments",
"sort": "top"
}'
Competitive Intelligence & Industry Analysis
Monitor competitor mentions, industry discussions, and business intelligence.
curl --location 'https://scrapingapi.qoest.com/v1/reddit' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"query": "competitor_name",
"type": "posts",
"sort": "relevance",
"time_range": "week"
}'
Content Research & Trend Analysis
Discover trending topics, viral content, and popular discussions for content strategy.
curl --location 'https://scrapingapi.qoest.com/v1/reddit' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"query": "viral marketing",
"type": "posts",
"sort": "hot"
}'
Academic Research & Social Studies
Collect Reddit data for academic research, social behavior analysis, and communication studies.
curl --location 'https://scrapingapi.qoest.com/v1/reddit' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"query": "climate change",
"type": "comments",
"sort": "top"
}'
Community Insights & User Sentiment
Analyze community opinions, user sentiment, and discussion patterns around specific topics.
curl --location 'https://scrapingapi.qoest.com/v1/reddit' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"query": "remote work",
"type": "posts",
"sort": "comments",
"time_range": "month"
}'
Crisis Management & PR Monitoring
Monitor crisis situations, track public sentiment, and manage reputation across Reddit communities.
curl --location 'https://scrapingapi.qoest.com/v1/reddit' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"query": "company_crisis",
"type": "posts",
"sort": "new",
"time_range": "hour"
}'
Product Development & Feature Feedback
Gather user feedback, feature requests, and product insights from relevant Reddit communities.
curl --location 'https://scrapingapi.qoest.com/v1/reddit' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"url": "https://reddit.com/r/product_feedback/comments/feature_request"
}'
📊 Search Query Construction
Built URL Format for Searches
The API automatically constructs Reddit search URLs based on your parameters:
https://www.reddit.com/search/?q=QUERY&type=TYPE&sort=SORT&t=TIME_RANGE
Search Tips
- Use quotes for exact phrase matching:
"artificial intelligence" - Combine terms with AND/OR:
machine learning OR deep learning - Subreddit targeting: Include
subreddit:programmingin query - Author searching: Include
author:usernamein query - Domain filtering: Include
site:github.comin query
Advanced Search Examples
Search in Specific Subreddit
curl --location 'https://scrapingapi.qoest.com/v1/reddit' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"query": "subreddit:programming python tutorial",
"type": "posts",
"sort": "top",
"time_range": "month"
}'
Search by Author
curl --location 'https://scrapingapi.qoest.com/v1/reddit' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"query": "author:tech_guru machine learning",
"type": "comments",
"sort": "new"
}'
📚 Related APIs
- Web Scraping - Extract website data
- Google Search - Extract search results
- Twitter/X Scraping - Extract social media data
- YouTube Scraping - Extract video data
- Image OCR - Extract text from images
- PDF OCR - Extract text from PDFs