JazzHR Jobs API
💼 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.
Actor: JazzHR Jobs API on Apify
Esquema de entrada: parámetros de entrada
Obtén un token gratuito de Apify API: apify.com
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.

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.pyCada 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 allCada 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 |
| array | vacío | Especiales de empresa como |
| 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. |
| string |
|
|
| string |
|
|
| array | vacío | Incluye solo estos slugs. Para |
| array | vacío | Omitir estos slugs. |
| string | vacío | Coincide con texto en ciudad, province, código postal o país. |
| string |
|
|
| boolean |
| Conservar solo empleos remotos. |
| string | vacío |
|
| integer |
| Límite de filas. La plataforma tiene más de 100.000 ofertas llenas, por lo que este valor limita una primera ejecución. |
| boolean |
| Devolver solo ofertas que no se hayan en una ejecución anterior. |
| string |
| En primera ejecución delta, devolver todo o registar solo lo que existe. |
| string |
| Almacén con un nombre que conserva los IDs de oferta. |
| integer |
| Lecturas paralelas de páginas, hasta 25. |
| 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

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.
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.jsondirectamente).macOS: Configuración
~/library/Application Support/Claude/claude_desktop_config.json.Windows:
%APPDATA%\Claude\claude_desktop_config.json
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"
]
}
}
}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.
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

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)

En claude.ai agrega Apify como conector y luego activa la herramienta de este Actor.
Ve a Configuración → Conectores → Explorar conectores y busca Apify MCP server. Instálalo (actívalo o actualízalo si te lo pide).
Conéctate autenticándote con tu token de API de Apify y activa la herramienta
johnvc/jazzhr-jobs-api.En cualquier chat, abre + → Conectores y activa Apify.
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.Pídele a Claude que ejecute JazzHR Jobs API.
Abre Claude en la web: https://claude.ai
Instalar en Cursor

Cursor lee los servidores MCP de un archivo de proyecto en .cursor/mcp.json.
En tu proyecto, crea
.cursor/mcp.json:
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=actors,docs,johnvc/jazzhr-jobs-api"
}
}
}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" }
}
}
}Abre Cursor → Configuración → MCP y confirma que el servidor apify está conectado (punto verde).
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

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).
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.
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-apiAutenticación: OAuth
Haz clic en Crear y autoriza la conexión con Apify.
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
This server cannot be installed
Maintenance
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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