Skip to main content
Glama
johnisanerd

JazzHR Jobs API

by johnisanerd

💼 JazzHR Jobs API: busca las ofertas de todas las empresas que contratan en JazzHR

Una guía de inicio rápido en Python y MCP para la JazzHR Jobs API en Apify. Una sola búsqueda cubre a todos los empleadores de la plataforma, por lo que no tienes que localizar primero una URL de carrera de empresa.

La mayoría de las herramientas de JazzHR necesitan que se les dé una URL de portal de empresa antes de funcionar. No obstante, la presente las conoce todas. Apúntala a toda la plataforma y obtendrás los datos estructurados de las ofertas de empleo: título, empleador, ubicación, tipo de empleo, fecha real de publicación, enlace de solicitud y la descripción completa en formato markdown, HTML o texto plano. También puede devolver el directorio de todas las empresas que contratan en JazzHR, algo útil antes de decidir qué portal merece la pena leer entero.

Mira el tutorial

Tutorial en texto

La JazzHR API lee las páginas de empleo públicas que JazzHR aloja en applytojob.com. Todos los campos de entrada son opcionales: se puede ejecutar sin configurar nada y obtener una muestra de toda la plataforma, o limitarla con keywords, location, employmentType, remoteOnly y postedAfter. Las palabras clave se comparan con la URL de la oferta antes de abrir la publicación, por lo que el filtrado hace que la ejecución sea más barata y precisa. Cada fila devuelve title, companyName, locationText, employmentType, datePosted, validThrough, applyUrl y descriptionMarkdown. Si cambias outputMode a companiesOnly, obtendrás una fila por empleador con el recuento actualizado de vacantes, lo que permite crear una lista de empresas que usan JazzHR. Si en cambio lo pasas a urlsOnly, recuperarás todo el índice de empleos con una solicitud upstream para conocerla por completo, la forma más económica de ver qué se publica. Al activar newJobsOnly, cada ejecución programada devuelve solo publicaciones que no ha visto antes.

Inicio rápido

Requisitos previos: Python 3.11 o superior, uv y un token gratuito de Apify API desde apify.com.

git clone https://github.com/johnisanerd/Apify-JazzHR-Jobs-API.git
cd Apify-JazzHR-Jobs-API
uv sync
cp .env.example .env          # paste your token into .env
uv run python jazzhr-jobs-api-example.py

Cada ejemplo es un indicador () separado:

uv run python jazzhr-jobs-api-example.py --example jobs        # full job records
uv run python jazzhr-jobs-api-example.py --example companies   # employer directory
uv run python jazzhr-jobs-api-example.py --example urls        # job index, no descriptions
uv run python jazzhr-jobs-api-example.py --example new-jobs    # delta mode
uv run python jazzhr-jobs-api-example.py --example all

Cada ejemplo, de forma intencional, pide pocas filas. Se paga por fila devuelta, así que espera a confirmar la forma de los datos y después aumenta maxItems.

Por qué usar esta API

No se necesita la URL de una empresa. Otras herramientas lo obligan a aportar un portal antes de funcionar. Con esta, la entrada vacía busca en todos los empleadores de la plataforma.

Un directorio que nadie más vende. El modo companiesOnly devuelve todas las empresas que contratan en JazzHR con el recuento actual de vacantes. Esa es la lista que desees si estás haciendo prospección de empresas que usan JazzHR.

Descripciones listas para un LLM. La recuperas en Markdown y pasas el resultado directamente a un modelo, sin quitar el HTML de antemano.

Dos fuentes para cada oferta. Aproximadamente la mitad de las ofertas vigentes no publican ningún dato estructurado. Estas se leen del marcado de la página, por lo que se obtienen con título, empresa, ubicación y descripción, en lugar de devolverlas medio productoras. El campo parseStatus te indica qué tipo de fila tienes.

Las ofertas vencidas se omiten y no se facturan. Aproximadamente una parte del índice de la plataforma apunta a puestos cerrados. Se cobra en los empleos que en realidad recibes, no en enlaces rotos.

Feed, no solo una instantánea. El modo delta recuerda lo que ya ha devuelto, por lo que una ejecución programada te aporta únicamente ofertas nuevas.

Recetas

Aún size no hay ejemplos de página de Store publicados para este Actor. Los cuatro scripts anteriores cubren lo esencial: una búsqueda de empleo filtrada, el directorio de empleadores, el índice económico de empleo y el feed delta.

Consejo de programación. Guardiza tu entrada como tarea en la Apify Console, activa newJobsOnly, y encuentra la cifración diaria o semanal. Desde entonces, el conjunto de cualidades solo contiene ofertas que aparecen desde la última vez para que el pipelina en todo momento sin que nadie lo toque.

Ejemplos de uso

Básico, igual que la ejecución por defecto:

{
  "keywords": ["nurse", "registered nurse"],
  "location": "TX",
  "employmentType": "FULL_TIME",
  "postedAfter": "2026-01-01",
  "descriptionFormat": "markdown",
  "maxItems": 10
}

Avanzado: una búsqueda experimentada en modo remoto que omite agencias de empleo y devuelve todas las descripciones en todos los formatos:

{
  "keywords": ["software engineer"],
  "remoteOnly": true,
  "excludeCompanies": ["someagency"],
  "descriptionFormat": "all",
  "maxConcurrency": 25,
  "maxItems": 100
}

Parámetros de entrada

Todos los parámetros son opcionales.

Parámetro

Tipo

Por defecto

Descripción

Predeterminado

Tipo

Por defecto

Descripción

startUrls

array

vacío

Especiales de empresa como https://company.applytojob.com, o URLs de ofertas individuales. Vacío busca a todos los empleadores.

keywords

array

vacío

Palabras del título a mantener. Se aplican antes de abrir una oferta, de modo que también reducen el coste de la ejecución.

outputMode

string

jobs

jobs para registros completos, urlsOnly para el índice, companiesOnly para el directorio de empresas.

descriptionFormat

string

markdown

markdown, html, text or all.

companies

array

vacío

Incluye solo estos slugs. Para acme.applytojob.com, el slug es acme.

excludeCompanies

array

vacío

Omitir estos slugs.

location

string

vacío

Coincide con texto en ciudad, province, código postal o país.

employmentType

string

ANY

FULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN, OTHER.

remoteOnly

boolean

false

Conservar solo empleos remotos.

postedAfter

string

vacío

YYYY-MM-DD. Usa la fecha real de publicación del empleador.

maxItems

integer

100

Límite de filas. La plataforma tiene más de 100.000 ofertas llenas, por lo que este valor limita una primera ejecución.

newJobsOnly

boolean

false

Devolver solo ofertas que no se hayan en una ejecución anterior.

firstDataRun

string

emitAll

En primera ejecución delta, devolver todo o registar solo lo que existe.

deltaStoreName

string

jazzhr-seen-jobs

Almacén con un nombre que conserva los IDs de oferta.

maxConcurrency

integer

10

Lecturas paralelas de páginas, hasta 25.

proxyConfiguration

objeto

directo

Ajustes opcionales del proxy de Apify.

Formato de salida

Un registro de empleo completo:

{
  "id": "job_20260617184930_ZL9U2ROWTQWMZDDD",
  "jobId": "vMHpWDZa3l",
  "title": "Account Executive",
  "companyName": "Ease Inc",
  "companySlug": "easeinc",
  "companyWebsite": "http://www.ease.io",
  "boardUrl": "https://easeinc.applytojob.com",
  "applyUrl": "https://easeinc.applytojob.com/apply/vMHpWDZa3l/Account-Executive",
  "canonicalUrl": "https://careers.easeinc.com/apply/vMHpWDZa3l/Account-Executive",
  "city": "Irvine",
  "region": "CA",
  "postalCode": "92618",
  "country": "US",
  "locationText": "Irvine, CA, US",
  "isRemote": true,
  "employmentType": "FULL_TIME",
  "experienceLevel": "Mid Level",
  "datePosted": "2026-06-17",
  "validThrough": "2026-09-15",
  "descriptionMarkdown": "Ease is hiring an Account Executive...",
  "parseStatus": "full",
  "scrapedAt": "2026-08-24T18:22:04Z"
}

El directorio de empleadores devuelve una fila más corta:

{
  "companySlug": "10pearls",
  "boardUrl": "https://10pearls.applytojob.com",
  "jobCount": 21,
  "sampleJobTitles": ["AI Solutions Architect", "Associate Account Executive Intern"],
  "scrapedAt": "2026-08-24T18:22:04Z"
}

La gente también busca

¿Esto es un scraper de JazzHR?

Presentó significa de manera similar a la de un scraper, pero lo que obtienes es una API: JSON estructurado, filtros, nombres de campo estables y sin HTML a menos que lo pidas. Si has estado en un intento de usar ofertas de trabajo por tu cuenta, esta es la version en la que alguien más mantiene el analizador.

¿Qué es applytojob.com?

Es el dominio donde JazzHR aloja las páginas de empleo de sus clientes. Una empresa que la usa para contratar obtiene un portal en company.applytojob.com; también proviene del mismo. Por eso mucha gente la consulta after postularse un trabajo en.

¿Cómo encuentro empresas que usan JazzHR?

Configura outputMode con companiesOnly. Obtendrás una fila por empresa, con su URL de portal y un recuento actual de vacantes. El script --example companies hace exactamente eso.

¿Cómo uso la API de JazzHR desde Python?

Clona el repositorio, ejecuta uv sync, copia tu token de Apify en .env y ejecuta el ejemplo. La función rows() demuestra el patrón completo: llama al Actor y luego itera el dataset.

¿Puedo o ejecutar programada o mediante MCP?

Ambas. Guarda la entrada como Task en la Apify Console y configúrala (siempre mejor con newJobsOnly). Para MCP, las secciones de instalación siguientes agregan este Actor como herramienta en Claude, Cursor o ChatGPT.

Instalar en Claude Cowork Desktop

Instalar en Claude Cowork Desktop

Cowork es el modo de automatización de la aplicación de escritorio. Para añadir la JazzHR Jobs API como herramienta, agrega el servidor MCP de Apify como conector.

  1. Abra la aplicación de escritorio de Claude y vaya a Configuración → Conectores (o Configuración → Desarrollo → Editar configuración para editar el archivo claude_desktop_config.json directamente).

    • macOS: Configuración ~/library/Application Support/Claude/claude_desktop_config.json.

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. Añade el servidor MCP de Apify, precargado solo con este Actor:

{
  "mcpServers": {
    "apify": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.apify.com/?tools=actors,docs,johnvc/jazzhr-jobs-api"
      ]
    }
  }
}
  1. Reinicia la aplicación. La primera vez que Cowork invoque la herramienta, completa la solicitud de OAuth en tu navegador, o añade tu token de API de Apify en la configuración del conector para omitirla.

  2. En un chat de Cowork, confirma que la herramienta está disponible y pide al Asistente que ejecute la JazzHR Jobs API.

Descarga la aplicación de escritorio y empieza la prueba gratuita: https://claude.ai/referral/uIlpa7nPLg Más ayuda: https://docs.apify.com/platform/integrations/claude-desktop


Instalar en Claude Code

Instalar en Claude Code

Claude Code es la herramienta de línea de comandos. Añade el servidor MCP del Actor con un solo comando:

claude mcp add --transport http apify \
  "https://mcp.apify.com/?tools=actors,docs,johnvc/jazzhr-jobs-api"

Para usar un token en lugar de OAuth del navegador:

claude mcp add --transport http apify \
  "https://mcp.apify.com/?tools=actors,docs,johnvc/jazzhr-jobs-api" \
  --header "Authorization: Bearer YOUR_APIFY_TOKEN"

Luego verifica con claude mcp list o ejecuta /mcp dentro de una sesión. Pídele a Claude Code que llame a la JazzHR Jobs API.

Prueba Claude Code gratis: https://claude.ai/referral/uIlpa7nPLg Documentación MCP de Claude Code: https://code.claude.com/docs/en/mcp


Instalar en Claude (web)

Instalar en Claude (web)

En claude.ai agrega Apify como conector y luego activa la herramienta de este Actor.

  1. Ve a Configuración → Conectores → Explorar conectores y busca Apify MCP server. Instálalo (actívalo o actualízalo si te lo pide).

  2. Conéctate autenticándote con tu token de API de Apify y activa la herramienta johnvc/jazzhr-jobs-api.

  3. En cualquier chat, abre + → Conectores y activa Apify.

  4. Alternativamente, elige Añadir conector personalizado y pega la URL MCP completa https://mcp.apify.com/?tools=actors,docs,johnvc/jazzhr-jobs-api, usando OAuth cuando te lo pida.

  5. Pídele a Claude que ejecute JazzHR Jobs API.

Abre Claude en la web: https://claude.ai


Instalar en Cursor

Instalar en Cursor

Cursor lee los servidores MCP de un archivo de proyecto en .cursor/mcp.json.

  1. En tu proyecto, crea .cursor/mcp.json:

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com/?tools=actors,docs,johnvc/jazzhr-jobs-api"
    }
  }
}
  1. Si prefieres la autenticación con token en lugar de OAuth en el navegador, añade una cabecera:

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com/?tools=actors,docs,johnvc/jazzhr-jobs-api",
      "headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }
    }
  }
}
  1. Abre Cursor → Configuración → MCP y confirma que el servidor apify está conectado (punto verde).

  2. En Composer o Chat, pide a Cursor que ejecute JazzHR Jobs API.

¿Nuevo en Cursor? Obténlo aquí: https://cursor.com/referral?code=XQP4VBLI3NNX


Instalar en ChatGPT

Instalar MCP en ChatGPT

ChatGPT se conecta al servidor MCP de Apify a través del modo de desarrollador (disponible en los planes ChatGPT Pro, Plus, Business, Enterprise y Education).

  1. Haz clic en el icono de tu perfil y ve a Configuración > Apps. Si no ves un botón Crear app, abre Configuración avanzada y activa el modo de desarrollador.

  2. Haz clic en Crear app y rellena el formulario:

    • Nombre: Apify

    • URL del servidor MCP: https://mcp.apify.com/?tools=actors,docs,johnvc/jazzhr-jobs-api

    • Autenticación: OAuth

  3. Haz clic en Crear y autoriza la conexión con Apify.

  4. Para usar la app en una conversación, haz clic en + en el chat, elige modo de desarrollador y selecciona Apify.

Para más ayuda: https://docs.apify.com/platform/integrations/mcp


Creado con esmero por johnvc en Apify.

Última actualización: 2026.08.24

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Search a live index of millions of open jobs from employer career sites and 100+ ATS platforms.

  • Live job postings from 30+ ATS feeds and job boards, one schema. Live results need a Bearer key.

  • Semantic search over 3.5M+ live US job postings pulled straight from company ATSes. Read-only.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/johnisanerd/Apify-JazzHR-Jobs-API'

If you have feedback or need assistance with the MCP directory API, please join our Discord server