> ## Documentation Index
> Fetch the complete documentation index at: https://docs.querying.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# API de búsqueda, publicaciones y comentarios de Reddit (REDDIT)

> Busca publicaciones de Reddit, lee una publicación con su primera página de comentarios o lista las publicaciones más recientes de un subreddit o un usuario.

`REDDIT` lee el Reddit público. Tiene cuatro modos, que elige el payload: búsqueda (`query`), una publicación con sus comentarios (`url`), el feed de un subreddit (`action: "feed"`) y las publicaciones de un usuario (`action: "user_posts"`).

| | |
| - | - |
| `taskType` | `REDDIT` |
| Entrada | `query`, o `url`, o `action` (`feed`, `user_posts`); `subreddit`, `username`, `commentSort`, `commentMaxDepth`, `limit`, `country` |
| Créditos | 1 por tarea |
| País | `US` por defecto. |
| Ubicación | No admitida (`422 LOCATION_UNSUPPORTED`). |

## Buscar publicaciones

```bash theme={"theme":"css-variables"}
curl -X POST https://api.querying.ai/v1/async/task \
  -H "Authorization: Bearer $QUERYING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "taskType": "REDDIT", "payload": { "query": "running shoes for flat feet", "subreddit": "RunningShoeGeeks" } }'
```

| Campo | Obligatorio | Descripción |
| - | - | - |
| `query` | Sí | La consulta de búsqueda. Se acepta `prompt` si falta `query`. |
| `subreddit` | No | Busca en un solo subreddit: su nombre sin `r/`, de 2 a 21 letras, dígitos o guiones bajos. |

La búsqueda devuelve hasta 25 publicaciones. Por ejemplo:

```json theme={"theme":"css-variables"}
{
  "results": [
    { "postId": "1uzk9m4", "title": "...", "url": "https://www.reddit.com/r/RunningShoeGeeks/comments/1uzk9m4/...", "subreddit": "RunningShoeGeeks", "preview": "..." }
  ]
}
```

`preview` es el comienzo del texto de la publicación, hasta 2.000 caracteres, cuando la publicación tiene texto. Un `results` vacío en una tarea completada significa que Reddit no encontró nada.

## Leer una publicación y sus comentarios

Envía la `url` de una publicación en lugar de `query`:

```bash theme={"theme":"css-variables"}
curl -X POST https://api.querying.ai/v1/async/task \
  -H "Authorization: Bearer $QUERYING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "taskType": "REDDIT", "payload": { "url": "https://www.reddit.com/r/RunningShoeGeeks/comments/1uer62n/", "commentSort": "top", "commentMaxDepth": 1 } }'
```

| Campo | Obligatorio | Descripción |
| - | - | - |
| `url` | Sí | La dirección de una publicación de reddit.com: `https://www.reddit.com/r/{subreddit}/comments/{postId}/...`. Otras direcciones devuelven `422 VALIDATION_ERROR`. |
| `commentSort` | No | `top`, `new`, `controversial`, `old` o `qa`. Si no lo envías, se aplica el orden por defecto de Reddit. |
| `commentMaxDepth` | No | Descarta las respuestas más profundas que este valor, un entero de 0 a 100. `0` conserva solo los comentarios de primer nivel. |

La tarea lee la publicación con su primera página de comentarios, unos 20-25. Por ejemplo:

```json theme={"theme":"css-variables"}
{
  "post": {
    "postId": "1uer62n", "title": "...", "body": "...", "author": "...", "subreddit": "RunningShoeGeeks",
    "score": 12, "upvoteRatio": 0.9, "commentCount": 48, "createdAt": "2026-06-24T21:51:21.586000+0000",
    "archived": false, "url": "https://www.reddit.com/r/RunningShoeGeeks/comments/1uer62n/..."
  },
  "comments": {
    "availableCount": 24,
    "returnedCount": 24,
    "items": [
      { "commentId": "otlz8m5", "author": "...", "body": "...", "score": 5, "depth": 0, "isSubmitter": false, "createdAt": "...", "url": "https://www.reddit.com/r/..." }
    ]
  }
}
```

| Campo | Descripción |
| - | - |
| `post.commentCount` | El total de comentarios de la publicación según Reddit. Cuando Reddit no lo indica, el número de comentarios de la página leída. `comments` contiene solo esa página. |
| `post.archived` | Se estima a partir de la antigüedad de la publicación; Reddit bloquea los comentarios tras unos 180 días. |
| `post.author`, `post.body` | `null` cuando Reddit no muestra ninguno (un autor eliminado, una publicación de enlace). |
| `comments.items[].depth` | Profundidad de la respuesta; `0` es un comentario de primer nivel. Las respuestas llevan `parentId`. |
| `comments.items[].isSubmitter` | `true` cuando el autor de la publicación escribió el comentario. |

> [!NOTE]
>
> Solo está disponible la primera página de comentarios. `commentLimit`, que despliega más comentarios, devuelve `422 VALIDATION_ERROR` en los planes de autoservicio.

## Listar las publicaciones más recientes

| Payload | Devuelve |
| - | - |
| `{ "action": "feed", "subreddit": "RunningShoeGeeks" }` | Las publicaciones más recientes del subreddit. Sin `subreddit`, r/popular. |
| `{ "action": "user_posts", "username": "example_user" }` | Lo que publicó el usuario. `username` tiene de 3 a 20 letras, dígitos, guiones bajos o guiones. |

Ambos devuelven `results` con la forma de la búsqueda, hasta `limit` publicaciones (25 por defecto).

## Límites y errores

* `REDDIT` ignora `markdown`, `rawResponse` y `searchQueries`. Rechaza `html` y `analysis` con `422` y `citationAnalysis` con `400`; consulta [flags no admitidos](/es/engines/response-options.md#flags-no-admitidos).
* Un `subreddit`, `username`, `url` o `commentSort` no válido devuelve `422 VALIDATION_ERROR`.
* Los demás errores de solicitud se enumeran en [Errores](/es/concepts/errors.md).

## Relacionado

* [Web scrape](/es/engines/web-scrape.md) para páginas fuera de Reddit
* [Tareas asíncronas](/es/concepts/async-tasks.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.