# How do I get Reddit data without an API key?

Reddit. Checked September 2026.

You do not, reliably. The old trick, appending `.json` to any reddit.com URL, answers with blocks and throttles for scripted traffic now. Reddit wants every automated read to identify itself with an OAuth client. Anything that avoids that runs on borrowed time and gets your IP cut off.

What you can skip is Reddit’s approval process. Openhandle reads public Reddit with a key you create yourself, no application, 100 free requests to start. Reddit endpoints are in beta.

## GET /v1/reddit/subreddits/{name}/posts?sort=new

```bash
curl "https://api.openhandle.dev/v1/reddit/subreddits/synthetic/posts?sort=new" \
  -H "Authorization: Bearer $OPENHANDLE_API_KEY"
```

```ts
import { OpenHandle } from '@openhandle/sdk';

const openhandle = new OpenHandle({ apiKey: process.env.OPENHANDLE_API_KEY! });
const page = await openhandle.reddit.subreddit('synthetic').posts.list({ sort: 'new' });

for (const post of page.data) console.log(post.metrics.score, post.title);
```

200 OK:

```json
{
  "platform": "reddit",
  "resource": "post",
  "capturedAt": "2026-09-18T12:53:48Z",
  "source": "live",
  "data": [
    {
      "id": "t3_reddit1",
      "title": "Synthetic Reddit post",
      "community": { "handle": "synthetic", "displayHandle": "r/synthetic" },
      "createdAt": "2026-08-09T15:30:00Z",
      "metrics": { "score": 0, "upvoteRatio": 0.5, "comments": 0 }
    }
  ],
  "meta": { "cursors": { "next": "b3BhcXVlLWN1cnNvcg" } }
}
```

Trimmed to one post. The shape matches what the .json endpoint gave you, minus the nesting. The example is a Test subreddit, so you can run it on a free Test key.

## Why the .json trick stopped working

- **Reddit charges for API access now.** Since 2023, Reddit meters automated reads. Unauthenticated JSON was the loophole, and Reddit closed it for anything that looks like a script.
- **User agents get fingerprinted.** A custom user agent buys a few requests. A pattern of requests gets the IP throttled, then blocked.
- **Old RSS feeds too.** Reddit RSS still exists for some listings, but it is rate limited the same way and returns less data.

## Two honest paths

|  | Reddit OAuth client | Openhandle key |
|---|---|---|
| Setup | Create an app, get a client ID and secret, handle token refresh | Create a key in the dashboard |
| Approval | Free for non-commercial. Commercial use needs a data access request | None |
| Limits | About 100 queries per minute per client | 10 requests per second per key, billed per answered request |
| Shape | Reddit’s nested listing JSON | One envelope shared with Instagram, TikTok, and X |

## When this does not work

These answers are definitive. Store them, do not retry them.

| Situation | Status | Code |
|---|---|---|
| The subreddit is private, quarantined, or banned | 403 | `PROFILE_PRIVATE` |
| The subreddit never existed | 404 | `PROFILE_NOT_FOUND` |
| Your key is missing or wrong | 401 | `UNAUTHENTICATED` |

```json
{
  "error": {
    "code": "UNAUTHENTICATED",
    "message": "A valid Bearer key is required.",
    "requestId": "req_01j8…",
    "retryable": false
  }
}
```

Authentication failures are never billed. One header, one key. Test keys are free and cover every Reddit endpoint on synthetic data.

## Related

- [Authentication](https://openhandle.dev/docs/authentication): One Bearer header. Test keys and live keys.
- [Is the Reddit API free?](https://openhandle.dev/questions/is-the-reddit-api-free): What the official API costs and who needs approval.
- [Quickstart](https://openhandle.dev/docs/quickstart): First request in five minutes on a free Test key.
