Reddit Scraper V2
Pricing
from $1.10 / 1,000 results
Reddit Scraper V2
Reddit Scraper V2 — cached data source (results may lag up to ~1.5h). Structured JSON, no login, no API key. For real-time data use the V1 actor.
Reddit Scraper V2
Pricing
from $1.10 / 1,000 results
Reddit Scraper V2 — cached data source (results may lag up to ~1.5h). Structured JSON, no login, no API key. For real-time data use the V1 actor.
You can access the Reddit Scraper V2 programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in Integrations settings in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "0.1", "x-build-id": "Zg25oMqCLKpQGgtFR" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/myagizm~reddit-scraper-v2/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-myagizm-reddit-scraper-v2", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } }, "/acts/myagizm~reddit-scraper-v2/runs": { "post": { "operationId": "runs-sync-myagizm-reddit-scraper-v2", "x-openai-isConsequential": false, "summary": "Executes an Actor and returns information about the initiated run in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/runsResponseSchema" } } } } } } }, "/acts/myagizm~reddit-scraper-v2/run-sync": { "post": { "operationId": "run-sync-myagizm-reddit-scraper-v2", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } } }, "components": { "schemas": { "inputSchema": { "type": "object", "properties": { "subreddits": { "title": "🎯 Subreddits", "type": "array", "description": "Subreddit names to scrape, e.g. \"AskReddit\", \"forhire\". The r/ prefix is optional (both \"webdev\" and \"r/webdev\" work).", "items": { "type": "string" } }, "startUrls": { "title": "🔗 Start URLs", "type": "array", "description": "Paste any Reddit URLs (post, subreddit, or user), e.g. \"https://www.reddit.com/r/webdev/\". Each is auto-detected and scraped accordingly.", "items": { "type": "object", "required": [ "url" ], "properties": { "url": { "type": "string", "title": "URL of a web page", "format": "uri" } } } }, "users": { "title": "👤 Users", "type": "array", "description": "Usernames whose submitted posts to scrape, e.g. \"spez\". The u/ prefix is optional.", "items": { "type": "string" } }, "communities": { "title": "🏘️ Communities (metadata only)", "type": "array", "description": "Subreddit names to fetch metadata for (subscribers, description, creation date) without listing posts, e.g. \"technology\".", "items": { "type": "string" } }, "searchQueries": { "title": "🔎 Search queries", "type": "array", "description": "Keywords to search across Reddit, e.g. \"remote developer\". Each query is run for every type selected in \"Search for\".", "items": { "type": "string" } }, "searchFor": { "title": "🧭 Search for", "type": "array", "description": "Which entity types each search query should return, e.g. select \"Posts\" and \"Comments\" to get both.", "items": { "type": "string", "enum": [ "posts", "comments", "communities", "users", "media" ], "enumTitles": [ "Posts", "Comments (Reddit returns posts)", "Communities", "Users", "Media posts only" ] }, "default": [ "posts" ] }, "searchInSubreddits": { "title": "📍 Restrict search to subreddits", "type": "array", "description": "If set, each search query is restricted to these subreddits only, e.g. \"cscareerquestions\".", "items": { "type": "string" } }, "sort": { "title": "↕️ Sort", "enum": [ "new", "hot", "top", "rising", "controversial", "relevance" ], "type": "string", "description": "Sort order for listings and search results, e.g. \"hot\" for trending posts or \"new\" for the latest.", "default": "new" }, "time": { "title": "📅 Time range", "enum": [ "hour", "day", "week", "month", "year", "all" ], "type": "string", "description": "Time window used by Top / Controversial / search, e.g. \"week\" to get the best posts of the past 7 days.", "default": "all" }, "postDateLimit": { "title": "📆 Only posts on/after (YYYY-MM-DD)", "type": "string", "description": "Keep only posts created on or after this date, e.g. \"2026-01-01\". Leave empty for no limit." }, "commentDateLimit": { "title": "📆 Only comments on/after (YYYY-MM-DD)", "type": "string", "description": "Keep only comments created on or after this date, e.g. \"2026-01-01\". Leave empty for no limit." }, "searchTerms": { "title": "🔤 Keyword filter", "type": "array", "description": "Keep only posts whose title or body contains at least one of these words (case-insensitive), e.g. \"hiring\", \"developer\".", "items": { "type": "string" } }, "includeNSFW": { "title": "🔞 Include NSFW", "type": "boolean", "description": "Include posts flagged as over-18 / NSFW. Example: set to true to keep adult-flagged posts in the results.", "default": false }, "includeSelftext": { "title": "📝 Include post text", "type": "boolean", "description": "Fetch each post's self/body text, e.g. the full write-up of a text post. Turn off to keep records lightweight.", "default": true }, "includeComments": { "title": "💬 $ Include comments", "type": "boolean", "description": "Scrape nested comments for each post (slower). Example: set to true to attach discussion threads to each post.", "default": false }, "maxComments": { "title": "💯 Max comments per post", "minimum": 0, "maximum": 100, "type": "integer", "description": "Upper bound on comments scraped per post when \"Include comments\" is on, e.g. 20.", "default": 20 }, "maxCommentDepth": { "title": "🪜 Max comment depth", "minimum": 0, "maximum": 15, "type": "integer", "description": "Maximum nesting depth of the comment tree to traverse, e.g. 4 to include replies four levels deep.", "default": 4 }, "includeMedia": { "title": "🎬 $ Include media URLs", "type": "boolean", "description": "Extract image/video media URLs (i.redd.it, v.redd.it, imgur, galleries). Example: set to true to collect a post's attached image links.", "default": false }, "maxItems": { "title": "💯 Max items", "minimum": 1, "maximum": 100, "type": "integer", "description": "Hard cap on the total number of items saved in one run, e.g. 50. Keep this reasonable — a single run is limited to ~10 minutes.", "default": 50 }, "maxPostsPerSource": { "title": "💯 Max posts per source", "minimum": 1, "maximum": 100, "type": "integer", "description": "Cap on posts kept from each individual subreddit, user, or search, e.g. 25.", "default": 25 }, "maxPages": { "title": "📄 Max listing pages", "minimum": 1, "maximum": 20, "type": "integer", "description": "How many pages of a listing to paginate through (25 posts per page), e.g. 2 to walk 50 posts.", "default": 1 }, "ignoreStartUrls": { "title": "🚫 Ignore start URLs", "type": "boolean", "description": "Skip the Start URLs input even if provided. Example: set to true to reuse a saved input but scrape only subreddits this time.", "default": false }, "maxRetries": { "title": "🔁 Max request retries", "minimum": 0, "maximum": 6, "type": "integer", "description": "Retry attempts (with backoff) per failed request, e.g. 3.", "default": 3 }, "requestDelayMs": { "title": "⏱️ Delay between requests (ms)", "minimum": 0, "maximum": 10000, "type": "integer", "description": "Politeness delay between consecutive requests, e.g. 300 for a 0.3s pause.", "default": 300 }, "debug": { "title": "🐞 Debug logging", "type": "boolean", "description": "Emit verbose per-source logs (useful while testing your input). Example: set to true to see why a source returned no items.", "default": false } } }, "runsResponseSchema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "actId": { "type": "string" }, "userId": { "type": "string" }, "startedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "finishedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "status": { "type": "string", "example": "READY" }, "meta": { "type": "object", "properties": { "origin": { "type": "string", "example": "API" }, "userAgent": { "type": "string" } } }, "stats": { "type": "object", "properties": { "inputBodyLen": { "type": "integer", "example": 2000 }, "rebootCount": { "type": "integer", "example": 0 }, "restartCount": { "type": "integer", "example": 0 }, "resurrectCount": { "type": "integer", "example": 0 }, "computeUnits": { "type": "integer", "example": 0 } } }, "options": { "type": "object", "properties": { "build": { "type": "string", "example": "latest" }, "timeoutSecs": { "type": "integer", "example": 300 }, "memoryMbytes": { "type": "integer", "example": 1024 }, "diskMbytes": { "type": "integer", "example": 2048 } } }, "buildId": { "type": "string" }, "defaultKeyValueStoreId": { "type": "string" }, "defaultDatasetId": { "type": "string" }, "defaultRequestQueueId": { "type": "string" }, "buildNumber": { "type": "string", "example": "1.0.0" }, "containerUrl": { "type": "string" }, "usage": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "integer", "example": 1 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 } } }, "usageTotalUsd": { "type": "number", "example": 0.00005 }, "usageUsd": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "number", "example": 0.00005 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Reddit Scraper V2 from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: