Get Reddit Data

Get Reddit data for a clearly defined research question

Get historical Reddit data with explicit filters and a small AskStatistics example. Build your own analysis table while recording missing fields and archive limits.

Get API key

Request example

cURL

curl --fail-with-body -H "Authorization: Bearer YOUR_API_KEY" "https://api.getredditdata.com/v1/search?q=sampling&subreddit=AskStatistics&limit=3"

Start with a question you can turn into filters

Get Reddit Data gives analysts who code read access to an independent historical Reddit archive. It is not official or affiliated with Reddit and does not provide live updates. Start with a specific question: how do the received AskStatistics discussions describe sampling? That is a question about a bounded collection of archived records, not a survey of everyone using Reddit or a representative sample of public opinion.

Write down your unit of analysis before collecting rows. A post, a comment and a locally grouped discussion are different units. Decide whether your table needs source identifiers, content type, text, community and creation time. These fields may be absent in individual records. Keep a missing value distinguishable from a measured zero, and keep your own annotations distinguishable from the words retrieved.

The API returns flat records rather than server-assembled thread trees. Present parent_id and link_id can support local grouping, without guaranteeing all parents, replies or conversation context. Search does not perform sentiment classification or custom statistical analysis. Your code handles those tasks on the material actually received. Neither a precise question nor careful local processing establishes complete archive coverage or unchanged results on another retrieval.

Inspect a small page before building the table

Use GET https://api.getredditdata.com/v1/search?q=sampling&subreddit=AskStatistics&limit=3. q=sampling supplies the text search, subreddit=AskStatistics restricts the community and limit=3 requests at most three records. With no kind filter, search permits posts and comments; the default page is one. AskStatistics records may be missing or unavailable. Send X-API-Key: <key> or Authorization: Bearer <key> from your server; either header carries this domain's archive key.

Synthetic response excerpt for demonstration only: {"data":[],"pagination":{"page":1,"limit":3,"total":0,"relation":"eq"},"credits":{"cost":1,"balance":99}}. No actual request produced this example and the balance is fictional. An empty first page can have an exact query total of zero; it does not prove that no sampling discussions ever existed. This successful empty retrieval still costs one credit. Do not invent a table row to stand in for a missing source record.

Save the actual response with its query parameters before mapping available fields into your local table. Record source values separately from cleaning decisions, coding labels and exclusions. You can reprocess your saved response without another API call; requesting it remotely again can return different data and incurs another credit if successful. The documentation explains the response contract and the guide develops this question-to-table workflow.

Describe limits and budget the actual requests

Content routes allow limit and page from 1 to 100, one page per request and at most 100 pages for a query. Internal _doc order is not chronology, relevance or score. Read total with relation: eq is exact for the query, gte a lower bound and unknown unreliable or null. More pages, smaller date windows or local deduplication do not demonstrate an exhaustive or statistically representative dataset.

Every successful retrieval, even empty or repeated, costs one credit: $1 per 1000 requests. Invalid requests do not debit; upstream failures refund reservations. Losing a response may follow a billed success, and another successful attempt costs another credit. Minimum paid top-up is $50 for 50000 credits, without subscriptions or expiry for paid credits. The possible 100 trial credits depend on network-wide anti-abuse eligibility.

Email/password signup displays the key once immediately before payment; passwords require 12–72 UTF-8 bytes. Account, balance and key belong to getredditdata.com. Sign in and create an invoice before transferring its exact amount to its recipient using USDT on TRON TRC20 or USDC on Ethereum mainnet ERC20, then submit the transaction hash for verification. Read pricing and the key page before funding a collection; public status does not report search health or your balance.