Saltar al contenido

CrawlForge TeamEquipo de Ingeniería

4 min de lectura

API de ofertas de empleo para due diligence: el historial de contratación

En una due diligence, el portal de empleo actual es la vista menos útil de la contratación de un objetivo. Muestra lo que está abierto hoy. Las preguntas que importan tratan del cambio: ¿se frenó la contratación comercial dos meses antes de que empezara el proceso?, ¿qué puestos se han vuelto a publicar tres veces?, ¿la nueva región del deck llegó a tener una sola requisición?

Una API de ofertas de empleo para due diligence tiene que responder a esas preguntas, y tienes semanas, no un año de instantáneas. Cómo leer el portal actual de un objetivo en JSON lo explica el post de ofertas de empleo para consultores. Este post cubre lo que aquel dice que no puede hacer: el historial anterior a tu primera instantánea.

¿Dónde está el historial de contratación de un objetivo?

A menudo en la Wayback Machine, que con frecuencia lleva años capturando el portal. Su índice CDX lista cada captura de una URL, y collapse=timestamp:6 deja una por mes:

Bash
curl -X POST https://crawlforge.dev/api/v1/tools/fetch_url \
  -H "X-API-Key: cf_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://web.archive.org/cdx/search/cdx?url=job-boards.greenhouse.io/target-co&output=json&fl=timestamp,statuscode&filter=statuscode:200&collapse=timestamp:6&from=2025"
  }'

Esa llamada cuesta 1 credit y devuelve filas como ["20250320221034","200"], una por mes. En un portal de Greenhouse que revisamos, la página HTML tenía una captura en cada uno de los últimos 20 meses, mientras que su endpoint JSON tenía tres capturas válidas en todo el año. La cobertura del archivo varía según la URL, así que consulta el índice para cada dirección que haya tenido el portal y quédate con la más densa.

¿Cómo se lee un portal archivado?

Añade id_ después del timestamp. Así el archivo devuelve el cuerpo original, sin su barra de reproducción:

Json
{
  "url": "https://web.archive.org/web/20250320221034id_/https://job-boards.greenhouse.io/target-co",
  "max_inline_chars": 1000000
}

Cada captura cuesta 1 credit con fetch_url. Una captura archivada de la API es el JSON del portal tal como se servía ese día. Una página HTML de Greenhouse archivada también incrusta sus puestos como datos, cada uno con published_at, updated_at y requisition_id. Sube max_inline_chars, porque la captura HTML que revisamos pesaba unos 550 KB, muy por encima del valor por defecto de 40.000 caracteres.

¿Qué debería mostrarte la comparación?

Agrupa cada captura por requisition_id en lugar del id de oferta, cuando la empresa lo rellena. Una misma requisición suele publicarse en varias ciudades, cada una con su propio id de oferta, así que contar ofertas exagera la contratación. Después alinea los meses:

Patrón entre capturasPregunta para la dirección
Las requisiciones de ventas o ingeniería desaparecen en los meses previos al proceso¿Hubo una congelación de contrataciones, y por qué?
La misma requisición se vuelve a publicar con nuevos ids de oferta¿Ha costado cubrir el puesto, o se ha cubierto más de una vez?
Un puesto abierto desde la primera captura¿Sigue teniendo presupuesto, o es una oferta que nunca se cierra?
La región de expansión del deck no tiene requisiciones¿Cuándo recibe plantilla la expansión?
Un puesto directivo aparece, desaparece y vuelve a aparecer¿Quién se fue y quién está cubriendo el puesto?

Comparar el número actual de puestos comerciales con el deck es otra comprobación, cubierta en el post de due diligence comercial.

¿Cuánto cuesta?

Una llamada CDX, doce capturas mensuales y el portal actual suman 14 credits por objetivo. Con cinco empresas comparables son 84 credits, unos 25 céntimos a 3 $ el millar. La asignación única de una cuenta nueva da para unos 70 objetivos.

¿Dónde se queda corta una API de ofertas de empleo para due diligence?

  • Los huecos son del archivo, y no puedes rellenarlos. Un portal que nadie capturó no tiene historial, y un mes sin captura es un vacío, no un cero.
  • Las ofertas no son plantilla. Una requisición indica que un puesto tenía presupuesto, no que se contratara a alguien ni que el puesto fuera real.
  • El HTML puede contener una sola página. La captura que revisamos incrustaba 50 puestos; un portal más grande puede necesitar su captura de la API.
  • Solo capturas públicas. Nada de esto llega al CIM ni a las cuentas de gestión. Se respeta el robots.txt del propio archivo como el de cualquier sitio, y una petición rechazada no se cobra.

Crea una cuenta gratuita y descarga el último año del portal de tu objetivo actual antes de la reunión con la dirección. Todos los parámetros están en la referencia de fetch_url.

Pruébalo tú mismo — sin necesidad de registrarte

Explora las 31 herramientas de scraping y extracción de CrawlForge en el playground y luego empieza gratis con 1,000 credits.

1,000 credits gratis • Por única vez • No se requiere tarjeta de crédito

Etiquetas

  • due diligence
  • job postings
  • fetch_url
  • hiring signals
  • private equity
  • b2b

Sobre el autor

CrawlForge Team

Equipo de Ingeniería

Construimos el MCP server de web scraping más completo. Creamos herramientas que ayudan a los desarrolladores a extraer, analizar y transformar datos web para aplicaciones de IA.

Newsletter

Mantente al día con los últimos artículos

Recibe tutoriales, novedades del producto y consejos de web scraping en tu bandeja de entrada.

Sin spam. Cancela tu suscripción cuando quieras.

FAQ

Preguntas frecuentes

01¿Y si el archivo tiene pocas capturas del portal?

Revisa las direcciones anteriores del portal antes de rendirte. Los portales de Greenhouse pasaron de boards.greenhouse.io a job-boards.greenhouse.io, y el archivo guarda las capturas bajo la URL exacta, así que un portal con pocas capturas recientes puede tener otras más antiguas bajo el dominio anterior. Si ninguna dirección se capturó, no hay historial que leer: empieza tus propias instantáneas desde hoy y pide el pasado a la dirección.

02¿Hasta cuándo puedo ver las ofertas de empleo de un objetivo?

Hasta donde la Wayback Machine haya capturado el portal. Consulta su índice CDX con fetch_url por 1 credit para listar cada captura por fecha antes de gastar nada en las capturas. Los portales con mucho movimiento suelen capturarse cada mes; las empresas pequeñas pueden tener solo unas pocas capturas, o ninguna.

03¿Por qué agrupar por requisition_id y no por id de oferta?

Porque una misma requisición suele publicarse con varios ids de oferta, uno por ciudad o idioma. Contar ids de oferta hace que el objetivo parezca contratar a más personas de las que presupuestó. Agrupar por requisition_id se acerca más al número de puestos que la empresa aprobó de verdad.

04¿Cuánto cuesta un año de historial de contratación?

Unos 14 credits por objetivo: 1 por el índice CDX, 1 por cada una de las doce capturas mensuales y 1 por el portal actual. A 3 $ el millar de credits son unos 4 céntimos, así que el coste de un año de historial es el tiempo que dedicas a leerlo, no las llamadas.

Sigue leyendo

Artículos relacionados