Cómo extraer datos de Reddit en 2026: Endpoints JSON y el límite de 1,000
Desde que la API de Reddit se volvió de pago, el tesoro se volvió más difícil de alcanzar, pero el endpoint público .json aún funciona. Aquí te explicamos cómo paginarlo, superar el límite de 1,000 elementos y recopilar a gran escala sin ser limitado por la tasa de solicitudes.
Reddit es uno de los conjuntos de datos de opiniones más ricos en la web: personas reales discutiendo sobre productos, herramientas, marcas y noticias en comunidades que se pueden buscar. Desde que Reddit movió su API oficial a precios de pago en 2023 (ampliamente reportado a $0.24 por cada 1,000 llamadas, lo que cerró aplicaciones de terceros como Apollo), recopilar esos datos a gran escala se volvió más complicado. Pero hay una ruta que el cambio de precios no cerró: el endpoint público .json que respalda cada página de Reddit. Esta guía cubre cómo paginarlo, cómo superar el límite de 1,000 elementos y cómo recopilar sin activar el límite de tasa.
Añade .json a cualquier URL de Reddit
Casi cualquier URL de Reddit devuelve JSON estructurado si le añades .json. Sin OAuth, sin secreto de cliente, solo un HTTP GET. Un listado de subreddit, una publicación con su árbol de comentarios, el historial de un usuario: todo. Empieza aquí:
import requests
headers = {"User-Agent": "research-script/1.0 by u/yourname"}
proxies = {"http": "http://USER:PASS@gate.quantumproxies.io:8000",
"https": "http://USER:PASS@gate.quantumproxies.io:8000"}
url = "https://www.reddit.com/r/webscraping/new.json?limit=100"
r = requests.get(url, headers=headers, proxies=proxies, timeout=20)
data = r.json()
for child in data["data"]["children"]:
post = child["data"]
print(post["title"], post["ups"], post["num_comments"])
Configura un User-Agent descriptivo: Reddit es más estricto con los genéricos. El JSON te da título, puntuación (ups), proporción de votos a favor, conteo de comentarios, autor y marcas de tiempo directamente, así que no hay nada que extraer del HTML.
Paginación con el token after
Página de listados con un cursor, no números de página. Cada respuesta incluye un token after (el nombre completo del último elemento, como t3_abc123); devuélvelo para obtener el siguiente lote. Repite hasta que after regrese nulo:
def fetch_listing(subreddit, sort="new", pages=10):
after, out = None, []
for _ in range(pages):
url = f"https://www.reddit.com/r/{subreddit}/{sort}.json?limit=100"
if after:
url += f"&after={after}"
data = requests.get(url, headers=headers, proxies=proxies, timeout=20).json()
out += [c["data"] for c in data["data"]["children"]]
after = data["data"].get("after")
if not after:
break
return out

El límite de 1,000 elementos (y cómo romperlo)
Aquí está el límite que sorprende a la gente: cualquier listado de Reddit se detiene en aproximadamente 1,000 elementos. Pagina el feed new de un subreddit y después de ~1,000 publicaciones el token after se agota, sin importar cuántas más existan. Este es un comportamiento de toda la plataforma, no un error del extractor. No se aplica a los comentarios dentro de una sola publicación: puedes extraer miles de esos. Para recopilar más de 1,000 publicaciones de una comunidad, multiplica tus vistas de ella:
- Combina tipos de ordenamiento. Extrae
new, luegotop,hotycontroversial. Cada uno es una ventana diferente de 1,000 elementos en el mismo subreddit, y la superposición es parcial: juntos revelan muchas más publicaciones únicas. - Añade filtros de tiempo. En
top, itera?t=hour,day,week,month,year,allpara revelar diferentes segmentos. - Usa la búsqueda. Las búsquedas por palabras clave revelan publicaciones más antiguas que desaparecieron de las listas principales.
- Ejecuta incrementalmente. Sondea
newen un horario y elimina duplicados por id de publicación, para capturar todo antes de que envejezca más allá de la ventana de 1,000 elementos.
# combine sorts to break past the 1,000-item cap
seen, posts = set(), []
for sort in ("new", "top", "hot", "controversial"):
for post in fetch_listing("webscraping", sort=sort, pages=10):
if post["id"] not in seen:
seen.add(post["id"])
posts.append(post)
print(f"{len(posts)} unique posts across four sorts")
Límites de tasa y mantenerse desbloqueado
Una IP que sondea los endpoints JSON intensamente se ralentiza rápidamente: Reddit devuelve 429s y eventualmente bloquea. Dos cosas mantienen un trabajo de recopilación saludable: moderar el ritmo (un breve retraso entre solicitudes supera un estallido que activa el limitador) y distribuirlo entre IPs para que ninguna dirección cargue con todo el peso. Enrutarse a través de proxies residenciales permite que un rastreo de investigación parezca muchos lectores ordinarios en lugar de un cliente agresivo, y una Scraper API maneja esa rotación y ritmo por ti. Si estás recibiendo constantemente 429s, nuestra guía sobre límites de tasa y retroceso cubre las matemáticas del ritmo.
Qué hacer con ello: escuchar a gran escala
La razón para recopilar datos de Reddit es escuchar. Rastrea menciones de tu marca o un competidor en comunidades, realiza análisis de sentimiento en los árboles de comentarios, observa un subreddit de nicho en busca de problemas recurrentes que valga la pena abordar, o detecta una tendencia antes de que llegue al público general. Para cualquier cosa más allá de la coincidencia de palabras clave, pasar el texto en bruto por un paso de extracción LLM convierte hilos desordenados en señales estructuradas: temas, quejas, solicitudes de características. Los datos públicos de Reddit son un juego limpio para recopilar, pero son publicaciones de personas; si planeas procesar nombres de usuario o detalles personales, nuestra visión general sobre la legalidad de la extracción web en 2026 vale la pena leerla (informativa, no asesoría legal).

Recopila datos de Reddit en IPs residenciales limpias
Preguntas frecuentes
¿Todavía se puede extraer datos de Reddit después de los cambios en la API?
Sí. La API oficial ahora es de pago, pero el endpoint público .json detrás de cada página de Reddit aún devuelve datos estructurados a través de un HTTP GET simple sin OAuth. Está limitado por tasa, así que modera las solicitudes y distribúyelas entre IPs, pero para recopilación a escala de investigación sigue siendo la ruta más práctica. old.reddit.com y los feeds RSS son fuentes adicionales ligeras.
¿Por qué Reddit se detiene en 1,000 publicaciones?
Reddit limita cualquier listado único —un ordenamiento de subreddit, el historial de un usuario, una búsqueda— a aproximadamente 1,000 elementos en toda la plataforma; el cursor de paginación simplemente se detiene. No es tu extractor. Supera esto combinando tipos de ordenamiento (new, top, hot, controversial), aplicando filtros de tiempo, usando la búsqueda y ejecutando trabajos incrementales que capturan publicaciones antes de que envejezcan fuera de la ventana.
¿Necesito proxies para extraer datos de Reddit?
Para un puñado de solicitudes, no. Para recopilación sostenida, sí: una sola IP martillando los endpoints JSON recibe limitación 429 y luego se bloquea. Los proxies residenciales distribuyen la carga para que el tráfico se lea como muchos lectores ordinarios, y moderar el ritmo entre solicitudes te mantiene bajo el limitador. Juntos permiten que un rastreo de investigación se ejecute continuamente sin activar defensas.
¿Es legal extraer datos de Reddit?
Recopilar páginas públicamente visibles es ampliamente defendible, pero los términos de Reddit restringen el acceso automatizado y los datos incluyen contenido generado por usuarios y nombres de usuario. Mantente en los datos públicos, respeta los límites de tasa y ten cuidado con cualquier cosa que identifique a individuos. Esta es información general, no asesoría legal: revisa los términos actuales de Reddit y tu jurisdicción antes de un proyecto grande.
Que la API se volviera de pago no cerró la puerta, solo movió el pomo. El endpoint .json, la paginación con cursor y una estrategia para el límite de 1,000 elementos te dan los datos; las IPs residenciales y un ritmo educado mantienen la recopilación en marcha. Desde ahí es un problema de escucha, y Reddit es una de las mejores señales a las que puedes apuntar. Si también quieres la historia de precios de la API en otras plataformas, nuestro post sobre datos de X/Twitter sin la API mapea el mismo terreno.