# Reddit Deleted Post Recovery — Removed Posts & Comments (`yugenox/reddit-deleted-recovery`) Actor

Recover Reddit posts and comments removed by mods, deleted by authors, or taken down by Reddit. Original title, full text, author, date and removal reason, from a public archive. No login or cookie.

- **URL**: https://apify.com/yugenox/reddit-deleted-recovery.md
- **Developed by:** [Yugenox Corp](https://apify.com/yugenox) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 recovered items

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Reddit Deleted Post Recovery — Removed Posts & Comments

Recover Reddit **posts and comments that were removed by moderators, deleted by their authors, or taken down by Reddit** — the content that shows up as *"\[removed]"* or *"\[deleted]"* on the live site.

When something is removed on Reddit it isn't erased from the internet — it's just hidden. This actor reads a **public archive** that snapshots Reddit as content is posted, so it still holds the **original title, full body text, author, date, and the reason it was removed**. No login, no cookie, no token.

### What you get back

For every recovered item, one clean row:

| field | meaning |
|---|---|
| `type` | `post` or `comment` |
| `title` / `text` | the **original** title and body — the whole point |
| `author` | who posted it (`[deleted]` if the account was removed) |
| `subreddit` | the community |
| `removalType` | `moderator`, `reddit` (admin/spam), `deleted` (author), `content_takedown`, or `removed` |
| `wasDeletedLater` | `true` if it was live when archived and vanished afterwards |
| `removedDetectedAt` | when the removal was first observed |
| `createdAt`, `score`, `numComments`, `permalink`, `flair`, `linkUrl` | the usual post/comment metadata |

### Three ways to use it

**1. Recover a specific post (and its whole comment thread)** — paste one or more post URLs or IDs:

```json
{ "postUrls": ["https://www.reddit.com/r/apify/comments/1wufv7c/"] }
```

The post is returned even if it wasn't removed, along with every comment on it (removed ones flagged).

**2. Sweep a subreddit for everything that was removed** — great for research, moderation review, or seeing what a community deletes:

```json
{ "subreddits": ["apify"], "after": "2026-09-01", "before": "2026-10-01" }
```

**3. Recover a user's removed posts and comments** — everything a given account said that later disappeared:

```json
{ "authors": ["someuser"], "onlyRemoved": true }
```

### Options

- **`onlyRemoved`** (default `true`) — sweeps return only removed/deleted content. Turn off to get *all* archived content in the range.
- **`removalTypes`** — keep only certain removal reasons (e.g. only mod-removed).
- **`includeComments`** (default `true`) — also recover comment threads.
- **`maxItems`** — cap total rows.
- **`after` / `before`** — date range for sweeps (`YYYY-MM-DD`).

### Good to know

- **It can only return what the archive captured.** If a thread was removed before the archive ever saw its comments, those comments are gone everywhere — this actor will tell you honestly (0 comments) rather than invent them.
- **Only public content.** Private subreddits, quarantined-but-hidden content, and anything that was never publicly visible are out of scope.
- Dates and ids are flexible: full URLs, `redd.it` links, `t3_`/`t1_` fullnames, or bare ids all work.

### Pricing

Pay per recovered item. You're charged only for rows actually delivered to your dataset.

# Actor input Schema

## `postUrls` (type: `array`):

Specific removed/deleted posts to recover, as full Reddit URLs, redd.it links, t3\_ fullnames, or bare base-36 ids. The post and its full comment thread are recovered (ignores the 'Only removed' filter — you asked for these exact posts).

## `subreddits` (type: `array`):

Subreddit names (with or without r/). Their post history is swept and every removed/deleted post is recovered. Narrow with the date range for speed.

## `authors` (type: `array`):

Reddit usernames (with or without u/). Recovers that user's removed/deleted posts and comments.

## `after` (type: `string`):

Only sweep content created on or after this date (YYYY-MM-DD). Applies to subreddit and author sweeps.

## `before` (type: `string`):

Only sweep content created before this date (YYYY-MM-DD).

## `onlyRemoved` (type: `boolean`):

When on (default), sweeps return ONLY items that were removed, deleted or taken down. Turn off to return all archived content in the range, deleted or not.

## `removalTypes` (type: `array`):

When 'Only removed' is on, keep only these removal reasons. Leave empty for all.

## `includeComments` (type: `boolean`):

Also recover comments: the full thread of each recovered post, and (for author sweeps) the author's removed/deleted comments.

## `maxItems` (type: `integer`):

Hard cap on delivered rows (posts + comments) across the whole run.

## `delayMs` (type: `integer`):

Polite spacing between archive calls. Lower is faster but more likely to hit the archive's rate limit (handled with backoff).

## `commentsPerPost` (type: `integer`):

Cap on how many comments to recover per post.

## Actor input object example

```json
{
  "postUrls": [
    "https://www.reddit.com/r/apify/comments/1wufv7c/"
  ],
  "onlyRemoved": true,
  "removalTypes": [
    "moderator",
    "reddit",
    "deleted",
    "content_takedown"
  ],
  "includeComments": true,
  "maxItems": 1000,
  "delayMs": 1500,
  "commentsPerPost": 500
}
```

# Actor output Schema

## `results` (type: `string`):

Every post and comment recovered in this run, one row each.

## `run` (type: `string`):

Status and statistics for this run.

## `report` (type: `string`):

RUN_REPORT: how the run ended, posts and comments recovered, requests made and any errors.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "postUrls": [
        "https://www.reddit.com/r/apify/comments/1wufv7c/"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("yugenox/reddit-deleted-recovery").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "postUrls": ["https://www.reddit.com/r/apify/comments/1wufv7c/"] }

# Run the Actor and wait for it to finish
run = client.actor("yugenox/reddit-deleted-recovery").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "postUrls": [
    "https://www.reddit.com/r/apify/comments/1wufv7c/"
  ]
}' |
apify call yugenox/reddit-deleted-recovery --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,yugenox/reddit-deleted-recovery"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/Cajs1qsR2MqHlL89B/builds/YZlNrKGDcWVzOutU0/openapi.json
