career-ops

Greenhouse

career-ops consulta directamente la API pública de boards de Greenhouse. Sin scraping de HTML, sin riesgo de rate limits y sin consumir tokens de IA durante el propio escaneo.

Qué hace

El proveedor greenhouse de providers/greenhouse.mjs hace peticiones HTTP a boards-api.greenhouse.io/v1/boards/{slug}/jobs y convierte la respuesta JSON al formato de listado de career-ops. El slug es el identificador del board de Greenhouse de la empresa (p. ej. 'anthropic' para Anthropic).

Cuándo usarlo

Usa el escaneo de Greenhouse cuando tus empresas objetivo usen Greenhouse como ATS. La mayoría de las tecnológicas estadounidenses de entre 50 y 10.000 empleados lo hacen. templates/portals.example.yml incluye boards de Greenhouse preconfigurados que puedes activar.

Ejemplo

portals.yml
- name: Anthropic
  careers_url: https://job-boards.greenhouse.io/anthropic
  enabled: true

El siguiente escaneo recogerá entonces todos los roles abiertos de Anthropic.

Qué hace el escáner

El escáner lee los slugs de Greenhouse que tengas activados en portals.yml, llama a la API pública de boards para cada uno y añade a tu pipeline los roles nuevos cuyo título coincida, sin scraping y sin gastar ni un token de LLM en la descarga. Una sola ejecución de node scan.mjs procesa tus boards de Greenhouse, Ashby y Lever en una pasada, y después filtra los resultados según las palabras clave de título que hayas configurado.

Terminal
node scan.mjs
Output
Companies scanned:     12
Total jobs found:      58
Filtered by title:     49 removed
Duplicates:            6 skipped
New offers added:      3

New offers:
  + Anthropic | Applied AI Engineer | San Francisco, CA
  + Intercom | AI Product Engineer | Dublin, Ireland
  + Vercel | Forward Deployed Engineer | Remote

Cómo se comunica career-ops con Greenhouse

career-ops solicita boards-api.greenhouse.io/v1/boards/{slug}/jobs?content=true y lee el array jobs del JSON, tomando de cada rol el título, su absolute_url, su ubicación y su descripción completa, que llega en la misma respuesta, así que no hace falta una petición por rol. Cuando un board indica la ubicación de un rol solo como modalidad de trabajo, como Remote, career-ops hace una petición más a la lista de oficinas del board para añadir los nombres de las oficinas. El escaneo en sí es un simple GET por HTTPS contra un endpoint público, y por eso se mantiene dentro de los rate limits y no gasta tokens del modelo. Repetir el escaneo es seguro: cada URL se deduplica contra tu historial de escaneos, tus candidaturas ya evaluadas y el pipeline actual, de modo que un rol que ya has visto nunca se añade dos veces.

Detalles a tener en cuenta

Como cada oferta llega con su descripción completa, los filtros de contenido de portals.yml (content_filter, visa_filter y la elegibilidad por país) leen el texto íntegro de la oferta en los boards de Greenhouse, no solo el título. Un board grande genera una sola respuesta grande en lugar de muchas pequeñas.

Relacionado

En esta página