Tony Wang5 min de lecturaCómo scrapear TrustMRR en 2026 (API y Python)
Scrapea los ingresos verificados, el leaderboard y el marketplace de TrustMRR en 2026 — DIY Python, no-code o una API estructurada, con JSON real.
TrustMRR es donde la comunidad de SaaS indie y startups bootstrapped publica (y vende) sus cifras de ingresos — un leaderboard público de negocios con MRR verificado, más un marketplace de startups realmente en venta. La forma más rápida de obtener estos datos de forma programática es una llamada a una API estructurada que devuelve JSON limpio. También puedes hacerlo tú mismo en Python, pero el obstáculo real no es el anti-bot — es que los datos de ingresos del sitio viven dentro del formato de streaming de React Server Components de Next.js, no en una página que puedas simplemente parsear con un selector CSS.
Por qué scrapear TrustMRR
- Benchmarking competitivo — ve cuánto ganan realmente los productos SaaS indie de tu categoría (verificado, no autodeclarado) y qué tan rápido están creciendo.
- Sourcing de adquisiciones y deals — el marketplace muestra startups en venta con precio de venta, MRR y un deal score consciente de la recencia, antes de navegar manualmente listado por listado.
- Investigación de mercado sobre la economía SaaS bootstrapped — los desgloses por categoría y el movimiento del leaderboard son una señal en vivo de qué categorías de producto están creciendo.
- Datos alternativos para inversores e investigadores — ingresos verificados de pequeñas empresas con este nivel de detalle son poco comunes fuera de una plataforma como esta.
¿Es legal scrapear TrustMRR?
El robots.txt de TrustMRR permite el crawling de forma amplia (User-agent: * / Allow: /) y publica un startup-sitemap.xml dedicado específicamente para descubrir cada perfil de startup — una señal fuerte de que el directorio público está pensado para ser crawleado. No apareció ninguna cláusula anti-scraping dedicada en sus Términos de Servicio al momento de escribir esto, pero los términos cambian, y esta guía solo cubre los campos públicos de vista previa que ya ve un visitante sin sesión iniciada. Verifica tú mismo los términos actuales de TrustMRR antes de scrapear a gran escala, y consulta ¿Es legal el web scraping en 2026? para el marco general. No es asesoría legal.
Opción 1: hazlo tú mismo en Python (y por qué se rompe)
Descubrir slugs es genuinamente fácil — el sitemap es real, público, y coincide exactamente con lo que necesitas:
import requests
import xml.etree.ElementTree as ET
resp = requests.get("https://trustmrr.com/startup-sitemap.xml", headers={"User-Agent": "Mozilla/5.0"})
root = ET.fromstring(resp.content)
ns = {"sm": "http://www.sitemaps.org/schemas/sitemap/0.9"}
slugs = [url.find("sm:loc", ns).text.rsplit("/", 1)[-1] for url in root.findall("sm:url", ns)]
print(len(slugs), "startups found, e.g.", slugs[:3])
Obtener una sola página de perfil también funciona con un simple requests.get() — TrustMRR no bloquea el HTML inicial detrás de la ejecución de JavaScript:
page = requests.get("https://trustmrr.com/startup/gumroad", headers={"User-Agent": "Mozilla/5.0"})
Aquí es donde se vuelve frágil: el <title> de la página y la meta description llevan la cifra de ingresos principal como texto plano ("Gumroad - $7,143,938 last 30 days | TrustMRR"), que puedes extraer con regex para un solo número. Pero los campos estructurados que esta guía realmente busca — MRR, tasa de crecimiento, precio de venta, categoría, stack tecnológico — no están en un bloque limpio <script type="application/json">. Se transmiten dentro de llamadas self.__next_f.push(...), el formato de flight de React Server Components del App Router de Next.js. Es técnicamente parseable (los valores están ahí como strings escapados), pero el formato no está documentado, está versionado al build exacto de Next.js, y no tiene garantía de estabilidad de nombres de campo entre un redeploy. Un regex que funciona hoy puede dejar de devolver nada silenciosamente tras el próximo deploy de TrustMRR — y no obtendrás un error, solo campos vacíos.
Opción 2: herramientas no-code / ya hechas
Un scraper visual (estilo Octoparse de apuntar y hacer clic, o una extensión de navegador de importación a hoja de cálculo) puede extraer la tabla del leaderboard para una exportación puntual razonablemente bien, ya que es una tabla HTML real una vez que la página se asienta. Se vuelve incómodo rápidamente para un pipeline recurrente: cada campo de detalle por startup todavía tiene que localizarse dentro de la misma estructura de payload RSC que el parsing DIY tiene que manejar, y la mayoría de las herramientas no-code no tienen un parser de RSC-flight incorporado.
Opción 3: una API estructurada de TrustMRR
Los endpoints de TrustMRR de Crawlora devuelven los mismos datos como JSON normalizado — sin crawlear el sitemap, sin parsear payloads RSC, un solo header de autenticación.
Leaderboard de ingresos, ordenado por MRR (o last_30_days_revenue, all_time_revenue, growth, traffic, revenue_per_visitor):
curl "https://api.crawlora.net/api/v1/trustmrr/leaderboard?metric=mrr" \
-H "x-api-key: YOUR_API_KEY"
import requests
resp = requests.get(
"https://api.crawlora.net/api/v1/trustmrr/leaderboard",
params={"metric": "mrr"},
headers={"x-api-key": "YOUR_API_KEY"},
)
data = resp.json()["data"]
Una respuesta real (recortada a una entrada):
{
"code": 200,
"msg": "OK",
"data": {
"metric": "mrr",
"count": 100,
"entries": [
{
"rank": 1,
"name": "Stan",
"slug": "stan",
"url": "https://trustmrr.com/startup/stan",
"description": "Stan enables people to make living and work for themselves.",
"current_mrr": 3569654.22,
"current_total_revenue": 76627685.07,
"current_last_30_days_revenue": 3569654.22,
"on_sale": false,
"is_merchant_of_record": false,
"x_handle": "vitaliidodonov"
}
]
}
}
Enumera cada startup (este es el equivalente estructurado del crawl del sitemap de arriba — paginado, sin parsear XML):
curl "https://api.crawlora.net/api/v1/trustmrr/startups?page=1&page_size=100" \
-H "x-api-key: YOUR_API_KEY"
Luego obtén el perfil completo verificado para cualquier slug — historial de ingresos y MRR, crecimiento, precio de venta y estado en el marketplace, stack tecnológico, canales de marketing, y el resumen generado por IA de TrustMRR:
curl "https://api.crawlora.net/api/v1/trustmrr/startup/gumroad" \
-H "x-api-key: YOUR_API_KEY"
Y la instantánea del marketplace — las 25 startups listadas para la venta más recientemente, más los 25 mejores deals actuales según el deal score consciente de la recencia de TrustMRR:
curl "https://api.crawlora.net/api/v1/trustmrr/marketplace" \
-H "x-api-key: YOUR_API_KEY"
Qué puedes recopilar
- Leaderboard: posición, nombre, slug, descripción, MRR actual, ingresos de los últimos 30 días, ingresos totales, si está en venta, estado de merchant-of-record, handle de X.
- Perfiles de startups: categoría, precio de venta (+ historial), branding, stack tecnológico, canales de marketing, Ahrefs domain rating, resumen de negocio generado por IA.
- Categorías: slug, etiqueta, descripción y palabras clave para cada vertical de startup que TrustMRR rastrea.
- Marketplace: suscripciones activas, precio de venta, categoría, país, número de clientes y deal score para los listados actualmente en venta.
Fuentes
Dónde encaja esto
Consulta la página de la plataforma TrustMRR para la lista completa de endpoints. Para datos adyacentes de startups y deals, cómo scrapear PitchBook cubre perfiles de empresas e inversores de nivel VC/PE, y cómo scrapear Product Hunt cubre dónde lanzan estos mismos productos indie antes de aparecer en un leaderboard de ingresos. Consulta el caso de uso más amplio de datos alternativos para ver cómo encajan los ingresos verificados de pequeñas empresas en un pipeline de investigación.
Empieza a recopilar
Prueba los endpoints /trustmrr/* en el Playground antes de escribir código, o salta directo a los docs. Consulta también cómo scrapear PitchBook y cómo scrapear Product Hunt para el resto del panorama de datos de startups.
Parte de nuestra serie de guías how-to-scrape — cada plataforma que cubrimos, en un solo índice.
Preguntas frecuentes
¿Cuál es la forma más rápida de obtener datos de TrustMRR?
Un endpoint estructurado que devuelve JSON normalizado — posición en el leaderboard, MRR verificado, crecimiento y listados del marketplace — sin que tengas que tocar los internos de Next.js.
¿Puedo hacer scraping DIY de TrustMRR?
Sí — su robots.txt está totalmente abierto y publica un sitemap dedicado de startups, así que descubrir slugs es trivial. El problema es que los campos de ingresos y crecimiento por startup se transmiten dentro de payloads de React Server Components, no como JSON plano — son parseables, pero indocumentados y propensos a romperse con cualquier actualización de Next.js.
¿Son reales las cifras de MRR de TrustMRR?
Sí — el MRR y los ingresos en TrustMRR se verifican mediante proveedores de pago conectados (Stripe y similares), no autodeclarados, lo que hace que los datos del leaderboard y del marketplace sean inusualmente fiables para un dataset de SaaS indie.
¿Qué datos puedo recopilar de TrustMRR?
Perfiles de startups, el leaderboard de ingresos/crecimiento, directorios por categoría y los listados en vivo del marketplace (adquisiciones) — datos públicos tipo teaser, no las finanzas completas y bloqueadas.
¿TrustMRR expone las finanzas completas de una startup?
No — los datos públicos son un teaser verificado (MRR, crecimiento, ranking), no un desglose financiero completo. Los detalles financieros completos suelen quedar detrás de un proceso de due diligence propio de una adquisición.
¿Es legal scrapear TrustMRR?
El robots.txt abierto y el sitemap dedicado de startups sugieren que TrustMRR quiere que su directorio público sea indexable, pero revisa siempre sus términos de uso para tu caso concreto — esto no es asesoría legal.