# Proooxy — Datos web listos para RAG para agentes de IA y LLM — Contenido completo (llms-full.txt) > Datos web estructurados y listos para RAG para agentes de IA, pipelines de recuperación y LLMs. Richard Feng crea actores de Apify de nivel de producción para e-commerce, informes SEC/EDGAR, gasto federal, sentencias judiciales, ensayos clínicos y datos sociales y de vídeo: evasión anti-bot, JSON limpio con esquema consistente y sin claves API para datos públicos. Este archivo es la concatenación en un único documento de todas las páginas públicas de https://proooxy.com/es/, pensado para su ingesta directa por LLMs y agentes de IA. Cada página va precedida de un bloque de datos con su frontmatter estructurado (URL, tipo, categoría, tecnología, regiones, fechas) y seguida de su cuerpo completo en Markdown. Generado automáticamente a partir del sitio en producción. --- ## Metadatos del sitio - **Sitio:** Proooxy — Datos web listos para RAG para agentes de IA y LLM - **URL:** https://proooxy.com/es/ - **Descripción:** Datos web estructurados y listos para RAG para agentes de IA, pipelines de recuperación y LLMs. Richard Feng crea actores de Apify de nivel de producción para e-commerce, informes SEC/EDGAR, gasto federal, sentencias judiciales, ensayos clínicos y datos sociales y de vídeo: evasión anti-bot, JSON limpio con esquema consistente y sin claves API para datos públicos. - **Autor:** Richard Feng - **GitHub:** https://github.com/autofacts - **Apify Store:** https://apify.com/autofacts - **Herramientas:** 17 actores de producción - **Entradas:** 2 - **Última generación:** 2026-08-04 --- ## Índice del catálogo de herramientas - [Scraper de Macy's — Productos, precios, SKUs y noticias](https://proooxy.com/es/tools/macys-scraper/) — Productos, precios, SKUs/UPCs y noticias de Macy's — a prueba de Akamai, sin navegador. - [Scraper de Bluesky — Posts, perfiles, feeds e interacciones](https://proooxy.com/es/tools/bluesky-scraper/) — Extrae posts, perfiles, feeds e interacciones de Bluesky. - [Scraper de ClinicalTrials.gov — Estudios, elegibilidad y resultados](https://proooxy.com/es/tools/clinical-trials-scraper/) — Busca estudios, elegibilidad y resultados en ClinicalTrials.gov. - [Scraper de CourtListener — Sentencias, expedientes y texto completo](https://proooxy.com/es/tools/courtlistener-scraper/) — Jurisprudencia de EE. UU., expedientes y texto completo de sentencias para IA legal. - [Scraper de SEC EDGAR — Informes, texto completo y datos financieros XBRL](https://proooxy.com/es/tools/sec-edgar-scraper/) — Informes SEC, texto de 10-K/10-Q y datos financieros XBRL — listos para RAG. - [Scraper de subtítulos y transcripciones de YouTube — JSON, SRT, VTT, LLM](https://proooxy.com/es/tools/youtube-transcript-scraper/) — Transcripciones de YouTube en JSON, SRT, VTT o texto listo para LLM. - [Scraper de USAspending.gov — Adjudicaciones federales, beneficiarios y agregados](https://proooxy.com/es/tools/usaspending-scraper/) — Adjudicaciones federales, beneficiarios y agregados de gasto de USAspending.gov. - [Scraper de Sephora (Global)](https://proooxy.com/es/tools/sephora-scraper/) — Extrae datos de cualquier tienda de Sephora — 21 mercados, un solo actor. - [Global API Load Tester — Prueba de estrés de 10K+ RPS](https://proooxy.com/es/tools/load-tester/) — Simula más de 10K RPS con pruebas de carga geodistribuidas. - [Scraper de Boohoo — Datos de producto en 7 regiones](https://proooxy.com/es/tools/boohoo-scraper/) — Extrae datos de producto de Boohoo en 7 tiendas regionales. - [Scraper de Farfetch — Datos de producto de moda de lujo](https://proooxy.com/es/tools/farfetch-scraper/) — Extrae productos de moda de lujo de Farfetch con soporte multidivisa. - [Scraper de Lululemon — Productos, variantes y precios](https://proooxy.com/es/tools/lululemon-scraper/) — Extrae datos de producto con variantes y contenido multimedia de Lululemon. - [Scraper de Schema Markup y auditor SEO](https://proooxy.com/es/tools/schema-markup-scraper/) — Extrae datos estructurados y audita el SEO de cualquier sitio web. - [Scraper de Sephora EU — 9 mercados europeos](https://proooxy.com/es/tools/sephora-eu-scraper/) — Extrae datos de producto de Sephora en 9 mercados europeos. - [Scraper de Shopify — Datos de producto de cualquier tienda](https://proooxy.com/es/tools/shopify-scraper/) — Extrae datos de producto de cualquier tienda Shopify. - [Scraper de Ulta Beauty — Productos, precios y SKUs](https://proooxy.com/es/tools/ulta-scraper/) — Extrae datos completos de producto de Ulta Beauty. - [Universal Web Printer — URL y HTML a PDF, imagen](https://proooxy.com/es/tools/web-printer/) — Convierte URLs y HTML a PDF, PNG, JPEG o WebP. --- # Scraper de Macy's — Productos, precios, SKUs y noticias - **URL:** https://proooxy.com/es/tools/macys-scraper/ - **Tipo:** tools - **Descripción:** Extrae datos de producto de Macy's — precios, variantes, códigos de barras SKU/UPC, imágenes, valoraciones y reseñas — además de noticias de Macy's Inc., desde URLs de búsqueda, categoría, tendencias y producto. Sin navegador, a prueba de Akamai. - **Resumen:** Productos, precios, SKUs/UPCs y noticias de Macy's — a prueba de Akamai, sin navegador. - **Categoría:** ecommerce - **Stack tecnológico:** TypeScript, Crawlee, Cheerio - **Mercados / regiones:** Estados Unidos - **Ficha en Apify:** https://apify.com/autofacts/macy-s-scraper - **Palabras clave:** scraper de macys, datos de producto de macy's, seguimiento de precios de macys, scraper de grandes almacenes, datos de sku upc de macys, scraper de reseñas de macys, datos de producto retail - **Publicado:** 2026-07-15 - **Modificado:** 2026-07-15 **Características clave:** - Cuatro superficies en un solo actor — búsqueda de producto, categoría, tendencias y noticias de Macy's Inc. - Vence a Akamai Bot Manager sin necesidad de navegador, usando las propias APIs JSON móvil y web de Macy's - Códigos de barras UPC por SKU con color, talla, disponibilidad y precio para cada variante comprable - Precios como enteros en céntimos más cadenas con formato localizado — sin redondeo de coma flotante - Inteligencia de reseñas completa — histograma de estrellas, recuentos de recomendación y valoraciones secundarias de ajuste/talla - Todos los tonos y tallas agrupados bajo un único registro de producto, no una fila por variante - Solo URLs canónicas limpias — los endpoints internos de la API y las claves de cliente nunca se filtran en la salida - Un único esquema normalizado en los resultados de búsqueda, categoría, tendencias y detalle de producto **Casos de uso:** - Seguimiento de precios y promociones de grandes almacenes a nivel de SKU - Análisis competitivo — precios de Macy's frente a Nordstrom, Ulta o DTC de marca - Emparejamiento de catálogo entre retailers mediante códigos de barras UPC por variante - Inteligencia de reseñas y valoraciones para marcas vendidas en Macy's - Monitorización de noticias retail — comunicados de prensa y resultados financieros de Macy's Inc. **Parámetros de entrada:** - `scrapeType` (string, obligatorio) — Superficie a extraer: search, category, trending, news o all (por defecto: search). - `query` (string, opcional) — Palabra clave para la búsqueda de producto, por ejemplo women shoes. - `startUrls` (array, opcional) — URLs de producto/categoría de Macy's o URLs de noticias de Macy's Inc. - `categoryIds` (array, opcional) — IDs de categoría de Macy's (por ejemplo 5449). Se prefieren las URLs de categoría cuando se conocen. - `trendingUrls` (array, opcional) — URLs de listados de tendencias, más vendidos o curados. - `newsUrls` (array, opcional) — URLs de listado de noticias o artículos de Macy's Inc. - `includeProductDetails` (boolean, opcional) — Enriquece los elementos del listado con el detalle completo de producto — variantes, SKUs, galerías (por defecto: true). - `maxPages` (number, opcional) — Profundidad máxima de paginación por fuente de listado/noticias. - `maxResults` (number, opcional) — Límite de registros de salida. 0 = sin límite. - `proxy` (object, obligatorio) — Apify Proxy o URLs de proxy personalizadas. Se recomienda residencial, país US. **FAQ:** **Q: ¿Cómo evade Akamai sin usar un navegador?** No se enfrenta en absoluto al desafío de JS. Los listados provienen de la API de la app móvil de Macy's y el detalle de producto de la API JSON del sitio web — ambas corren sobre una infraestructura separada que responde a solicitudes de lectura anónimas. Sin login, sin cookies, sin clave API. **Q: ¿Los precios están en dólares o en céntimos?** Enteros en céntimos (5999 = $59.99) para evitar el redondeo de coma flotante, junto con cadenas con formato localizado ($59.99). **Q: ¿Cómo se gestionan las variantes y los UPC?** Todos los colores y tallas se agrupan bajo un único registro de producto con un array variants[]. Cada variante lleva su propio código de barras UPC, color, talla, disponibilidad y precio — recuperados de los datos de relación de SKU de Macy's, no extraídos de un widget de muestras de color. **Q: ¿Puedo extraer productos y noticias en una sola ejecución?** Sí. Establece scrapeType en all y proporciona cualquier combinación de query, startUrls, categoryIds, trendingUrls y newsUrls. ## Ejemplo de salida ```json { "type": "product", "source": { "id": "12345678", "canonicalUrl": "https://www.macys.com/shop/product/calvin-klein-womens-sheath-dress?ID=12345678", "retailer": "macys", "currency": "USD" }, "title": "Women's Sleeveless Sheath Dress", "brand": "Calvin Klein", "categories": ["Women", "Dresses", "Work Dresses"], "price": { "sale": 5999, "list": 9800, "currentFormatted": "$59.99", "stockStatus": "InStock" }, "stats": { "rating": 4.6, "reviewCount": 9, "ratingPercentage": 92 }, "options": [ { "type": "Color", "values": [{ "id": "1", "name": "Black" }] }, { "type": "Size", "values": [{ "id": "10", "name": "M" }, { "id": "12", "name": "L" }] } ], "variants": [ { "id": "987654", "sku": "192837465012", "options": ["Black", "M"], "price": { "stockStatus": "InStock" }, "extraInfo": { "upc": "192837465012" } } ], "medias": [{ "type": "Image", "url": "https://slimages.macysassets.com/is/image/MCY/products/.../main.jpg" }] } ``` ## Precios Pago por evento — solo se te factura por los elementos realmente guardados: | Evento | Precio | Qué incluye | |---|---|---| | Producto extraído | $0.006 | Un producto con detalle completo — variantes, SKUs/UPCs, precios, imágenes, valoraciones | | Artículo extraído | $0.002 | Un artículo de noticias de Macy's Inc. — título, autor, fecha, cuerpo, imágenes | Los descuentos por volumen se aplican automáticamente en los planes superiores de Apify (hasta $0.0045 por producto). Un rastreo de 1,000 productos cuesta ~$6.00 a precio de lista. ## Consejos - **Usa proxies residenciales de EE. UU.** El endpoint de detalle de producto tiene limitación de tasa intermitente; la rotación de sesión residencial pasa sin problemas, mientras que las IPs de centro de datos ven más 403. - **Mantén una concurrencia moderada.** Un `maxConcurrency` de 2–3 es el punto óptimo — valores más altos aumentan los bloqueos por límite de tasa sin mejorar el rendimiento. - **Prefiere URLs de categoría antes que IDs sueltos.** La URL lleva la ruta de categoría que la API espera; un ID suelto puede resolver a un conjunto de resultados más amplio o vacío. - **Desactiva `includeProductDetails`** para un barrido rápido a nivel de listado (nombre, marca, precio de listado, imagen, valoración) cuando no necesites variantes ni descripciones. --- # Scraper de Bluesky — Posts, perfiles, feeds e interacciones - **URL:** https://proooxy.com/es/tools/bluesky-scraper/ - **Tipo:** tools - **Descripción:** Extrae posts, perfiles, seguidores, feeds, hilos, likes y reposts de Bluesky vía AT Protocol — además de resultados de búsqueda y hashtags autenticados con una contraseña de aplicación. JSON limpio y normalizado. - **Resumen:** Extrae posts, perfiles, feeds e interacciones de Bluesky. - **Categoría:** social - **Stack tecnológico:** TypeScript, AT Protocol - **Mercados / regiones:** Global - **Ficha en Apify:** https://apify.com/autofacts/bluesky-scraper - **Palabras clave:** scraper de bluesky, api de bluesky, datos de at protocol, extraer posts de bluesky, datos de perfiles de bluesky, scraper de hashtags de bluesky, extracción de datos de redes sociales - **Publicado:** 2026-07-01 - **Modificado:** 2026-07-01 **Características clave:** - Once modos — search, profile, posts, followers, following, feed, thread, likers, reposters, actorLikes y hashtag - API pública sin necesidad de credenciales para perfiles, posts, seguidores, seguidos, feeds, hilos, likes y reposts - Modos autenticados con contraseña de aplicación — search, hashtag y los likes de tu propia cuenta - Exportación de engagement por publicación — listas completas de likes y reposts por post - Aplanado de hilos — recorre un árbol de respuestas hasta una profundidad configurable - Paginación automática por cursor en todos los endpoints de listado, hasta tu límite de elementos - Forma de JSON normalizada para posts y perfiles en todos los modos - HTTP resiliente — limitación de solicitudes, backoff exponencial y reintentos ante 429/5xx **Casos de uso:** - Monitorización de marca y palabras clave mediante búsqueda autenticada - Seguimiento de hashtags y tendencias en toda la red - Exportación de audiencia — listas de seguidores y seguidos de un creador o una marca - Análisis de engagement — quién exactamente dio like o hizo repost de una publicación - Construcción de datasets para BI, analítica o pipelines RAG a partir de JSON limpio y normalizado - Archivado de conversaciones e hilos bajo una publicación **Parámetros de entrada:** - `mode` (string, opcional) — Qué extraer: posts, profile, followers, following, feed, thread, likers, reposters, actorLikes, search o hashtag (por defecto: posts). - `handles` (array, opcional) — Handles de Bluesky para los modos profile/posts/followers/following/actorLikes, por ejemplo bsky.app. - `query` (string, opcional) — Texto de búsqueda (modo search) o hashtag (modo hashtag — se antepone # automáticamente). - `postUri` (string, opcional) — URI AT de una publicación — usado por los modos thread, likers y reposters. - `feedUri` (string, opcional) — URI AT de un feed personalizado — usado por el modo feed. - `identifier` (string, opcional) — Handle o email de acceso a Bluesky para los modos autenticados (search, hashtag, actorLikes). - `appPassword` (string, opcional) — Contraseña de aplicación de Bluesky (no la contraseña principal de tu cuenta) para los modos autenticados. - `maxItems` (number, opcional) — Máximo de posts/perfiles guardados; cada uno equivale a un evento facturable (por defecto: 100). **FAQ:** **Q: ¿Necesito credenciales de Bluesky?** Solo para los modos search, hashtag y actorLikes — genera una contraseña de aplicación en los ajustes de Bluesky y pásala como appPassword. Los modos profile, posts, followers, following, feed, thread, likers y reposters funcionan todos sin credenciales a través de la API pública de AT Protocol. **Q: ¿Puedo exportar los likes de cualquier cuenta?** No. La API de Bluesky solo expone actorLikes para la propia cuenta autenticada, así que el handle y el identificador de acceso deben referirse a la misma cuenta. **Q: ¿Cómo encuentro el URI de una publicación o un feed?** Los URIs AT tienen el formato at://did:plc:.../app.bsky.feed.post/... — cópialos desde la salida de la API de Bluesky o herramientas para desarrolladores. Los URIs de feed usan la colección app.bsky.feed.generator. **Q: ¿Es seguro usar mi contraseña de aplicación?** Sí — usa una contraseña de aplicación de Bluesky (creada en Settings → App Passwords), nunca tu contraseña principal. Tiene permisos limitados, es revocable y se pasa como un input secreto. ## Ejemplo de salida ```json { "itemType": "post", "mode": "posts", "uri": "at://did:plc:.../app.bsky.feed.post/...", "author": { "did": "did:plc:...", "handle": "bsky.app", "displayName": "Bluesky", "followersCount": 1234567 }, "text": "Example post text", "createdAt": "2026-06-11T00:00:00Z", "replyCount": 10, "repostCount": 20, "likeCount": 100, "langs": ["en"], "url": "https://bsky.app/profile/bsky.app/post/..." } ``` ## Precios Pago por evento: **$0.001 por elemento** (post o perfil) guardado. Una exportación de 1,000 elementos cuesta ~$1.00, y `maxItems` limita tanto el volumen como el coste. ## Consejos - **Empieza por los modos públicos.** Perfiles, posts, seguidores y engagement (likers/reposters) no necesitan login — reserva la autenticación con contraseña de aplicación para las ejecuciones de search y hashtag. - **Exporta engagement, no solo posts.** Los modos likers y reposters muestran exactamente quién amplificó una publicación — una señal que la mayoría de scrapers de Bluesky pasan por alto. - **Limita `maxItems`** en extracciones de followers/following de cuentas grandes para mantener las ejecuciones rápidas y los costes predecibles. --- # Scraper de ClinicalTrials.gov — Estudios, elegibilidad y resultados - **URL:** https://proooxy.com/es/tools/clinical-trials-scraper/ - **Tipo:** tools - **Descripción:** Busca en la API v2 oficial de ClinicalTrials.gov por condición, intervención, patrocinador, ubicación, estado o ID de NCT. Exporta registros de estudios normalizados con elegibilidad, metadatos de resultados y actualizaciones incrementales — sin clave API. - **Resumen:** Busca estudios, elegibilidad y resultados en ClinicalTrials.gov. - **Categoría:** public-data - **Stack tecnológico:** TypeScript, REST API - **Mercados / regiones:** Global - **Ficha en Apify:** https://apify.com/autofacts/clinical-trials-scraper - **Palabras clave:** api de clinicaltrials.gov, datos de ensayos clínicos, dataset de ensayos clínicos, datos de ensayos en reclutamiento, datos de elegibilidad de ensayos clínicos, monitorización de pipeline farmacéutico, ensayos clínicos para RAG - **Publicado:** 2026-07-01 - **Modificado:** 2026-07-01 **Características clave:** - API v2 oficial de ClinicalTrials.gov — no requiere clave API - Búsqueda multicampo — condición, intervención, patrocinador, ubicación y consulta de texto libre - Filtro por estado de reclutamiento (9 valores, combinables con OR) y fase (Early Phase 1 → Phase 4) - Búsqueda directa por ID de NCT para uno o varios estudios específicos - Monitorización incremental vía updatedSince — devuelve solo los estudios modificados a partir de una fecha - Salida summary o full — full añade las secciones en bruto de protocolo, derivadas y de resultados - Fragmentación (chunking) en párrafos lista para RAG a partir de títulos, resúmenes, elegibilidad y resultados - Señales de resultados — hasResults más indicadores de flujo de participantes, medidas de resultado y eventos adversos - Términos MeSH derivados y datos normalizados de patrocinador, colaboradores y ubicación **Casos de uso:** - Monitorización de pipeline farmacéutico/biotecnológico por patrocinador o condición - Investigación de viabilidad para CROs y centros — ensayos en reclutamiento por ubicación, fase y condición - Inteligencia competitiva sobre estudios recién publicados o actualizados - Investigación de reclutamiento de pacientes en ensayos activos - Revisiones sistemáticas — criterios de elegibilidad, resultados y metadatos de resultados a gran escala - Bases de conocimiento de IA médica / RAG construidas a partir de texto de ensayos fragmentado **Parámetros de entrada:** - `condition` (string, opcional) — Condición o enfermedad a buscar, por ejemplo diabetes. - `status` (array, opcional) — Filtro de estado de reclutamiento, combinable con OR, por ejemplo RECRUITING, COMPLETED. - `phase` (array, opcional) — Fases del estudio — Not Applicable, Early Phase 1, Phase 1–4. - `nctIds` (array, opcional) — Obtén estudios específicos por ID de NCT de ClinicalTrials.gov. - `updatedSince` (string, opcional) — AAAA-MM-DD — devuelve los estudios con LastUpdatePostDate igual o posterior a esta fecha. - `outputFields` (string, opcional) — summary (por defecto, normalizado) o full (añade las secciones en bruto de protocol/derived/results). - `chunking` (string, opcional) — Fragmentación de texto para RAG: paragraph (por defecto) o none. - `maxItems` (number, opcional) — Máximo de estudios guardados; cada uno equivale a un evento facturable (por defecto: 10). **FAQ:** **Q: ¿Necesito una clave API?** No. La API v2 de ClinicalTrials.gov es completamente pública — el actor solo envía un User-Agent descriptivo, sin autenticación. **Q: ¿Puedo obtener los datos en bruto del estudio, no solo los campos normalizados?** Sí. Establece outputFields en 'full' para incluir las secciones en bruto protocolSection, derivedSection y resultsSection junto con los campos normalizados del resumen. **Q: ¿Cómo monitorizo los estudios que cambiaron recientemente?** Establece updatedSince con una fecha en formato AAAA-MM-DD. El actor filtra por el LastUpdatePostDate de ClinicalTrials.gov y devuelve solo los estudios actualizados en esa fecha o después — ideal para monitorización diaria de pipelines. **Q: ¿La cobertura es global o solo de EE. UU.?** Global. ClinicalTrials.gov registra ensayos en todo el mundo, y el array locations de cada estudio incluye país, estado, ciudad e instalación cuando están disponibles. ## Ejemplo de salida ```json { "itemType": "study", "nctId": "NCT01884792", "title": "Example Diabetes Study", "officialTitle": "A Study of Example Diabetes Study", "status": "COMPLETED", "phase": ["PHASE2"], "studyType": "INTERVENTIONAL", "conditions": ["Diabetes Mellitus"], "sponsors": { "lead": "Example Sponsor Inc.", "collaborators": [] }, "locations": [ { "facility": "Example Medical Center", "city": "Boston", "state": "MA", "country": "United States", "status": "COMPLETED" } ], "hasResults": true, "resultsSummary": { "hasParticipantFlow": true, "hasOutcomeMeasures": true, "hasAdverseEvents": true }, "lastUpdate": "2026-06-01", "url": "https://clinicaltrials.gov/study/NCT01884792" } ``` ## Precios Pago por evento: **$0.002 por estudio** guardado, independientemente del modo de salida summary o full. Una exportación de 1,000 estudios cuesta ~$2.00, y `maxItems` limita tanto el volumen como el coste. ## Consejos - **Usa `updatedSince` para monitorizar cambios.** Programa una ejecución diaria con la fecha de ayer para capturar solo los ensayos publicados o modificados — la forma más barata de seguir el pipeline de un competidor. - **Combina `condition` + `status: [RECRUITING]` + `phase`** para construir una lista de viabilidad específica sin descargar el registro completo. - **Establece `outputFields: full`** solo cuando necesites las secciones en bruto — el resumen normalizado ya incluye elegibilidad, patrocinadores, ubicaciones e indicadores de resultados. --- # Scraper de CourtListener — Sentencias, expedientes y texto completo - **URL:** https://proooxy.com/es/tools/courtlistener-scraper/ - **Tipo:** tools - **Descripción:** Consulta CourtListener para obtener sentencias judiciales de EE. UU., expedientes RECAP, argumentos orales, jueces y citas — con el texto completo de las sentencias y fragmentos listos para RAG. Filtra por tribunal, fecha o palabra clave. - **Resumen:** Jurisprudencia de EE. UU., expedientes y texto completo de sentencias para IA legal. - **Categoría:** public-data - **Stack tecnológico:** TypeScript, Cheerio - **Mercados / regiones:** Estados Unidos - **Ficha en Apify:** https://apify.com/autofacts/courtlistener-scraper - **Palabras clave:** api de courtlistener, api de datos de jurisprudencia, scraper de sentencias judiciales, datos de expedientes recap, datos de investigación jurídica, dataset de jurisprudencia de ee. uu., jurisprudencia para RAG - **Publicado:** 2026-07-01 - **Modificado:** 2026-07-01 **Características clave:** - Seis tipos de búsqueda en un solo actor — opinions, dockets (RECAP), documentos RECAP, argumentos orales, jueces y búsqueda de citas - Texto completo de la sentencia — sigue los resultados de búsqueda hasta la base de datos para obtener las resoluciones completas, no fragmentos de 300 caracteres - Fragmentación lista para RAG — fragmentos de párrafo de ~2000 caracteres, cada uno con un índice de orden - Resolución de citas — resuelve hasta 250 cadenas de cita (por ejemplo, 576 U.S. 644) a los casos correspondientes - Búsqueda booleana de texto completo, más filtros de ID de tribunal, rango de fecha de presentación y orden de clasificación - Ritmo de solicitudes consciente de los límites de tasa, con backoff preciso ante 429 en todos los formatos de respuesta de CourtListener - Transmisión con paginación por cursor hasta tu límite de elementos configurado - Usa tu propio token o el grupo rotativo de tokens integrado **Casos de uso:** - Investigación jurídica — obtén jurisprudencia de texto completo por tribunal, rango de fechas o palabra clave - Inteligencia de litigios — sigue la actividad de expedientes de un tribunal por materia y fecha - IA legal / RAG — construye un corpus de jurisprudencia fragmentado y listo para embeddings - Análisis de citas — resuelve las citas de un escrito legal a los registros de casos vinculados y sus recuentos de citas - Estudios jurídicos empíricos — jueces, metadatos de argumentos orales y tendencias en las sentencias - Periodismo jurídico — monitoriza sentencias o expedientes recién presentados en tribunales concretos **Parámetros de entrada:** - `searchType` (string, opcional) — Qué obtener: opinions, dockets, recap_docs, oral_arguments, judges o citation (por defecto: opinions). - `query` (string, opcional) — Consulta de texto completo con operadores booleanos — obligatoria salvo que uses un filtro de tribunal o una búsqueda de citas. - `citations` (array, opcional) — Cadenas de cita a resolver (hasta 250) — obligatorio para el modo citation. - `court` (string, opcional) — ID de tribunal de CourtListener, por ejemplo scotus, ca9, nyed. - `dateFrom` (string, opcional) — Fecha de presentación posterior a (AAAA-MM-DD). - `includeFullText` (boolean, opcional) — Obtén el texto completo de la sentencia y fragmentos RAG para el tipo opinions (por defecto: false). - `apiToken` (string, opcional) — Tu token de API de CourtListener; si se omite, se usa el grupo rotativo integrado. - `maxItems` (number, opcional) — Máximo de elementos guardados; cada uno equivale a un evento facturable (por defecto: 5). **FAQ:** **Q: ¿Necesito un token de API de CourtListener?** CourtListener lo requiere. Proporciona tu propio token gratuito mediante apiToken, o confía en el grupo rotativo de reserva integrado en el actor. Usar tu propio token te permite aumentar el rendimiento en un nivel de pago/membresía. **Q: ¿El texto completo de la sentencia está disponible para todos los tipos de búsqueda?** No. El texto completo y la fragmentación (includeFullText) se aplican solo a opinions, y están desactivados por defecto para mantener las ejecuciones rápidas. Los resultados de dockets, documentos RECAP, argumentos orales, jueces y citation devuelven solo metadatos. **Q: ¿Qué tribunales están cubiertos?** Todo lo que indexa CourtListener — tribunales federales de EE. UU. (el Tribunal Supremo (SCOTUS), los Tribunales de Apelación y los tribunales de distrito vía RECAP), además de muchos tribunales estatales, identificados con los propios ID de tribunal de CourtListener como scotus, ca9 o nyed. **Q: ¿A qué velocidad puede funcionar?** El rendimiento está limitado por el límite de tasa de tu token (el nivel gratuito de CourtListener permite unas pocas solicitudes por minuto) con backoff automático ante 429; un token de membresía eleva ese límite. ## Ejemplo de salida ```json { "itemType": "legal", "searchType": "opinions", "id": "10380001", "title": "Climate United Fund v. Citibank, N.A.", "court": "Court of Appeals for the D.C. Circuit", "date": "2025-04-16", "url": "https://www.courtlistener.com/opinion/10380001/...", "citations": [], "citeCount": 0, "docketNumber": "23-5138", "fullText": "...", "chunks": [{ "text": "...", "order": 0 }], "meta": { "courtId": "cadc", "clusterId": 10380001 } } ``` ## Precios Pago por evento — solo se te factura por los elementos guardados: | Evento | Precio | Qué incluye | |---|---|---| | Sentencia con texto completo | $0.005 | Una sentencia guardada con el texto completo + fragmentos RAG | | Elemento de metadatos | $0.002 | Un expediente, argumento oral, juez, cita o registro solo de metadatos | Un corpus de texto completo de 1,000 sentencias cuesta ~$5.00; `maxItems` limita tanto el volumen como el coste. ## Consejos - **Activa `includeFullText` solo para las sentencias que realmente vayas a usar en embeddings.** Cuesta solicitudes adicionales por sentencia y está desactivado por defecto — filtra primero de forma precisa por tribunal y fecha. - **Usa el modo `citation` para enriquecer un escrito legal.** Pega las cadenas de cita y obtén de vuelta los registros de casos vinculados y sus recuentos de citas en una sola ejecución. - **Usa tu propio token de CourtListener** para trabajos más grandes — el límite de tasa bajo del nivel gratuito es el principal cuello de botella de rendimiento. --- # Scraper de SEC EDGAR — Informes, texto completo y datos financieros XBRL - **URL:** https://proooxy.com/es/tools/sec-edgar-scraper/ - **Tipo:** tools - **Descripción:** Extrae metadatos de informes de SEC EDGAR, secciones de texto completo de 10-K/10-Q, resultados de búsqueda de texto completo de EDGAR y datos financieros XBRL como JSON limpio y listo para RAG. No requiere clave API. - **Resumen:** Informes SEC, texto de 10-K/10-Q y datos financieros XBRL — listos para RAG. - **Categoría:** public-data - **Stack tecnológico:** TypeScript, Cheerio - **Mercados / regiones:** Estados Unidos - **Ficha en Apify:** https://apify.com/autofacts/sec-edgar-scraper - **Palabras clave:** api de sec edgar, scraper de sec edgar, datos de informes 10-K, scraper de 10-Q, datos financieros xbrl, búsqueda de texto completo edgar, informes sec para RAG, api de datos financieros de empresas - **Publicado:** 2026-07-01 - **Modificado:** 2026-07-01 **Características clave:** - Cuatro modos en un solo actor — metadatos de informes, texto completo del documento, búsqueda de texto completo de EDGAR y datos financieros XBRL - Fragmentación lista para RAG — section, paragraph (~2000 caracteres) o none; cada fragmento etiquetado con su Item de origen y su orden - Parseo automático de secciones 'Item N' para 10-K/10-Q (Item 1A Risk Factors, Item 7 MD&A, y más) - Datos XBRL con taxonomy, tag, label, unit, value, año/periodo fiscal, formulario y número de accession - La deduplicación de datos colapsa las reformulaciones de XBRL a una fila por periodo, conservando la divulgación más temprana - Resolución de empresa por ticker, CIK o nombre contra el archivo oficial de tickers de la SEC, con resolución de respaldo por coincidencia aproximada (fuzzy) - Búsqueda de texto completo de EDGAR con frases entrecomilladas, filtros de tipo de formulario y rango de fechas (2001 → actualidad) - Limitación de tasa y User-Agent conformes con la SEC — no requiere clave API ni login **Casos de uso:** - Pipelines financieros de RAG / LLM que necesitan texto de 10-K y 10-Q fragmentado por sección y listo para embeddings - Investigación de inversión — obtén series temporales de ingresos, beneficio neto y BPA diluido como filas XBRL limpias - Monitorización de cumplimiento y propiedad — Form 4, SC 13D/13G y lenguaje de factores de riesgo entre empresas - Productos fintech que necesitan datos estructurados de EDGAR sin construir un crawler a medida - Investigación de mercado y de industria mediante búsqueda de texto completo — quién divulga una frase, y desde cuándo - Flujos de trabajo de BI y hojas de cálculo que consumen filas de datos financieros XBRL limpias **Parámetros de entrada:** - `mode` (string, obligatorio) — Modo de extracción: filings, fulltext, search o facts (por defecto: filings). - `ticker` (string, opcional) — Ticker bursátil, por ejemplo AAPL. Es obligatorio indicar uno de ticker/cik/companyName en tiempo de ejecución. - `cik` (string, opcional) — Central Index Key (CIK) de la SEC, por ejemplo 320193 — tiene prioridad sobre ticker y companyName. - `companyName` (string, opcional) — Nombre de la entidad registrada ante la SEC, con coincidencia exacta o aproximada contra el archivo oficial de tickers. - `query` (string, opcional) — Expresión de búsqueda de texto completo de EDGAR, por ejemplo "supply chain disruption" — obligatorio para el modo search. - `formTypes` (array, opcional) — Tipos de formulario a incluir, por ejemplo 10-K, 10-Q, 8-K, S-1, DEF 14A, Form 4. Vacío = todos los formularios. - `chunking` (string, opcional) — Estrategia de fragmentación para RAG en fulltext: section, paragraph (~2000 caracteres) o none (por defecto: section). - `maxItems` (number, opcional) — Máximo de elementos guardados; cada elemento guardado equivale a un evento facturable (por defecto: 100). **FAQ:** **Q: ¿Necesito una clave API de la SEC?** No. SEC EDGAR son datos públicos gratuitos. El actor se identifica con un User-Agent conforme a la normativa y se autolimita automáticamente por debajo del límite de tasa de la SEC — sin clave ni login. **Q: ¿Hasta cuándo se remontan los datos?** La búsqueda de texto completo de EDGAR (EFTS) cubre informes desde el 2001-05-04 en adelante y está limitada a 10,000 resultados por consulta. Los metadatos de informes se remontan a 1994, y los datos financieros XBRL cubren todo lo que la empresa haya declarado en XBRL. **Q: ¿La salida está lista para LLMs y RAG?** Sí. En el modo fulltext, el actor analiza los 10-K/10-Q en secciones 'Item N' y genera fragmentos listos para embeddings (section o párrafos de ~2000 caracteres), cada uno etiquetado con su Item de origen y su índice de orden. **Q: ¿Por qué se omiten algunos informes en el modo fulltext?** Los informes cuyo documento principal no es HTML ni TXT (por ejemplo, el XML de Form 4 que es solo XBRL) no se pueden analizar por secciones, así que se omiten — y no se cobran. ## Ejemplo de salida ```json { "itemType": "filing-fulltext", "title": "Apple Inc. — 10-K 2025-10-31", "company": "Apple Inc.", "ticker": "AAPL", "cik": "0000320193", "formType": "10-K", "filedAt": "2025-10-31", "accessionNo": "0000320193-25-000123", "documentUrl": "https://www.sec.gov/Archives/edgar/data/320193/...", "sections": [ { "name": "Item 1A — Risk Factors", "charCount": 38241 }, { "name": "Item 7 — Management's Discussion and Analysis", "charCount": 21077 } ], "chunks": [ { "text": "The Company's business, reputation, results of operations...", "section": "Item 1A — Risk Factors", "order": 12 } ], "textLength": 220151 } ``` ## Precios Pago por evento — solo se te factura por los elementos realmente guardados: | Evento | Precio | Qué incluye | |---|---|---| | Metadatos de informe / resultado de búsqueda | $0.001 | Un registro de metadatos de informe o un resultado de búsqueda de texto completo | | Informe de texto completo | $0.005 | Un informe extraído, analizado por secciones y fragmentado para RAG | | Dato XBRL | $0.0002 | Una fila de dato financiero XBRL | Una extracción de metadatos de 1,000 informes cuesta ~$1.00; 1,000 datos XBRL cuestan ~$0.20. `maxItems` limita tanto el volumen como el coste. ## Consejos - **Empieza con el modo `facts` para datos financieros.** Obtener filas XBRL (ingresos, beneficio neto, BPA) es mucho más barato y limpio que analizar informes completos cuando solo necesitas las cifras. - **Usa `chunking: section` para RAG.** Mantiene cada Item (Risk Factors, MD&A) intacto, de modo que la recuperación devuelve pasajes coherentes y citables. - **La búsqueda de texto completo cubre desde 2001 en adelante.** Para divulgaciones más antiguas, resuelve la empresa por CIK y obtén los metadatos de informe directamente. --- # Scraper de subtítulos y transcripciones de YouTube — JSON, SRT, VTT, LLM - **URL:** https://proooxy.com/es/tools/youtube-transcript-scraper/ - **Tipo:** tools - **Descripción:** Extrae subtítulos y transcripciones de YouTube de vídeos, Shorts, listas de reproducción y canales en JSON, SRT, VTT, texto plano o texto limpio listo para LLM. Más de 100 idiomas, metadatos completos, sin clave API — y las extracciones fallidas son gratis. - **Resumen:** Transcripciones de YouTube en JSON, SRT, VTT o texto listo para LLM. - **Categoría:** social - **Stack tecnológico:** TypeScript, InnerTube - **Mercados / regiones:** Global - **Ficha en Apify:** https://apify.com/autofacts/youtube-subtitle-transcript-scraper - **Palabras clave:** scraper de transcripciones de youtube, api de transcripciones de youtube, descargar subtítulos de youtube, convertir subtítulos de youtube a texto, transcripciones de youtube en lote, transcripciones de youtube srt vtt, transcripciones de youtube para LLM - **Publicado:** 2026-07-01 - **Modificado:** 2026-07-01 **Características clave:** - Un único input gestiona vídeos, Shorts, enlaces youtu.be, listas de reproducción y canales — combinados en una sola ejecución - Cinco formatos de salida — JSON (con marcas de tiempo), SRT, VTT, texto plano y listo para LLM (elimina [Music], [Applause] y etiquetas de interlocutor) - Más de 100 idiomas con una lista de idiomas por orden de prioridad y respaldo de subtítulos automáticos configurable - Metadatos completos — título, canal, descripción, fecha de publicación, número de visualizaciones, miniatura, duración e idiomas disponibles - Procesa en lote listas de reproducción y canales completos con un límite maxVideos y concurrencia de 1 a 10 - Soporte de proxy residencial más cookies opcionales para reducir los bloqueos por verificación anti-bot - Extracción multicapa — hasta nueve mecanismos de respaldo entre clientes de InnerTube, con un último recurso de PO-token vía yt-dlp - El circuit breaker y el manejo de errores por elemento mantienen en marcha los lotes grandes **Casos de uso:** - Equipos de IA/ML que construyen datasets de RAG o fine-tuning a partir de vídeo hablado (salida de texto lista para LLM) - Equipos de contenido que reutilizan transcripciones en entradas de blog, notas de programa y descripciones para redes sociales - Profesionales de SEO que extraen texto de vídeo indexable para indexación e investigación de palabras clave - Editores y publicadores que necesitan archivos de subtítulos estándar SRT/VTT - Investigadores que recopilan transcripciones en lote de un canal o lista de reproducción completos - Desarrolladores que necesitan subtítulos estructurados y con marcas de tiempo sin una clave de la API de YouTube **Parámetros de entrada:** - `urls` (array, opcional) — URLs de YouTube o IDs sueltos — vídeos, Shorts, enlaces youtu.be, listas de reproducción o canales. Obligatorio en tiempo de ejecución. - `outputFormat` (string, opcional) — Formato de la transcripción: json, srt, vtt, text o llm (por defecto: json). - `languages` (array, opcional) — Idiomas de subtítulos preferidos por orden de prioridad, códigos ISO 639-1 (por defecto: en). - `includeAutoGenerated` (boolean, opcional) — Recurre a subtítulos autogenerados cuando no existen subtítulos manuales (por defecto: true). - `maxVideos` (number, opcional) — Límite de vídeos procesados por ejecución, por ejemplo para listas de reproducción/canales (por defecto: 0 = sin límite). - `maxConcurrency` (number, opcional) — Vídeos procesados en paralelo, de 1 a 10 (por defecto: 3). - `proxyConfiguration` (object, opcional) — Configuración de proxy; por defecto usa Apify Residential fijado a US. - `youtubeCookies` (string, opcional) — Cookies opcionales de YouTube (cabecera Cookie o cookies.txt) para reducir los bloqueos por verificación anti-bot. **FAQ:** **Q: ¿Necesito una clave de la API de YouTube o iniciar sesión?** No. El actor extrae los subtítulos directamente — sin clave de la YouTube Data API y sin login. Se puede proporcionar opcionalmente un input de cookies para reducir los bloqueos de 'Sign in to confirm you're not a bot' en algunos vídeos. **Q: ¿Qué idiomas y tipos de subtítulos son compatibles?** Más de 100 idiomas. Proporciona una lista de códigos ISO 639-1 por orden de prioridad (por defecto: en); el actor prefiere los subtítulos creados manualmente y recurre a los autogenerados a menos que desactives includeAutoGenerated. **Q: ¿Se me cobra por los vídeos que fallan al extraer?** No. La facturación es de pago por evento sobre un único evento de transcripción extraída, cobrado solo después de guardar con éxito una transcripción. Los vídeos fallidos aparecen en la salida con un campo error y no se cobran. **Q: ¿Puedo obtener texto limpio y listo para LLM para RAG?** Sí. Establece outputFormat en 'llm' para eliminar las anotaciones [Music]/[Applause] y las etiquetas de interlocutor, generando una prosa limpia ideal para embeddings y fine-tuning. ## Ejemplo de salida ```json { "videoId": "dQw4w9WgXcQ", "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "title": "Rick Astley - Never Gonna Give You Up (Official Video)", "channelName": "Rick Astley", "channelId": "UCuAXFkgsw1L7xaCfnd5JJOw", "publishDate": "2009-10-25", "viewCount": 1761003712, "availableLanguages": ["en", "de-DE", "ja", "pt-BR", "es-419"], "language": "en", "isAutoGenerated": false, "duration": 213, "wordCount": 487, "segmentCount": 61, "text": "We're no strangers to love, you know the rules and so do I...", "segments": [{ "text": "We're no strangers to love", "start": 18.64, "end": 21.88 }], "error": null } ``` ## Precios Pago por evento: se cobra una vez por cada **transcripción extraída con éxito** — los vídeos fallidos nunca se cobran. Introduce un canal o lista de reproducción completos y paga solo por los subtítulos que realmente obtengas. ## Consejos - **Usa `outputFormat: llm`** para RAG y fine-tuning — elimina las anotaciones que no son habla, de modo que tus embeddings reciben una prosa limpia. - **Mantén activado un proxy residencial.** YouTube bloquea agresivamente las IPs de centro de datos; el actor usa residencial de US por defecto, y no es casualidad. - **Empieza con `maxConcurrency` entre 1 y 3 para trabajos grandes** y auméntalo gradualmente — una concurrencia alta incrementa el riesgo de límite de tasa en extracciones de canales grandes. --- # Scraper de USAspending.gov — Adjudicaciones federales, beneficiarios y agregados - **URL:** https://proooxy.com/es/tools/usaspending-scraper/ - **Tipo:** tools - **Descripción:** Consulta la API v2 oficial de USAspending.gov para contratos, subvenciones y préstamos federales. Filtra por agencia, beneficiario, NAICS/PSC o fecha, y obtén perfiles de beneficiarios, totales por categoría y agregados geográficos por estado/condado/distrito. Sin clave API. - **Resumen:** Adjudicaciones federales, beneficiarios y agregados de gasto de USAspending.gov. - **Categoría:** public-data - **Stack tecnológico:** TypeScript, REST API - **Mercados / regiones:** Estados Unidos - **Ficha en Apify:** https://apify.com/autofacts/usaspending-scraper - **Palabras clave:** api de usaspending, datos de contratos federales, datos de gasto público, datos de subvenciones federales, investigación de mercado govcon, datos de adjudicaciones federales, datos de contratos naics psc - **Publicado:** 2026-07-01 - **Modificado:** 2026-07-01 **Características clave:** - API v2 oficial de USAspending.gov — no requiere clave API - Búsqueda de adjudicaciones por palabras clave, año fiscal/rango de fechas, agencia, beneficiario, NAICS, PSC, importe y tipo de adjudicación - Seis modos — búsqueda de adjudicaciones, detalle de adjudicación, subadjudicaciones, perfil de beneficiario, totales por categoría y geografía - 18 dimensiones de agregación por categoría (beneficiario, NAICS, PSC, agencia, condado, distrito, CFDA, TAS y más) - Agregados geográficos por estado, condado, distrito congresional y país, con campos de población y per cápita - Fragmentación automática de fechas (mensual/trimestral) para conjuntos de resultados grandes de varios años - Agrupación automática de códigos de tipo de adjudicación en lotes de solicitudes de API válidos - Búsqueda exacta de detalle de adjudicación y subadjudicación por ID de adjudicación generado **Casos de uso:** - Desarrollo de negocio GovCon — encuentra oportunidades y contratistas incumbentes por NAICS, PSC o agencia - Inteligencia competitiva sobre el historial de adjudicaciones y las relaciones con agencias de un competidor - Periodismo de investigación que rastrea el gasto federal hasta beneficiarios o áreas geográficas concretas - Investigación de políticas públicas y académica sobre tendencias de gasto por categoría, tipo de adjudicación o periodo - Revisión de due diligence del historial de adjudicaciones y gasto federal de un beneficiario - Dashboards de BI que mapean el gasto federal por estado, condado o distrito congresional **Parámetros de entrada:** - `mode` (string, opcional) — Flujo de trabajo: awards, awardDetail, subawards, recipient, byCategory o geography (por defecto: awards). - `keywords` (array, opcional) — Filtros de palabras clave de texto libre de USAspending para la búsqueda de adjudicaciones. - `fiscalYear` (number, opcional) — Año fiscal federal (corresponde al rango del 1 de octubre al 30 de septiembre). - `awardTypes` (array, opcional) — Códigos de tipo de adjudicación de USAspending; los grupos mixtos se dividen automáticamente en solicitudes válidas. - `agency` (string, opcional) — Filtro de nombre exacto de la agencia otorgante o financiadora. - `naicsCodes` (array, opcional) — Códigos NAICS que debe coincidir una adjudicación. - `awardId` (string, opcional) — ID de adjudicación generado — obligatorio en tiempo de ejecución para los modos awardDetail y subawards. - `maxItems` (number, opcional) — Máximo de registros guardados; cada fila equivale a un evento facturable (por defecto: 100). **FAQ:** **Q: ¿Necesito una clave API?** No. La API v2 de USAspending.gov es pública y no requiere clave ni login. **Q: ¿Por qué los códigos de tipo de adjudicación mixtos se dividen en varias solicitudes?** USAspending rechaza una única búsqueda que mezcle códigos de diferentes grupos de tipo de adjudicación (contratos, IDVs, subvenciones, préstamos, otra asistencia financiera, pagos directos). El actor agrupa automáticamente los códigos solicitados y etiqueta cada fila de salida con los códigos de tipo de adjudicación coincidentes. **Q: ¿Qué desgloses geográficos están disponibles?** Estado, condado, distrito congresional y país — con alcance al lugar de ejecución o a la ubicación del beneficiario, incluyendo campos de población y per cápita. **Q: ¿Cómo se cobra una ejecución?** Pago por evento a $0.001 por fila guardada, cobrado una vez por cada registro devuelto con éxito. maxItems limita el número de filas y, por tanto, el coste. ## Ejemplo de salida ```json { "itemType": "award", "title": "HT940216C0001 — HUMANA GOVERNMENT BUSINESS INC", "date": "2016-02-01", "awardId": "HT940216C0001", "generatedId": "CONT_AWD_HT940216C0001_9700_-NONE-_-NONE-", "recipient": { "name": "HUMANA GOVERNMENT BUSINESS INC", "uei": "...", "duns": "..." }, "awardingAgency": "Department of Defense", "fundingAgency": "Department of Defense", "amount": 51269205263.03, "awardType": "IDV_B_C", "naics": { "code": "...", "description": "..." }, "placeOfPerformance": { "stateCode": "...", "state": "..." }, "awardTypeCodes": ["IDV_B_C"], "url": "https://www.usaspending.gov/award/CONT_AWD_HT940216C0001_9700_-NONE-_-NONE-" } ``` ## Precios Pago por evento: **$0.001 por registro guardado**, cobrado una vez por cada fila devuelta con éxito. Una ejecución de ~1,000 registros cuesta ~$1.00, y `maxItems` limita tanto el volumen como el coste. ## Consejos - **Empieza por códigos NAICS o PSC** para la prospección GovCon — se corresponden directamente con los productos/servicios que vendes y devuelven el conjunto más limpio de adjudicaciones relevantes. - **Usa el modo `byCategory`** para clasificar los principales beneficiarios o agencias de un mercado antes de obtener el detalle de adjudicaciones individuales. - **El modo geography devuelve la primera página (hasta 100 filas)** por cada combinación de rango de fechas/tipo de adjudicación — reduce los filtros en lugar de aumentar `maxItems` para las agregaciones por estado/condado/distrito. --- # Scraper de Sephora (Global) - **URL:** https://proooxy.com/es/tools/sephora-scraper/ - **Tipo:** tools - **Descripción:** Apify Actor que extrae datos completos de producto de Sephora — variantes, precios, imágenes, ingredientes y reseñas — de 21 tiendas en EE. UU., Canadá, 9 mercados de la UE y 10 mercados de Asia-Pacífico, en un único esquema normalizado. - **Resumen:** Extrae datos de cualquier tienda de Sephora — 21 mercados, un solo actor. - **Categoría:** ecommerce - **Stack tecnológico:** Python, Crawlee, curl_cffi - **Mercados / regiones:** Estados Unidos, Canadá, Francia, Italia, Alemania, España, Polonia, Chequia, Grecia, Rumanía, Portugal, Nueva Zelanda, Australia, Singapur, Malasia, Tailandia, Indonesia, Filipinas, Hong Kong, Taiwán, Brunéi - **Estrategia anti-bot:** Evasión de Akamai mediante proxies residenciales + huella TLS con curl_cffi - **Tasa de éxito reportada:** >99% - **Ficha en Apify:** https://apify.com/autofacts/sephora - **Palabras clave:** scraper de sephora, datos de producto de sephora, api de sephora, extraer productos de sephora, seguimiento de precios de sephora, datos de producto de belleza, extracción de datos de cosmética, scraper global de sephora - **Publicado:** 2026-04-18 - **Modificado:** 2026-04-18 **Características clave:** - 21 tiendas en un solo actor — EE. UU., Canadá, 9 mercados de la UE y 10 mercados de APAC cubiertos por un único SKU - Mercado autodetectado — pega cualquier URL sephora.* y el dispatcher la enruta al módulo correcto - Ejecuciones multimercado combinadas — URLs de US + EU + SEA en una sola lista startUrls, transmitidas a un único dataset etiquetado con `market` - Precios correctos por configuración regional — NZD, EUR, USD, AUD y otras 17 divisas devueltas por la propia capa de localización de Sephora - Esquema normalizado — cada mercado emite la misma forma `source / brand / title / options / variants / medias / stats` - Aislamiento de sesión por mercado — el estado de autenticación no puede contaminarse entre regiones - Circuit breaker global — 50 fallos consecutivos interrumpen la ejecución para no desperdiciar cómputo en un objetivo caído **Casos de uso:** - Inteligencia de precios panregional en los mercados de belleza de EE. UU., la UE y APAC - Monitorización de disponibilidad y surtido de producto entre mercados - Análisis competitivo para marcas que se lanzan en nuevas regiones de Sephora - Comparación de ingredientes entre formulaciones regionales - Seguimiento de reseñas y valoraciones — incluyendo señales de wishlist de SEA y resúmenes de sentimiento por IA de US - Auditorías de precios de fidelización/membresía por mercado **Parámetros de entrada:** - `startUrls` (array, obligatorio) — URLs de producto o categoría de cualquier tienda sephora.*. El mercado se detecta automáticamente a partir del hostname. - `market` (string, opcional) — Anulación opcional de mercado (us, eu-fr, eu-it, eu-de, eu-es, eu-pl, eu-cz, eu-gr, eu-ro, eu-pt, sea-nz, sea-au, sea-sg, sea-my, sea-th, sea-id, sea-ph, sea-hk, sea-tw, sea-bn). - `locale` (string, opcional) — Configuración regional BCP 47 opcional (por ejemplo fr-FR, en-NZ) — anula el valor por defecto del mercado. - `categoryIds` (array, opcional) — Solo EU. IDs de categoría de SFCC como C479 — alternativa a pegar URLs de categoría. - `proxy` (object, opcional) — Configuración de Apify Proxy. Se recomienda encarecidamente residencial; fija apifyProxyCountry al mercado objetivo. - `maxConcurrency` (number, opcional) — Solicitudes concurrentes. Por defecto 5. US: 2-5. EU: 3. SEA: 8-16. - `maxRequestsPerCrawl` (number, opcional) — Límite máximo global en todos los mercados. 0 = sin límite. **FAQ:** **Q: ¿Qué tiendas de Sephora admite este scraper?** 21 tiendas: EE. UU. (sephora.com), Canadá (sephora.ca), 9 mercados de la UE (FR, IT, DE, ES, PL, CZ, GR, RO, PT) y 10 mercados de APAC (NZ, AU, SG, MY, TH, ID, PH, HK, TW, BN). El mercado se detecta automáticamente a partir del hostname — no hace falta cambiar el input al combinar mercados. **Q: ¿Puedo extraer varios mercados en una sola ejecución?** Sí. Combina URLs de sephora.com, sephora.fr y sephora.nz en una sola lista startUrls. El dispatcher las agrupa por mercado, ejecuta cada módulo de forma concurrente con la autenticación adecuada a cada mercado, y etiqueta cada elemento del dataset con un campo `market`. **Q: ¿Cómo gestiona el scraper la protección anti-bot?** Usa proxies residenciales para todos los mercados y curl_cffi para huella TLS de nivel navegador en el tráfico de EU y SEA, con el fin de evadir Akamai. El tráfico de US usa el HttpCrawler de Crawlee con un pool de sesiones que rota ante 403/429. **Q: ¿Seguirán funcionando mis configuraciones de ejecución v1.x de US existentes?** Sí. Los inputs anteriores a 2.0 — startUrls, maxConcurrency, proxy, maxRequestsPerCrawl — se comportan de forma idéntica. El único cambio en la salida es una nueva clave `market` en cada elemento, un cambio aditivo no disruptivo. **Q: ¿Por qué algunos campos son null en los datos de SEA?** La API de Sephora SEA no expone un contador `lovesCount`, así que los elementos de APAC tienen `stats.lovesCount = null`. Cada variante tiene en su lugar un campo booleano `wishlisted`. A la inversa, `sentiments` (resúmenes de reseñas por IA) y `source.crawlUrl` son exclusivos de US. **Q: ¿Necesito tokens de API o cuentas separadas por mercado?** No. Tu token de API de Apify existente funciona sin cambios. El actor gestiona internamente los tokens de invitado por mercado — no se requieren credenciales para EU/SEA, y US funciona con los proxies residenciales estándar de Apify. ## Mercados admitidos | Región | ID de mercado | País | Divisa | Hostname | |---|---|---|---|---| | América | `us` | Estados Unidos | USD | sephora.com | | América | `us` | Canadá | CAD | sephora.ca | | UE | `eu-fr` | Francia | EUR | sephora.fr | | UE | `eu-it` | Italia | EUR | sephora.it | | UE | `eu-de` | Alemania | EUR | sephora.de | | UE | `eu-es` | España | EUR | sephora.es | | UE | `eu-pl` | Polonia | PLN | sephora.pl | | UE | `eu-cz` | Chequia | CZK | sephora.cz | | UE | `eu-gr` | Grecia | EUR | sephora.gr | | UE | `eu-ro` | Rumanía | RON | sephora.ro | | UE | `eu-pt` | Portugal | EUR | sephora.pt | | APAC | `sea-nz` | Nueva Zelanda | NZD | sephora.nz | | APAC | `sea-au` | Australia | AUD | sephora.com.au | | APAC | `sea-sg` | Singapur | SGD | sephora.sg | | APAC | `sea-my` | Malasia | MYR | sephora.com.my | | APAC | `sea-th` | Tailandia | THB | sephora.co.th | | APAC | `sea-id` | Indonesia | IDR | sephora.co.id | | APAC | `sea-ph` | Filipinas | PHP | sephora.ph | | APAC | `sea-hk` | Hong Kong | HKD | sephora.hk | | APAC | `sea-tw` | Taiwán | TWD | sephora.tw | | APAC | `sea-bn` | Brunéi | BND | sephora.bn | ## Ejemplo de salida ```json { "market": "sea-nz", "source": { "id": 58792, "canonicalUrl": "https://www.sephora.nz/products/rare-beauty-true-to-myself-natural-matte-longwear-foundation", "retailer": "SEPHORA", "currency": "NZD" }, "brand": "Rare Beauty", "title": "True To Myself Natural Matte Longwear Foundation", "description": "

A self-priming and self-setting foundation...

", "ingredients": "Aqua/Water, Cyclopentasiloxane, Glycerin...", "currentSku": "770225", "categories": ["makeup/face/foundation"], "options": [ { "name": "shade", "id": "66488", "values": [{"value": "1 Fair Neutral", "orderable": true}] } ], "variants": [ { "id": "276343", "sku": "770225", "price": { "current": 77.0, "original": 77.0, "stockStatus": "IN_STOCK" }, "options": [{"name": "shade", "value": "1 Fair Neutral"}], "highlights": ["NEW", "Only at Sephora"], "wishlisted": null } ], "medias": [{ "url": "https://www.sephora.nz/.../foundation-shade.jpg", "type": "image" }], "stats": { "reviewCount": 971, "rating": 4.8, "lovesCount": null } } ``` ## Consejos - **Fija el país del proxy al mercado objetivo.** Una salida residencial en un país no coincidente es, con diferencia, la mayor fuente de errores 403 de la capa Akamai de Sephora. Establece `apifyProxyCountry` con el código ISO de la tienda (`US`, `FR`, `NZ`, etc.). - **Haz primero una prueba de humo (smoke test).** Establece `maxRequestsPerCrawl=10` antes de tu primera ejecución de producción en un mercado nuevo. - **Ajusta la concurrencia por región.** US: 2-5. EU: 3. SEA: 8-16. Cada mercado obtiene su propio semáforo en las ejecuciones combinadas. --- # Global API Load Tester — Prueba de estrés de 10K+ RPS - **URL:** https://proooxy.com/es/tools/load-tester/ - **Tipo:** tools - **Descripción:** Herramienta de pruebas de carga de alto rendimiento que simula más de 10,000 solicitudes por segundo, con tráfico geodistribuido, objetivos ponderados e informes HTML interactivos. - **Resumen:** Simula más de 10K RPS con pruebas de carga geodistribuidas. - **Categoría:** utility - **Stack tecnológico:** Go, Vegeta - **Mercados / regiones:** Global - **Tasa de éxito reportada:** >99% - **Ficha en Apify:** https://apify.com/autofacts/global-api-load-tester - **Palabras clave:** herramienta de pruebas de carga api, pruebas de carga http, herramienta de pruebas de estrés, pruebas de rendimiento, prueba de carga 10k rps, pruebas de carga geodistribuidas, pruebas de carga con vegeta - **Publicado:** 2026-04-04 - **Modificado:** 2026-04-04 **Características clave:** - Rendimiento extremo — más de 10,000 solicitudes por segundo - Pruebas geodistribuidas desde EE. UU., la UE y Asia - Ataques multiobjetivo ponderados (por ejemplo, 90% lecturas / 10% escrituras) - Soporte de proxy residencial para tráfico realista - Ritmo a tasa constante para evitar el Coordinated Omission - Informes HTML interactivos vía Vegeta Plots - Métricas detalladas de latencia, rendimiento y errores **Casos de uso:** - Benchmarking de rendimiento de API antes del lanzamiento - Planificación de capacidad y dimensionamiento de infraestructura - Detección de puntos de ruptura y cuellos de botella - Pruebas de configuraciones de CDN y balanceador de carga - Pruebas de latencia geodistribuidas - Pruebas de regresión para endpoints críticos en rendimiento **Parámetros de entrada:** - `targets` (array, obligatorio) — Endpoints objetivo con URL, method, body, headers y weight - `rate` (number, opcional) — Solicitudes por segundo (por defecto: 50) - `duration` (number, opcional) — Duración de la prueba en segundos (por defecto: 60) - `geoDistribution` (array, opcional) — Regiones con códigos de país y pesos de tráfico - `useStickySessions` (boolean, opcional) — Mantiene afinidad de sesión (por defecto: true) - `maxCostLimit` (number, opcional) — Límite de coste para la ejecución de la prueba **FAQ:** **Q: ¿Cómo funcionan las pruebas geodistribuidas?** Especificas códigos de país y pesos de tráfico. La herramienta distribuye las solicitudes entre los servidores proxy de Apify en esas regiones, simulando patrones de tráfico global realistas. **Q: ¿Qué es el Coordinated Omission?** Es un error común en las pruebas de carga en el que la propia herramienta se ralentiza cuando el objetivo está sobrecargado, haciendo que los resultados parezcan mejores de lo que son en realidad. Vegeta usa un ritmo a tasa constante para evitarlo. **Q: ¿Puedo probar endpoints autenticados?** Sí, incluye las cabeceras de autorización en la configuración del objetivo. Cada objetivo puede tener sus propios headers, method y body. ## Ejemplo de salida La herramienta de pruebas de carga genera informes HTML interactivos y métricas estructuradas: ```json { "summary": { "totalRequests": 50000, "duration": "60s", "rps": 833.33, "successRate": 99.8, "latency": { "mean": "12.4ms", "p50": "10.1ms", "p95": "28.7ms", "p99": "89.2ms", "max": "342.1ms" }, "statusCodes": { "200": 49900, "503": 100 } } } ``` --- # Scraper de Boohoo — Datos de producto en 7 regiones - **URL:** https://proooxy.com/es/tools/boohoo-scraper/ - **Tipo:** tools - **Descripción:** Extrae datos de producto de las tiendas de e-commerce de Boohoo en 7 regiones, con paginación automática, filtrado por facetas y soporte multidivisa. - **Resumen:** Extrae datos de producto de Boohoo en 7 tiendas regionales. - **Categoría:** ecommerce - **Stack tecnológico:** TypeScript, Cheerio, Fingerprint Generator - **Mercados / regiones:** Países Bajos, Suecia, Reino Unido, Irlanda, Francia, Australia, Estados Unidos - **Estrategia anti-bot:** Generación de huellas digitales para evasión anti-bot - **Tasa de éxito reportada:** >99% - **Ficha en Apify:** https://apify.com/autofacts/boohoo-scraper - **Palabras clave:** scraper de boohoo, datos de producto de boohoo, seguimiento de precios de boohoo, scraper de fast fashion, datos de catálogo de moda, datos de moda multirregión - **Publicado:** 2026-04-04 - **Modificado:** 2026-04-04 **Características clave:** - Soporte para 7 tiendas regionales — Países Bajos (EUR), Suecia (SEK), Reino Unido (GBP), Irlanda (EUR), Francia (EUR), Australia (AUD), Estados Unidos (USD) - Scraping de categorías y búsqueda con paginación automática - Soporte de filtros por facetas — talla, color, rango de precio, estilo - Detalles completos de producto, incluidas variantes y estado de stock - Generación de huella digital del navegador para evasión anti-bot - Precios multidivisa según la tienda regional **Casos de uso:** - Análisis competitivo de precios en fast fashion - Comparación de precios multirregión para los mismos productos - Seguimiento de tendencias en moda asequible - Seguimiento de inventario y stock entre regiones - Investigación de mercado de moda en mercados europeos y globales **Parámetros de entrada:** - `startUrls` (array, obligatorio) — URLs de producto o categoría de Boohoo - `maxRequestsPerCrawl` (number, opcional) — Límite de solicitudes (por defecto: 5) - `maxConcurrency` (number, opcional) — Solicitudes en paralelo (por defecto: 5) - `proxy` (object, opcional) — Configuración de proxy **FAQ:** **Q: ¿Qué tiendas regionales de Boohoo son compatibles?** Países Bajos (EUR), Suecia (SEK), Reino Unido (GBP), Irlanda (EUR), Francia (EUR), Australia (AUD) y Estados Unidos (USD). **Q: ¿Puedo filtrar productos por talla o color?** Sí, el scraper admite filtrado por facetas. Puedes proporcionar URLs de categoría ya filtradas y el scraper respetará los filtros aplicados. **Q: ¿Cómo gestiona el scraper la paginación?** La paginación es automática. Proporciona una URL de categoría o búsqueda y el scraper seguirá todos los enlaces de paginación para extraer todos los productos. ## Ejemplo de salida ```json { "source": "https://www.boohoo.com/...", "brand": "boohoo", "title": "Oversized Hoodie", "description": "Stay cozy in this oversized hoodie...", "categories": ["Women", "Hoodies & Sweatshirts"], "price": { "current": 1500, "original": 3000, "currency": "GBP" }, "variants": [ { "sku": "BH-OH-BLK-S", "size": "S", "color": "Black", "inStock": true } ], "medias": [ { "type": "image", "url": "https://..." } ] } ``` --- # Scraper de Farfetch — Datos de producto de moda de lujo - **URL:** https://proooxy.com/es/tools/farfetch-scraper/ - **Tipo:** tools - **Descripción:** Extrae datos de producto de moda de lujo de Farfetch, incluidos precios multidivisa, variaciones de talla/ajuste y recomendaciones de producto. - **Resumen:** Extrae productos de moda de lujo de Farfetch con soporte multidivisa. - **Categoría:** ecommerce - **Stack tecnológico:** TypeScript, Cheerio, Crawlee - **Mercados / regiones:** Global - **Tasa de éxito reportada:** >99% - **Ficha en Apify:** https://apify.com/autofacts/farfetch - **Palabras clave:** scraper de farfetch, datos de producto de farfetch, datos de moda de lujo, scraper de moda de diseñador, seguimiento de precios de farfetch, datos de retail de lujo - **Publicado:** 2026-04-04 - **Modificado:** 2026-04-04 **Características clave:** - Scraping de páginas de categoría y detalle de producto - Precios multidivisa — detección automática según la ubicación del proxy - Extracción opcional de variaciones de talla/ajuste - Hasta 90 productos recomendados por elemento - Galerías multimedia completas y descripciones detalladas - Extracción de marca, categoría e información adicional **Casos de uso:** - Inteligencia de mercado de moda de lujo - Comparación de precios entre plataformas para marcas de diseñador - Análisis de tendencias de moda y descubrimiento de producto - Precios competitivos para retailers multimarca - Datos de entrenamiento para motores de recomendación de producto **Parámetros de entrada:** - `startUrls` (array, obligatorio) — URLs de producto o categoría de Farfetch - `proxy` (object, opcional) — Configuración de proxy — la ubicación afecta a la divisa - `maxRequestsPerCrawl` (number, opcional) — Límite de solicitudes (por defecto: 100) - `maxConcurrency` (number, opcional) — Solicitudes en paralelo (por defecto: 5) - `withSizeFit` (boolean, opcional) — Incluye datos de talla/ajuste (por defecto: false) - `withRecommends` (boolean, opcional) — Incluye recomendaciones (por defecto: false) **FAQ:** **Q: ¿Cómo funcionan los precios multidivisa?** Farfetch muestra los precios según tu ubicación. El scraper usa la ubicación de tu proxy para determinar qué divisa se devuelve. Usa un proxy de EE. UU. para USD, del Reino Unido para GBP, etc. **Q: ¿Cuántos productos recomendados se pueden extraer?** Hasta 90 productos recomendados por elemento cuando withRecommends está activado. Esto es útil para construir grafos de producto y datasets de recomendación. ## Ejemplo de salida ```json { "source": "https://www.farfetch.com/shopping/...", "brand": "Gucci", "title": "GG Marmont Matelasse Shoulder Bag", "description": "Crafted from matelasse leather...", "details": ["Made in Italy", "100% Calf Leather"], "categories": ["Women", "Bags", "Shoulder Bags"], "options": [ { "name": "Size", "values": ["One Size"] } ], "variants": [ { "sku": "FF-GU-001", "price": 229000, "currency": "USD", "inStock": true } ], "medias": [ { "type": "image", "url": "https://..." } ] } ``` --- # Scraper de Lululemon — Productos, variantes y precios - **URL:** https://proooxy.com/es/tools/lululemon-scraper/ - **Tipo:** tools - **Descripción:** Rastrea y extrae detalles de producto de Lululemon, incluidos datos de variantes, opciones de color, galerías multimedia e información de precios. - **Resumen:** Extrae datos de producto con variantes y contenido multimedia de Lululemon. - **Categoría:** ecommerce - **Stack tecnológico:** TypeScript, Crawlee - **Mercados / regiones:** Estados Unidos - **Tasa de éxito reportada:** >99% - **Ficha en Apify:** https://apify.com/autofacts/lululemon-scraper - **Palabras clave:** scraper de lululemon, datos de producto de lululemon, seguimiento de precios de lululemon, datos de producto de ropa deportiva, datos de precios de athleisure, scraper de inventario de lululemon - **Publicado:** 2026-04-04 - **Modificado:** 2026-04-04 **Características clave:** - Rastreo de páginas de categoría y producto - Extracción de variantes con opciones de color y talla - Galerías multimedia completas con imágenes específicas por color - Seguimiento de precios con salida estructurada - Extracción de jerarquía de categorías - Ligero y rápido gracias al framework Crawlee **Casos de uso:** - Investigación de mercado y análisis competitivo de ropa deportiva - Seguimiento de precios para revendedores y plataformas de comparación - Agregación de catálogo de producto para e-commerce de fitness - Seguimiento de disponibilidad de color y talla - Análisis de tendencias en moda deportiva **Parámetros de entrada:** - `startUrls` (array, obligatorio) — URLs de producto o categoría de Lululemon - `proxy` (object, opcional) — Configuración de proxy - `maxConcurrency` (number, opcional) — Límite de solicitudes en paralelo **FAQ:** **Q: ¿El scraper gestiona diferentes variantes de color?** Sí, cada variante de color se extrae con sus propias imágenes, SKU y estado de disponibilidad. La galería multimedia es específica por color. **Q: ¿Puedo extraer categorías completas de Lululemon?** Sí, proporciona una URL de categoría y el scraper rastreará todos los productos de esa categoría. ## Ejemplo de salida ```json { "source": "https://shop.lululemon.com/p/...", "brand": "lululemon", "title": "Align High-Rise Pant 25\"", "description": "Buttery-soft, weightless Nulu fabric...", "categories": ["Women", "Pants", "Yoga Pants"], "options": [ { "name": "Color", "values": ["Black", "True Navy", "Dark Olive"] }, { "name": "Size", "values": ["2", "4", "6", "8", "10", "12"] } ], "variants": [ { "sku": "LL-AHR-BLK-6", "name": "Black / 6", "price": 9800, "currency": "USD", "inStock": true } ], "medias": [ { "type": "image", "url": "https://...", "color": "Black" } ], "stats": { "rating": 4.7, "reviewCount": 15234 } } ``` --- # Scraper de Schema Markup y auditor SEO - **URL:** https://proooxy.com/es/tools/schema-markup-scraper/ - **Tipo:** tools - **Descripción:** Extrae JSON-LD, Microdata, RDFa, Open Graph y Twitter Cards de cualquier URL, con un sistema de puntuación de auditoría SEO integral. - **Resumen:** Extrae datos estructurados y audita el SEO de cualquier sitio web. - **Categoría:** utility - **Stack tecnológico:** TypeScript, Crawlee - **Mercados / regiones:** Global - **Tasa de éxito reportada:** >99% - **Ficha en Apify:** https://apify.com/autofacts/metadata-scraper - **Palabras clave:** verificador de schema markup, extractor de datos estructurados, extractor de json-ld, herramienta de auditoría seo, verificador de open graph, scraper de microdata, prueba de resultados enriquecidos - **Publicado:** 2026-04-04 - **Modificado:** 2026-04-04 **Características clave:** - Extracción de datos estructurados — JSON-LD, Microdata y RDFa - Metaetiquetas sociales — Open Graph, Twitter Cards, Dublin Core - Análisis SEO con puntuación de 0 a 100 - Validación de URL canónica y hreflang - Extracción de autor para señales EEAT - Detección de LocalBusiness con más de 80 subtipos - Auditoría de texto alternativo de imágenes - Validación de schema de breadcrumbs - Extracción de etiquetas geo y NAP **Casos de uso:** - Auditoría técnica de SEO a gran escala - Validación de datos estructurados para sitios web - Análisis SEO competitivo — compara el schema markup entre competidores - Evaluación de señales EEAT para sitios de contenido - Auditoría de SEO local para negocios - Validación de checklist SEO previo al lanzamiento **Parámetros de entrada:** - `startUrls` (array, obligatorio) — URLs a analizar - `proxy` (object, opcional) — Configuración de proxy - `maxRequestsPerCrawl` (number, opcional) — Limita el total de URLs a auditar - `maxConcurrency` (number, opcional) — Solicitudes en paralelo - `extractMetaTags` (boolean, opcional) — Extrae metaetiquetas (por defecto: true) - `extractSeoAnalysis` (boolean, opcional) — Ejecuta el análisis SEO (por defecto: true) - `computeSeoScore` (boolean, opcional) — Calcula la puntuación SEO de 0 a 100 (por defecto: true) - `extractGeoData` (boolean, opcional) — Extrae etiquetas geo y datos NAP **FAQ:** **Q: ¿Qué formatos de datos estructurados son compatibles?** JSON-LD, Microdata y RDFa. El scraper también extrae metadatos de Open Graph, Twitter Cards y Dublin Core. **Q: ¿Cómo se calcula la puntuación SEO?** La puntuación de 0 a 100 evalúa las etiquetas title, las meta descriptions, la jerarquía de encabezados, el texto alternativo de imágenes, las URLs canónicas, el viewport móvil, la presencia de datos estructurados y más. **Q: ¿Puedo auditar varias páginas a la vez?** Sí, proporciona varias URLs en startUrls. El scraper las procesa en paralelo para una auditoría masiva rápida. ## Ejemplo de salida ```json { "url": "https://example.com/product/...", "title": "Example Product Page", "linkedData": [ { "@type": "Product", "name": "..." } ], "openGraph": { "og:title": "Example Product", "og:type": "product" }, "twitterCard": { "card": "summary_large_image" }, "seoAudit": { "score": 78, "issues": [ "Missing alt text on 3 images", "No hreflang tags detected" ] }, "headings": { "h1": ["Example Product"], "h2": ["Description", "Reviews"] } } ``` --- # Scraper de Sephora EU — 9 mercados europeos - **URL:** https://proooxy.com/es/tools/sephora-eu-scraper/ - **Tipo:** tools - **Descripción:** Extrae datos completos de producto de Sephora Europa en 9 mercados de la UE, con extracción multivariante, evasión del WAF de Akamai y gestión inteligente de tokens. - **Resumen:** Extrae datos de producto de Sephora en 9 mercados europeos. - **Categoría:** ecommerce - **Stack tecnológico:** TypeScript, Crawlee, Akamai Bypass - **Mercados / regiones:** Francia, Italia, Alemania, España, Polonia, Chequia, Grecia, Rumanía, Portugal - **Estrategia anti-bot:** WAF de Akamai — huella TLS de nivel navegador - **Tasa de éxito reportada:** >99% - **Ficha en Apify:** https://apify.com/autofacts/sephora-eu-scraper - **Palabras clave:** scraper de sephora europa, datos de producto de sephora eu, datos de belleza europeos, scraper de sephora francia, scraper de sephora alemania, datos de cosmética europea, evasión del waf de akamai - **Publicado:** 2026-04-04 - **Modificado:** 2026-04-04 **Características clave:** - Soporte para 9 mercados de la UE — Francia, Italia, Alemania, España, Polonia, Chequia, Grecia, Rumanía, Portugal - Extracción multivariante con precio y estado de stock individuales - Galerías de imágenes de alta resolución para cada producto - Navegación por categorías mediante IDs de categoría para extracción masiva - Huella TLS de nivel navegador para evadir el WAF de Akamai - Gestión de tokens de invitado con renovación automática y backoff exponencial **Casos de uso:** - Comparación de precios en el mercado de belleza paneuropeo - Monitorización de disponibilidad de producto entre mercados - Investigación de expansión al mercado de la UE para marcas de belleza - Inteligencia competitiva en mercados europeos - Análisis de estrategia de precios regional **Parámetros de entrada:** - `startUrls` (array, opcional) — URLs de producto de Sephora EU a extraer - `categoryIds` (array, opcional) — IDs de categoría para extracción masiva de productos - `locale` (string, opcional) — Configuración regional del mercado objetivo (por ejemplo, fr-FR, it-IT) - `maxProducts` (number, opcional) — Máximo de productos a extraer - `maxConcurrency` (number, opcional) — Límite de solicitudes en paralelo - `proxyConfiguration` (object, opcional) — Configuración de proxy — se recomienda residencial **FAQ:** **Q: ¿Qué mercados europeos de Sephora son compatibles?** Francia (fr-FR), Italia (it-IT), Alemania (de-DE), España (es-ES), Polonia (pl-PL), Chequia (cs-CZ), Grecia (el-GR), Rumanía (ro-RO) y Portugal (pt-PT). **Q: ¿Cómo evade el scraper el WAF de Akamai?** Usa huella TLS de nivel navegador para imitar conexiones de navegadores reales, lo que hace que las solicitudes sean indistinguibles del tráfico de usuarios genuinos. **Q: ¿Puedo extraer categorías completas?** Sí, puedes proporcionar IDs de categoría para extraer todos los productos de una categoría. Es la forma más eficiente de hacer extracción masiva. ## Ejemplo de salida ```json { "source": "https://www.sephora.fr/p/...", "brand": "Rare Beauty", "title": "Soft Pinch Liquid Blush", "description": "Un blush liquide longue tenue...", "shortDescription": "Blush liquide", "categories": ["Maquillage", "Teint", "Blush"], "options": [ { "name": "Shade", "values": ["Joy", "Hope", "Grace"] } ], "variants": [ { "sku": "EU-RB-001", "name": "Joy", "price": 2800, "currency": "EUR", "inStock": true } ], "medias": [ { "type": "image", "url": "https://..." } ], "stats": { "rating": 4.7, "reviewCount": 3421 } } ``` --- # Scraper de Shopify — Datos de producto de cualquier tienda - **URL:** https://proooxy.com/es/tools/shopify-scraper/ - **Tipo:** tools - **Descripción:** Herramienta de nivel profesional para extraer datos de producto de alta fidelidad de cualquier tienda basada en Shopify, incluyendo colecciones, búsqueda y recomendaciones de producto. - **Resumen:** Extrae datos de producto de cualquier tienda Shopify. - **Categoría:** ecommerce - **Stack tecnológico:** TypeScript, got-scraping - **Mercados / regiones:** Global - **Tasa de éxito reportada:** >99% - **Ficha en Apify:** https://apify.com/autofacts/shopify-scraper-ppe - **Palabras clave:** scraper de shopify, scraper de productos de shopify, extraer tienda shopify, datos de producto de shopify, alternativa a la api de shopify, extracción de datos de e-commerce, exportar productos de shopify, scraper de colecciones de shopify - **Publicado:** 2026-04-04 - **Modificado:** 2026-04-04 **Características clave:** - Universal — funciona con cualquier tienda basada en Shopify - Extracción de catálogo completo de la tienda y soporte de búsqueda - Recomendaciones de producto (hasta 20 por producto) - Scraping de colecciones y productos individuales - Extracción de etiquetas y categorías - Normalización de divisa (precios x100) para mayor precisión **Casos de uso:** - Investigación de mercado en tiendas Shopify de cualquier nicho - Análisis competitivo para marcas DTC - Agregación de catálogo de producto para plataformas de comparación - Seguimiento de tendencias en tiendas de e-commerce independientes - Construcción de datasets de recomendación de producto - Seguimiento de precios para revendedores **Parámetros de entrada:** - `startUrls` (array, obligatorio) — URLs de tienda Shopify — producto, colección o inicio de la tienda - `proxy` (object, opcional) — Se recomienda proxy residencial para obtener mejores resultados - `maxRequestsPerCrawl` (number, opcional) — Límite de solicitudes (por defecto: 100) - `maxRecommendationsPerProduct` (number, opcional) — Productos recomendados a obtener (por defecto: 0, máx: 20) - `query` (string, opcional) — Consulta de búsqueda para encontrar productos dentro de una tienda **FAQ:** **Q: ¿Funciona con cualquier tienda Shopify?** Sí, el scraper funciona con cualquier tienda basada en Shopify. Aprovecha la estructura de datos de producto estándar de Shopify, que es consistente en todas las tiendas. **Q: ¿Puedo buscar productos específicos?** Sí, usa el parámetro query para buscar dentro de una tienda específica. Esto es útil para encontrar tipos de producto concretos sin extraer todo el catálogo. **Q: ¿Cómo se extraen las recomendaciones de producto?** Establece maxRecommendationsPerProduct para obtener productos relacionados. Hay disponibles hasta 20 recomendaciones por producto, útil para construir grafos de producto. ## Ejemplo de salida ```json { "source": "https://store.example.com/products/...", "brand": "Example Brand", "title": "Premium Organic Cotton T-Shirt", "description": "Made from 100% organic cotton...", "categories": ["Tops", "T-Shirts"], "tags": ["organic", "sustainable", "cotton"], "options": [ { "name": "Size", "values": ["S", "M", "L", "XL"] }, { "name": "Color", "values": ["White", "Black", "Navy"] } ], "variants": [ { "sku": "SHOP-OCT-WHT-M", "name": "White / M", "price": 4500, "currency": "USD", "inStock": true } ], "medias": [ { "type": "image", "url": "https://..." } ] } ``` --- # Scraper de Ulta Beauty — Productos, precios y SKUs - **URL:** https://proooxy.com/es/tools/ulta-scraper/ - **Tipo:** tools - **Descripción:** Extrae detalles de producto, precios, imágenes e información de SKU de Ulta Beauty, incluyendo páginas de categoría, páginas de marca y secciones de rebajas. - **Resumen:** Extrae datos completos de producto de Ulta Beauty. - **Categoría:** ecommerce - **Stack tecnológico:** TypeScript, Cheerio, Crawlee - **Mercados / regiones:** Estados Unidos - **Tasa de éxito reportada:** >99% - **Ficha en Apify:** https://apify.com/autofacts/ulta-scraper - **Palabras clave:** scraper de ulta, scraper de ulta beauty, datos de producto de ulta, seguimiento de precios de ulta, scraper de sku de ulta, monitorización de rebajas de ulta, datos de retail de belleza - **Publicado:** 2026-04-04 - **Modificado:** 2026-04-04 **Características clave:** - Admite páginas de categoría, detalle de producto, marca y rebajas - Detalles completos de producto con precios, descripciones e imágenes - Extracción de datos a nivel de SKU con agrupación de variantes - Detección automática del tipo de página a partir de la URL - Parseo ligero basado en Cheerio para mayor velocidad - Agrupa los SKUs relacionados bajo el mismo producto **Casos de uso:** - Análisis competitivo en la industria de la belleza — precios de Ulta frente a Sephora - Construcción de catálogo de producto para plataformas de comparación de compras - Monitorización de rebajas y promociones - Descubrimiento de marcas y seguimiento de presencia en el mercado - Monitorización de inventario a nivel de SKU **Parámetros de entrada:** - `startUrls` (array, obligatorio) — URLs de producto, categoría, marca o rebajas de Ulta - `proxy` (object, opcional) — Configuración de proxy - `maxConcurrency` (number, opcional) — Máximo de solicitudes en paralelo - `maxRequestsPerCrawl` (number, opcional) — Límite total de solicitudes por ejecución **FAQ:** **Q: ¿Qué tipos de páginas de Ulta se pueden extraer?** El scraper admite páginas de detalle de producto, páginas de listado de categoría, páginas de marca y páginas de rebajas/promoción. Detecta automáticamente el tipo de página a partir de la URL. **Q: ¿Cómo se gestionan las variantes de producto?** Las variantes (distintos tonos, tallas) se agrupan bajo el mismo producto padre. Cada variante incluye su propio SKU, precio y estado de disponibilidad. ## Ejemplo de salida ```json { "source": "https://www.ulta.com/p/...", "brand": "NYX Professional Makeup", "title": "Butter Gloss", "description": "A buttery soft and silky lip gloss...", "categories": ["Makeup", "Lips", "Lip Gloss"], "variants": [ { "sku": "ULTA-NYX-BG-001", "name": "Angel Food Cake", "price": 900, "currency": "USD", "inStock": true } ], "stats": { "rating": 4.5, "reviewCount": 8932 } } ``` --- # Universal Web Printer — URL y HTML a PDF, imagen - **URL:** https://proooxy.com/es/tools/web-printer/ - **Tipo:** tools - **Descripción:** Convierte cualquier URL o HTML a PDF, PNG, JPEG o WebP con unión inteligente por desplazamiento (scroll-stitch), extracción de elementos, cifrado de PDF y marcas de agua. - **Resumen:** Convierte URLs y HTML a PDF, PNG, JPEG o WebP. - **Categoría:** utility - **Stack tecnológico:** TypeScript, Playwright, PDF-lib, Sharp - **Mercados / regiones:** Global - **Tasa de éxito reportada:** >99% - **Ficha en Apify:** https://apify.com/autofacts/universal-web-printer - **Palabras clave:** api de html a pdf, conversor de url a pdf, api de capturas de pantalla de sitios web, convertir página web a pdf, convertir url a imagen, convertir página web a png, api de generación de pdf - **Publicado:** 2026-04-04 - **Modificado:** 2026-04-04 **Características clave:** - Salida multiformato — PDF, PNG, JPEG, WebP - Múltiples modos de vista — viewport, página completa, selector CSS, readability - Unión inteligente por desplazamiento (scroll-stitch) para capturas precisas de página completa - Extracción a nivel de elemento mediante selectores CSS - Manipulación de página — eliminar elementos, hacer clic en botones, inyectar CSS, ocultar cabeceras fijas - Cifrado de PDF (RC4 de 128 bits) y marcas de agua - Fusión de PDF para documentos multipágina - Configuración personalizada de viewport y factor de escala **Casos de uso:** - Generación automatizada de informes a partir de dashboards web - Archivado y documentación de sitios web - Capturas para pruebas de regresión visual - Capturas de páginas de producto de e-commerce para catálogos - Cumplimiento legal — captura de contenido web como evidencia - Generación de PDF a partir de aplicaciones web **Parámetros de entrada:** - `startUrls` (array, opcional) — URLs a renderizar - `htmlContent` (string, opcional) — HTML en bruto a renderizar - `outputFormat` (string, opcional) — pdf, png, jpeg o webp (por defecto: pdf) - `viewMode` (string, opcional) — viewport, fullPage, selector o readability - `targetSelector` (string, opcional) — Selector CSS para captura a nivel de elemento - `viewportWidth` (number, opcional) — Ancho del viewport del navegador (por defecto: 1280) - `viewportHeight` (number, opcional) — Alto del viewport del navegador (por defecto: 720) - `removeSelectors` (array, opcional) — Selectores CSS de los elementos a eliminar antes de la captura - `pdfPassword` (string, opcional) — Cifra el PDF con cifrado RC4 de 128 bits **FAQ:** **Q: ¿Puedo capturar solo un elemento específico de la página?** Sí, usa el parámetro targetSelector con un selector CSS para capturar solo un elemento específico. Por ejemplo, usa '#main-content' para capturar solo el área de contenido principal. **Q: ¿Cómo funciona la unión inteligente por desplazamiento (scroll-stitch)?** Para las capturas de página completa, la herramienta desplaza la página en incrementos, capturando cada porción del viewport, y luego las une. Esto garantiza que el contenido de carga diferida (lazy-loaded) y las animaciones se capturen correctamente. **Q: ¿Puedo eliminar banners de cookies o anuncios antes de la captura?** Sí, usa removeSelectors para especificar selectores CSS de los elementos a eliminar. También puedes usar hideFixedElements para ocultar cabeceras fijas (sticky) y elementos flotantes. ## Ejemplo de salida La herramienta genera archivos en el formato elegido (PDF, PNG, JPEG o WebP) y los guarda en el dataset de Apify. Cada salida incluye metadatos: ```json { "url": "https://example.com", "format": "pdf", "fileName": "example-com.pdf", "fileSize": 245832, "viewMode": "fullPage", "viewport": { "width": 1280, "height": 720 }, "encrypted": false } ``` --- # Buenas prácticas de web scraping en 2026: guía de un profesional - **URL:** https://proooxy.com/es/blog/web-scraping-best-practices-2026/ - **Tipo:** blog - **Descripción:** Estrategias de web scraping probadas en batalla, extraídas de más de 12 años de experiencia en producción — patrones de arquitectura, manejo de errores, gestión de proxies y normalización de la salida. - **Palabras clave:** buenas prácticas de web scraping, scraping en producción, guía de extracción de datos, arquitectura de scrapers, manejo de errores en scraping, gestión de proxies para scraping - **Publicado:** 2026-04-01 - **Modificado:** 2026-04-01 Después de construir y mantener 15 scrapers de producción que dan servicio a más de 3,100 usuarios con tasas de éxito del >99%, estas son las prácticas que realmente importan. ## Arquitectura: piensa en pipelines, no en scripts El error más grande que veo es tratar el scraping como un proceso de un solo paso. Los scrapers de producción son pipelines de datos: 1. **Descubrimiento de URLs** — encontrar qué extraer (sitemaps, páginas de categoría, búsqueda, APIs) 2. **Ejecución de solicitudes** — obtener los datos con reintentos y rotación adecuados 3. **Parseo** — extraer campos estructurados de las respuestas en bruto 4. **Normalización** — limpiar, validar y estandarizar la salida 5. **Almacenamiento** — enviar a datasets, bases de datos o sistemas posteriores Cada paso debe poder probarse y reintentarse de forma independiente. Cuando Sephora cambia el diseño de su página de producto, solo el paso 3 necesita actualizarse — el resto del pipeline se mantiene estable. ## Prioriza siempre las APIs sobre el parseo de HTML Antes de escribir un solo selector CSS, comprueba si el sitio tiene: - **APIs públicas** — endpoints documentados que devuelven JSON - **APIs privadas** — llamadas XHR/fetch visibles en las DevTools del navegador - **Endpoints GraphQL** — cada vez más comunes, a menudo con introspección habilitada - **JSON embebido** — `__NEXT_DATA__`, `window.__INITIAL_STATE__`, o JSON-LD en el HTML Las respuestas de la API están estructuradas, versionadas y son mucho más estables que los diseños HTML. Mi [scraper de Sephora](/es/tools/sephora-scraper/) convierte cada URL web en una llamada a la API — no se ha roto ni una sola vez por un rediseño del frontend. ## Estrategia de proxies: adapta el nivel a la protección No todos los sitios necesitan proxies residenciales. Este es mi marco de decisión: | Nivel de protección | Tipo de proxy | Sitios de ejemplo | |-----------------|------------|---------------| | Ninguno / básico | Centro de datos | La mayoría de tiendas Shopify, sitios pequeños | | Limitación de tasa | Centro de datos rotativo | E-commerce mediano, sitios de contenido | | Fingerprinting | Residencial | Sephora, Farfetch, grandes marcas | | WAF avanzado | Residencial + huella TLS | Akamai, Cloudflare Enterprise | La idea clave: **el coste del proxy escala con el nivel de protección**. No gastes dinero en proxies residenciales para sitios que solo comprueban la reputación de IP. Mi [scraper de Shopify](/es/tools/shopify-scraper/) funciona perfectamente con proxies de centro de datos porque la protección por defecto de Shopify es mínima. ## La gestión de sesiones lo es todo La diferencia entre una tasa de éxito del 60% y del 99% suele ser la gestión de sesiones: - **Rota sesiones, no solo IPs** — una IP nueva con las mismas cookies resulta sospechosa - **Calienta las sesiones** — visita la página de inicio antes de acceder a las páginas de producto - **Respeta los límites de tasa** — 5 solicitudes concurrentes superan a 50 que terminan bloqueadas - **Backoff exponencial** — reintentos de 1s, 2s, 4s, 8s, no reintentos inmediatos Mi [scraper de Sephora EU](/es/tools/sephora-eu-scraper/) gestiona tokens de invitado con renovación automática y backoff exponencial. Mantiene sesiones persistentes que se parecen a patrones de navegación reales. ## Normaliza tu salida Los datos extraídos en bruto son desordenados. Normalízalo todo: ### Precios Almacénalos como enteros (céntimos, no dólares). `$29.99` se convierte en `2999`. Esto evita errores de precisión de coma flotante que corrompen los datos financieros más adelante en el flujo. Todos mis scrapers de e-commerce usan esta convención. ### URLs Almacena siempre URLs absolutas, nunca rutas relativas. Resuélvelas en el momento de la extracción. ### Fechas ISO 8601 (`2026-04-01T00:00:00Z`), siempre con zona horaria. Nunca almacenes fechas con formato de configuración regional. ### Texto Elimina los espacios en blanco sobrantes, normaliza Unicode y decide una política de manejo de HTML (eliminar etiquetas o conservar el formato). ## Manejo de errores: espera que fallen Los scrapers de producción fallan constantemente — la cuestión es con cuánta elegancia. Mi enfoque: ``` Request fails (network error, timeout, 4xx/5xx) → Retry with exponential backoff (up to 5 attempts) → Rotate session/proxy on retry → Log failure with full context if all retries exhausted → Continue processing remaining URLs (don't crash the batch) ``` Haz seguimiento de las tasas de éxito por patrón de URL. Si las páginas `/category/*` caen de repente por debajo del 90% de éxito, es probable que el sitio haya cambiado algo — lo detectarás antes de que los usuarios lo reporten. ## Monitoriza y alerta Un scraper sin monitorización es un scraper esperando a fallar en silencio. Haz seguimiento de: - **Tasa de éxito** por ejecución y por patrón de URL - **Recuento de salida** — caídas repentinas significan que algo se rompió - **Calidad de los datos** — campos nulos, valores inesperados, incumplimientos de esquema - **Coste** — uso de proxies, tiempo de cómputo, almacenamiento Todos mis Apify Actors exponen estas métricas. Cuando las tasas de éxito bajan, recibo una notificación en cuestión de horas — a menudo antes de que ningún usuario se dé cuenta. ## Empieza simple, añade complejidad Todos los scrapers que construyo empiezan como lo más simple que funciona: 1. **HTTP + Cheerio** primero (lo más rápido y barato) 2. **Añade fingerprinting** solo si te bloquean 3. **Añade renderizado con navegador** solo si se requiere JavaScript 4. **Añade rotación de proxies** solo si te limitan la tasa Mi [scraper de Ulta](/es/tools/ulta-scraper/) es Cheerio puro — no necesita navegador. Mi [Universal Web Printer](/es/tools/web-printer/) usa Playwright porque debe renderizar JavaScript. La herramienta adecuada para cada trabajo. --- Estos no son principios teóricos — están extraídos de ejecutar scrapers de producción que procesan millones de solicitudes. Si necesitas un scraper a medida construido con estas prácticas, [hablemos](/es/contact/). --- # Entendiendo la protección anti-bot: qué funciona en 2026 - **URL:** https://proooxy.com/es/blog/bypassing-anti-bot-protection-guide/ - **Tipo:** blog - **Descripción:** Un análisis técnico en profundidad de los sistemas anti-bot modernos — Cloudflare, Akamai, Datadome — y las técnicas legítimas de evasión usadas en scraping de producción. - **Palabras clave:** evasión anti-bot, bypass de cloudflare, bypass de akamai, bypass de datadome, detección de bots, protección contra web scraping - **Publicado:** 2026-03-15 - **Modificado:** 2026-03-15 La protección anti-bot es una carrera armamentista. Como alguien que construye scrapers de producción que evaden estos sistemas a diario, esta es la visión de un profesional sobre el panorama actual: qué comprueban realmente estas protecciones y cómo son las técnicas legítimas de evasión. ## Las capas de detección Los sistemas anti-bot modernos operan en capas. Entender estas capas es la clave para lograr una evasión fiable: ### Capa 1: Reputación de IP La comprobación más simple. Los servicios anti-bot mantienen bases de datos de rangos de IP de centros de datos conocidos, salidas de VPN e IPs marcadas previamente. **Qué comprueban:** - ¿Es esta IP de AWS, GCP, Azure o un proveedor de hosting conocido? - ¿Ha sido marcada esta IP antes por actividad de bots? - ¿Cuántas solicitudes han llegado desde esta IP recientemente? **Contramedida:** Los proxies residenciales de servicios como Apify Proxy o Bright Data proporcionan direcciones IP que pertenecen a ISPs reales, lo que las hace indistinguibles de usuarios normales a nivel de IP. ### Capa 2: Huella digital TLS Aquí es donde se pone interesante. Cada cliente HTTP tiene una firma de negociación TLS (TLS handshake) única basada en: - Los conjuntos de cifrado admitidos y su orden - Las extensiones TLS y su orden - Las versiones de TLS admitidas - Los protocolos ALPN Una librería estándar como `axios` o `requests` tiene una huella TLS que grita "bot" porque no coincide con la de ningún navegador real. Servicios como Akamai y Cloudflare mantienen bases de datos de huellas digitales para cada versión de navegador. **Contramedida:** Librerías como `got-scraping` (que usa mi [scraper de Shopify](/es/tools/shopify-scraper/)) y clientes TLS especializados pueden imitar huellas TLS de nivel navegador. Mi [scraper de Sephora EU](/es/tools/sephora-eu-scraper/) usa huella TLS de nivel navegador para evadir el WAF de Akamai. ### Capa 3: Huella digital HTTP/2 Más allá de TLS, la configuración de HTTP/2 revela el tipo de cliente: - Parámetros del frame SETTINGS (tamaño de la tabla de cabeceras, máximo de streams concurrentes) - Valores del frame WINDOW_UPDATE - Estructura del árbol de prioridades - Patrones de compresión de cabeceras (HPACK) Cada navegador tiene una configuración de HTTP/2 característica. Chrome, Firefox y Safari se ven distintos a este nivel. ### Capa 4: Desafíos de JavaScript La página de Cloudflare "comprobando tu navegador" y desafíos similares ejecutan JavaScript que: - Comprueba las APIs del navegador (canvas, WebGL, AudioContext) - Mide los tiempos de ejecución - Valida las propiedades del DOM - Envía las respuestas del desafío de vuelta al servidor **Contramedida:** Los navegadores headless (Playwright, Puppeteer) ejecutan estos desafíos de forma nativa. La clave está en asegurarte de que tu navegador headless no filtre señales de automatización (más sobre esto a continuación). ### Capa 5: Análisis de comportamiento La capa más sofisticada. Estos sistemas analizan: - Patrones de movimiento del ratón (demasiado lineales = bot) - Comportamiento de scroll (desplazamiento instantáneo hasta el final = bot) - Tiempo entre acciones (demasiado consistente = bot) - Patrones de navegación (ir directo a páginas de producto sin explorar = sospechoso) - Cadencia de solicitudes (intervalos perfectamente uniformes = bot) ## Perfiles de protección: conoce a qué te enfrentas ### Cloudflare **Habitual en:** sitios pequeños y medianos, blogs, APIs Cloudflare ofrece varios niveles de protección: - **Basic** — reputación de IP + limitación de tasa. Los proxies de centro de datos que respetan los límites de frecuencia suelen funcionar. - **Managed Challenge** — desafío de JavaScript + turnstile. Necesita navegador o un solver de desafíos. - **Enterprise/Bot Management** — análisis de comportamiento completo + fingerprinting. Necesita proxy residencial y huellas digitales adecuadas. ### Akamai Bot Manager **Habitual en:** e-commerce empresarial (Sephora EU, grandes retailers) Akamai es uno de los más difíciles de evadir debido a: - Huella TLS agresiva - Recolección de datos de sensores vía JavaScript del lado del cliente - Análisis de comportamiento a nivel de sesión - Verificación de integridad de cookies Mi enfoque para Akamai: huella TLS de nivel navegador + gestión de tokens de invitado + ritmo de solicitudes que imita la navegación humana. ### Datadome **Habitual en:** e-commerce, venta de entradas Datadome se centra en: - Huella digital del dispositivo vía JavaScript - Desafíos CAPTCHA para tráfico sospechoso - Puntuación de comportamiento en tiempo real ### PerimeterX (ahora HUMAN) **Habitual en:** retail, servicios financieros Conocido por sus agresivos desafíos de JavaScript y análisis de comportamiento. ## Arquitectura de evasión legítima Para sistemas de producción que necesitan una extracción de datos fiable y continua, este es el patrón de arquitectura que uso: ### 1. Enfoque API-first Antes de intentar evadir cualquier protección, comprueba si existe una vía de API que evite el WAF por completo. Muchas protecciones solo se aplican a los endpoints orientados al navegador, no a las rutas de API. Mi [scraper de Sephora](/es/tools/sephora-scraper/) convierte cada URL web en una llamada a la API. Los endpoints de la API tienen una protección más ligera que el sitio web porque están diseñados para apps móviles. ### 2. Calentamiento de sesión No saltes directamente a la página de datos. Construye una sesión de navegación realista: ``` Visit homepage → Browse categories → View product listing → Access product detail ``` Cada paso construye credibilidad de sesión. El sistema anti-bot ve un patrón que coincide con el comportamiento de un usuario real. ### 3. Consistencia de huella digital Esto es crítico: tu huella digital debe ser **internamente consistente**. Si tu TLS dice "Chrome 120" pero tu User-Agent dice "Chrome 118", eso es una señal de detección. Alinea: - Huella TLS - Configuración de HTTP/2 - Cabecera User-Agent - Accept-Language y otras cabeceras - Propiedades del navegador en JavaScript (si usas headless) ### 4. Ritmo de solicitudes Los humanos reales no hacen solicitudes en intervalos de exactamente 1 segundo. Introduce variación realista: - Retardo base entre solicitudes (2-5 segundos) - Jitter aleatorio (+/- 30%) - Pausas más largas tras eventos de navegación - Períodos "inactivos" ocasionales ### 5. Degradación elegante Cuando encuentres un desafío o un bloqueo: 1. No reintentes inmediatamente — esto confirma un comportamiento de bot 2. Aplica backoff exponencial 3. Rota a una sesión nueva (nueva IP + nuevas cookies) 4. Prueba con una región de proxy diferente 5. Si persiste, cambia a un enfoque basado en navegador ## Qué ya no funciona - **Cambiar solo el User-Agent** — los sistemas de detección comprueban docenas de señales, no solo una cabecera - **Retardos aleatorios por sí solos** — sin una huella digital adecuada, la temporización no ayuda - **Chrome headless con configuración por defecto** — las señales de automatización se filtran por todas partes (`navigator.webdriver`, plugins ausentes, artefactos del Chrome DevTools Protocol) - **Reutilización de cookies** — los sistemas modernos vinculan las cookies a huellas TLS y rangos de IP ## Consideraciones éticas La evasión anti-bot es una herramienta. Como cualquier herramienta, puede usarse de forma responsable o irresponsable. **Casos de uso legítimos:** - Comparación de precios en beneficio del consumidor - Investigación de mercado con datos públicos - Accesibilidad (poner datos a disposición en formatos estructurados) - Investigación académica - Control de calidad y monitorización **Respeta siempre:** - Las directivas de robots.txt - Los límites de tasa (aunque puedas superarlos, no lo hagas) - Las normativas de datos personales (RGPD, CCPA) - Los términos de servicio (entiende el marco legal de tu jurisdicción) Todas mis [herramientas](/es/tools/) están diseñadas para la extracción de datos legítima, con limitación de tasa integrada y buenas prácticas de proxies. --- Entender los sistemas anti-bot te convierte en un mejor ingeniero de scraping. Si necesitas scrapers de nivel de producción que gestionen estos desafíos de forma fiable, echa un vistazo a mis [herramientas](/es/tools/) o [ponte en contacto](/es/contact/) para un trabajo a medida. --- # Contacto - **URL:** https://proooxy.com/es/contact/ - **Tipo:** page - **Descripción:** Encarga un scraper a medida o un pipeline de datos RAG — APIs privadas de ingeniería inversa, evasión anti-bot y JSON limpio y estructurado entregado directamente a tu stack de IA. - **Palabras clave:** contratar desarrollador de web scraping, desarrollo de scraper a medida, servicio de web scraping, pipeline de datos RAG, servicio de extracción de datos, consultor de web scraping - **Publicado:** 0001-01-01 - **Modificado:** 0001-01-01 ## Consigue datos que no están en el catálogo Construyo scrapers a medida y pipelines de datos RAG — para equipos de IA, plataformas de datos y cualquiera que necesite la web abierta convertida en JSON limpio y estructurado. Ya sea una extracción puntual o un feed que se actualiza continuamente, puedo ayudarte. ### Qué construyo - **Scrapers a medida** — diseñados específicamente para tus sitios objetivo, con evasión anti-bot integrada de fábrica - **Pipelines de datos RAG** — extraigo, normalizo, fragmento y entrego JSON listo para recuperación a tu vector store o warehouse - **Ingeniería inversa de APIs privadas** — convierto endpoints móviles/web no documentados en fuentes estables y estructuradas - **Mantenimiento de scrapers** — mantengo vivos tus extractores existentes cuando los sitios objetivo cambian - **Consultoría técnica** — revisión de arquitectura para tu stack de scraping e ingesta de datos ### Cómo funciona 1. **Describe los datos** — la fuente, los campos que necesitas y el formato de entrega 2. **Estudio de viabilidad gratuito** — evalúo la complejidad del objetivo y su nivel de protección anti-bot sin coste 3. **Propuesta y cronograma** — alcance claro, precio fijo, fecha de entrega 4. **Construcción y entrega** — extractor de nivel de producción con documentación y salida limpia ### Inicia un proyecto
### O contáctame directamente - **Email**: [p8p9cmk96@mozmail.com](mailto:p8p9cmk96@mozmail.com) - **GitHub**: [@autofacts](https://github.com/autofacts) - **Apify**: [apify.com/autofacts](https://apify.com/autofacts) --- # Sobre mí - **URL:** https://proooxy.com/es/about/ - **Tipo:** page - **Descripción:** Richard Feng — ingeniero de web scraping con más de 12 años de experiencia. Convierto sitios web protegidos en datos estructurados limpios y listos para RAG para agentes de IA, pipelines de recuperación y LLMs. - **Palabras clave:** ingeniero de web scraping, consultor de extracción de datos, desarrollo de scrapers a medida, experto en evasión anti-bot, consultor de pipelines de datos RAG, ingeniería inversa de APIs - **Publicado:** 0001-01-01 - **Modificado:** 0001-01-01 ## Quién soy Soy Richard Feng, ingeniero freelance de automatización web con más de 12 años de experiencia programando. Me especializo en **web scraping, extracción de datos e ingeniería inversa de APIs**: convierto sitios web complejos y protegidos en datos estructurados y limpios que los sistemas de IA realmente pueden usar. Mi caja de herramientas abarca **Node.js (TypeScript), Python, Go y Java**, con experiencia profunda en **Crawlee, Playwright y Cheerio**. He construido sistemas en producción que gestionan millones de solicitudes con un **>99% de éxito**. ## Qué hago Desarrollo y mantengo **16 Apify Actors de nivel de producción** que dan servicio a más de **3,100 usuarios** con una tasa de éxito constante del **>99%** por ejecución. Cada actor genera **JSON limpio y listo para RAG**: consistente en su esquema, deduplicado y listo para cargar en un vector store, un pipeline de recuperación o un conjunto de entrenamiento. La mayoría de los actores de datos públicos no requieren clave API. Mi trabajo abarca cuatro áreas: ### Datos de e-commerce y retail Scrapers para las principales plataformas de belleza y moda, incluyendo [Sephora](/es/tools/sephora-scraper/) (21 tiendas en todo el mundo), [Ulta Beauty](/es/tools/ulta-scraper/), [Farfetch](/es/tools/farfetch-scraper/), [Lululemon](/es/tools/lululemon-scraper/), [Boohoo](/es/tools/boohoo-scraper/), [Macy's](/es/tools/macys-scraper/), y un [scraper universal de Shopify](/es/tools/shopify-scraper/) que funciona con cualquier tienda basada en Shopify. ### Datos públicos, financieros y legales Datasets oficiales de EE. UU. como JSON limpio y listo para RAG — [informes SEC EDGAR y datos financieros XBRL](/es/tools/sec-edgar-scraper/), [adjudicaciones federales de USAspending.gov](/es/tools/usaspending-scraper/), [sentencias judiciales de CourtListener](/es/tools/courtlistener-scraper/) y [estudios de ClinicalTrials.gov](/es/tools/clinical-trials-scraper/). ### Inteligencia social y de medios Posts, perfiles e interacciones de [Bluesky](/es/tools/bluesky-scraper/) vía AT Protocol, además de un [scraper de subtítulos y transcripciones de YouTube](/es/tools/youtube-transcript-scraper/) que genera JSON, SRT, VTT o texto listo para LLM en más de 100 idiomas. ### Utilidades para desarrolladores Herramientas más allá del scraping — [auditoría de SEO y datos estructurados](/es/tools/schema-markup-scraper/), [renderizado de web a PDF/imagen](/es/tools/web-printer/) y [pruebas de carga de alto rendimiento](/es/tools/load-tester/). ## Especialidades - **Ingeniería inversa de APIs privadas** — convierto endpoints móviles/web no documentados en fuentes de datos fiables - **Evasión anti-bot** — Cloudflare, DataDome, Akamai WAF y protecciones personalizadas - **Salida lista para RAG** — JSON normalizado y con esquema consistente, pensado para recuperación y fundamentación - **Scraping multirregión** — locales, monedas y cumplimiento normativo resueltos - **Sistemas de alta fiabilidad** — extractores que mantienen un >99% de éxito a gran escala ## Stack tecnológico | Categoría | Tecnologías | |----------|-------------| | Lenguajes | TypeScript, Python, Go, Java | | Scraping | Crawlee, Playwright, Cheerio, Parsel, got-scraping | | Anti-bot | Generadores de huellas digitales, huella digital TLS, rotación de sesiones | | Infraestructura | Apify Platform, Docker, GitHub Actions | | Pruebas | Vegeta, frameworks de pruebas de carga personalizados | ## Trabaja conmigo Ofrezco soluciones de scraping a medida, ingeniería de pipelines de datos RAG y servicios continuos de extracción de datos. Si tu IA necesita la web real convertida en datos limpios — [hablemos](/es/contact/). ---